Mercurial > p > roundup > code
changeset 7203:12a3cd86668f
auto update 'password_pbkdf2_default_rounds' "
If the current value for password_pbkdf2_default_rounds is the old
default value of 10000, updateconfig will use the new default
value when writing the new config.
If the curreny value for password_pbkdf2_default_rounds is less than
the new default the user will be told to update the value.
New translation strings added. Updates to upgrading.txt doc.
| author | John Rouillard <rouilj@ieee.org> |
|---|---|
| date | Wed, 01 Mar 2023 10:51:37 -0500 |
| parents | b222658a3504 |
| children | ccb0e566e0be |
| files | doc/upgrading.txt 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/roundup.pot locale/ru.po locale/zh_CN.po locale/zh_TW.po roundup/admin.py |
| diffstat | 14 files changed, 2578 insertions(+), 2351 deletions(-) [+] |
line wrap: on
line diff
--- a/doc/upgrading.txt Wed Mar 01 10:43:54 2023 -0500 +++ b/doc/upgrading.txt Wed Mar 01 10:51:37 2023 -0500 @@ -66,6 +66,9 @@ ``config.ini`` to ``newconfig.ini`` and replace ``config.ini`` with ``newconfig.ini``. +``updateconfig`` will tell you if it is changing old default +values or if a value must be changed manually. + Using the roundup-mailgw script (required) ------------------------------------------ @@ -191,6 +194,11 @@ million). This exceeds the current `recommended setting of 1,300,000`_ for PBKDF2 when used with SHA1. +If you were using the old 10000 value, it will be automatically +upgraded to 2 million by using ``roundup-admin``'s +``updateconfig``. If you were not using the old 10000 default, +you should update it manually. + After the change users will still be able to log in using the older 10000 round hashed passwords. If ``migrate_passwords`` is set to ``yes``, passwords will be automatically re-hashed using
--- a/locale/de.po Wed Mar 01 10:43:54 2023 -0500 +++ b/locale/de.po Wed Mar 01 10:51:37 2023 -0500 @@ -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: 2022-11-23 22:28-0500\n" +"POT-Creation-Date: 2023-03-01 10:35-0500\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" @@ -26,23 +26,23 @@ "Sie sind nicht berechtigt, die Aktion(en) %(action)s auf die Klasse " "%(classname)s anzuwenden." -#: ../roundup/actions.py:64 ../roundup/cgi/actions.py:240 +#: ../roundup/actions.py:65 ../roundup/cgi/actions.py:240 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:106 ../roundup/admin.py:1259 ../roundup/admin.py:1314 -#: ../roundup/admin.py:1341 ../roundup/admin.py:106:1259 :1314:1341 +#: ../roundup/admin.py:112 ../roundup/admin.py:1295 ../roundup/admin.py:1350 +#: ../roundup/admin.py:1377 ../roundup/admin.py:112:1295 :1350:1377 #, python-format msgid "no such class \"%(classname)s\"" msgstr "Die Klasse \"%(classname)s\" existiert nicht" # ../roundup/admin.py:93 :97 -#: ../roundup/admin.py:118 +#: ../roundup/admin.py:124 #, python-format msgid "argument \"%(arg)s\" not propname=value" msgstr "Der Parameter \"%(arg)s\" entspricht nicht dem Format Eigenschaft=Wert" -#: ../roundup/admin.py:131 +#: ../roundup/admin.py:137 #, python-format msgid "" "Problem: %(message)s\n" @@ -51,7 +51,7 @@ "Problem: %(message)s\n" "\n" -#: ../roundup/admin.py:132 +#: ../roundup/admin.py:138 #, fuzzy, python-format msgid "" "%(message)sUsage: roundup-admin [options] [<command> <arguments>]\n" @@ -100,12 +100,12 @@ " roundup-admin help <Befehl> -- Hilfe zu einem Befehl anzeigen\n" " roundup-admin help all -- sämtliche Hilfen anzeigen\n" -#: ../roundup/admin.py:159 +#: ../roundup/admin.py:165 #, fuzzy msgid "Commands: " msgstr "Befehle:" -#: ../roundup/admin.py:166 +#: ../roundup/admin.py:172 msgid "" "Commands may be abbreviated as long as the abbreviation\n" "matches only one command, e.g. l == li == lis == list." @@ -113,7 +113,8 @@ "Befehle können abgekürzt werden, solange sie eindeutig bleiben, \n" "z.B. l == li == lis == list." -#: ../roundup/admin.py:195 +#: ../roundup/admin.py:201 +#, fuzzy msgid "" "\n" "All commands (except help) require a tracker specifier. This is just\n" @@ -165,7 +166,7 @@ " . ROUNDUP_LOGIN environment variable\n" " . the -u command-line option\n" "If either the name or password is not supplied, they are obtained from the\n" -"command-line.\n" +"command-line. (See admin guide before using -u.)\n" "\n" "Date format examples:\n" " \"2000-04-17.03:45\" means <Date 2000-04-17.08:45:00>\n" @@ -239,12 +240,12 @@ "\n" "Befehlshilfe:\n" -#: ../roundup/admin.py:258 +#: ../roundup/admin.py:264 #, python-format msgid "%s:" msgstr "%s:" -#: ../roundup/admin.py:265 +#: ../roundup/admin.py:271 msgid "" "Usage: help topic\n" " Give help about topic.\n" @@ -264,22 +265,22 @@ " all -- sämtlichen Hilfetext anzeigen\n" " " -#: ../roundup/admin.py:287 +#: ../roundup/admin.py:293 #, 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:402 ../roundup/admin.py:458 ../roundup/admin.py:402:458 +#: ../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:405 ../roundup/admin.py:468 ../roundup/admin.py:405:468 +#: ../roundup/admin.py:411 ../roundup/admin.py:474 ../roundup/admin.py:411:474 msgid "Back ends:" msgstr "Datenbanken:" -#: ../roundup/admin.py:408 +#: ../roundup/admin.py:414 msgid "" "Usage: install [template [backend [key=val[,key=val]]]]\n" " Install a new Roundup tracker.\n" @@ -334,23 +335,23 @@ # ../roundup/admin.py:358 :483 :562 :612 :682 :703 :731 :802 :869 :940 :988 # :1010 :1037 :1098 :1156 -#: ../roundup/admin.py:431 ../roundup/admin.py:562 ../roundup/admin.py:635 -#: ../roundup/admin.py:728 ../roundup/admin.py:786 ../roundup/admin.py:872 -#: ../roundup/admin.py:931 ../roundup/admin.py:958 ../roundup/admin.py:985 -#: ../roundup/admin.py:1062 ../roundup/admin.py:1157 ../roundup/admin.py:1243 -#: ../roundup/admin.py:1304 ../roundup/admin.py:1331 ../roundup/admin.py:1367 -#: ../roundup/admin.py:1495 ../roundup/admin.py:1579 -#: ../roundup/admin.py:431:562 :1157 :1243:1304 :1331:1367 :1495:1579 :635:728 -#: :786:872 :931:958 :985:1062 +#: ../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:437 +#: ../roundup/admin.py:443 #, python-format msgid "Instance home parent directory \"%(parent)s\" does not exist" msgstr "Das angegebene Tracker-Verzeichnis \"%(parent)s\" existiert nicht" -#: ../roundup/admin.py:446 +#: ../roundup/admin.py:452 #, python-format msgid "" "WARNING: There appears to be a tracker in \"%(tracker_home)s\"!\n" @@ -361,22 +362,22 @@ "installiert zu sein! Eine erneute Installation löscht sämtliche Daten!\n" "Wirklich löschen? Y/N: " -#: ../roundup/admin.py:459 +#: ../roundup/admin.py:465 #, fuzzy msgid "Select template" msgstr "Vorlagensatz auswählen [classic]:" -#: ../roundup/admin.py:469 +#: ../roundup/admin.py:475 #, fuzzy msgid "Select backend" msgstr "Datenbank auswählen [anydbm]" -#: ../roundup/admin.py:480 +#: ../roundup/admin.py:486 #, python-format msgid "Error in configuration settings: \"%s\"" msgstr "Fehler in der Konfiguration: \"%s\"" -#: ../roundup/admin.py:511 +#: ../roundup/admin.py:517 #, fuzzy, python-format msgid "" "\n" @@ -388,11 +389,11 @@ " Sie sollten nun die Konfigurationsdatei des Trackers bearbeiten:\n" " %(config_file)s" -#: ../roundup/admin.py:521 +#: ../roundup/admin.py:527 msgid " ... at a minimum, you must set following options:" msgstr " ... passen sie zumindest folgende Optionen an:" -#: ../roundup/admin.py:526 +#: ../roundup/admin.py:532 #, python-format msgid "" "\n" @@ -418,7 +419,7 @@ " Anschließend MÜSSEN Sie \"roundup-admin initialise\" ausführen.\n" "---------------------------------------------------------------------------\n" -#: ../roundup/admin.py:557 +#: ../roundup/admin.py:563 #, fuzzy msgid "" "Usage: genconfig <filename>\n" @@ -431,7 +432,22 @@ " Standardwerten in die Datei <filename>.\n" " " -#: ../roundup/admin.py:572 +#: ../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 #, fuzzy msgid "" "Usage: updateconfig <filename>\n" @@ -446,7 +462,7 @@ " " #. password -#: ../roundup/admin.py:580 +#: ../roundup/admin.py:612 msgid "" "Usage: initialise [adminpw]\n" " Initialise a new Roundup tracker.\n" @@ -464,23 +480,23 @@ " Die Funktion dbinit.init() wird aufgerufen\n" " " -#: ../roundup/admin.py:594 +#: ../roundup/admin.py:626 msgid "Admin Password: " msgstr "Administratorpasswort: " -#: ../roundup/admin.py:595 +#: ../roundup/admin.py:627 msgid " Confirm: " msgstr " Wiederholen: " -#: ../roundup/admin.py:599 +#: ../roundup/admin.py:631 msgid "Instance home does not exist" msgstr "Tracker-Verzeichnis existiert nicht" -#: ../roundup/admin.py:603 +#: ../roundup/admin.py:635 msgid "Instance has not been installed" msgstr "Tracker-Instanz wurde nicht installiert" -#: ../roundup/admin.py:609 +#: ../roundup/admin.py:641 msgid "" "WARNING: The database is already initialised!\n" "If you re-initialise it, you will lose all the data!\n" @@ -490,7 +506,7 @@ "Eine erneute Initialisierung löscht sämtliche Daten!\n" "Wirklich löschen? Y/N: " -#: ../roundup/admin.py:625 +#: ../roundup/admin.py:661 #, fuzzy msgid "" "Usage: get property designator[,designator]*\n" @@ -511,7 +527,7 @@ " " # ../roundup/admin.py:516 :531 -#: ../roundup/admin.py:669 ../roundup/admin.py:687 ../roundup/admin.py:669:687 +#: ../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 "" @@ -519,21 +535,21 @@ "hier nicht ausgewertet." # ../roundup/admin.py:539 :951 :1000 :1022 -#: ../roundup/admin.py:697 ../roundup/admin.py:1261 ../roundup/admin.py:1316 -#: ../roundup/admin.py:697:1261:1316 +#: ../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 "" "Es existiert kein Eintrag der Klasse %(classname)s mit der ID \"%(nodeid)s\"" -#: ../roundup/admin.py:700 +#: ../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:708 +#: ../roundup/admin.py:744 #, fuzzy msgid "" "Usage: set items property=value property=value ...\n" @@ -570,7 +586,7 @@ "(\"1,2,3\").\n" " " -#: ../roundup/admin.py:776 +#: ../roundup/admin.py:812 #, fuzzy msgid "" "Usage: filter classname propname=value ...\n" @@ -592,20 +608,20 @@ " " # ../roundup/admin.py:631 :669 :822 :834 :888 -#: ../roundup/admin.py:819 +#: ../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:857 ../roundup/admin.py:918 ../roundup/admin.py:1082 -#: ../roundup/admin.py:1094 ../roundup/admin.py:1177 -#: ../roundup/admin.py:857:918 :1082:1094:1177 +#: ../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:864 +#: ../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" @@ -623,7 +639,7 @@ " als ID oder als Bezeichner (\"msg23\") spezifiziert werden.\n" " " -#: ../roundup/admin.py:925 +#: ../roundup/admin.py:961 msgid "" "Usage: specification classname\n" " Show the properties for a classname.\n" @@ -637,17 +653,17 @@ " Zeigt sämtliche Eigenschaften der Klasse auf.\n" " " -#: ../roundup/admin.py:941 +#: ../roundup/admin.py:977 #, fuzzy, python-format msgid "%(key)s: %(value)s (key property)\n" msgstr "%(key)s: %(value)s (Schlüsseleigenschaft)" -#: ../roundup/admin.py:944 +#: ../roundup/admin.py:980 #, fuzzy, python-format msgid "%(key)s: %(value)s\n" msgstr "%(key)s: %(value)s" -#: ../roundup/admin.py:947 +#: ../roundup/admin.py:983 #, fuzzy msgid "" "Usage: display designator[,designator]*\n" @@ -668,12 +684,12 @@ " gewählten Eintrags an.\n" " " -#: ../roundup/admin.py:974 +#: ../roundup/admin.py:1010 #, python-format msgid "%(key)s: %(value)s" msgstr "%(key)s: %(value)s" -#: ../roundup/admin.py:977 +#: ../roundup/admin.py:1013 msgid "" "Usage: create classname property=value ...\n" " Create a new entry of a given class.\n" @@ -691,31 +707,31 @@ " werden mit den Werten initialisiert\n" " " -#: ../roundup/admin.py:1005 +#: ../roundup/admin.py:1041 #, python-format msgid "%(propname)s (Password): " msgstr "%(propname)s (Passwort):" -#: ../roundup/admin.py:1008 +#: ../roundup/admin.py:1044 #, python-format msgid " %(propname)s (Again): " msgstr " %(propname)s (Wiederholen):" -#: ../roundup/admin.py:1012 +#: ../roundup/admin.py:1048 msgid "Sorry, try again..." msgstr "Bitte erneut versuchen..." -#: ../roundup/admin.py:1016 +#: ../roundup/admin.py:1052 #, python-format msgid "%(propname)s (%(proptype)s): " msgstr "%(propname)s (%(proptype)s): " -#: ../roundup/admin.py:1035 +#: ../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:1047 +#: ../roundup/admin.py:1083 msgid "" "Usage: list classname [property]\n" " List the instances of a class.\n" @@ -746,16 +762,16 @@ "aufgelistet.\n" " " -#: ../roundup/admin.py:1060 +#: ../roundup/admin.py:1096 msgid "Too many arguments supplied" msgstr "Sie haben zuviele Argumente übergeben" -#: ../roundup/admin.py:1096 +#: ../roundup/admin.py:1132 #, python-format msgid "%(nodeid)4s: %(value)s" msgstr "%(nodeid)4s: %(value)s" -#: ../roundup/admin.py:1100 +#: ../roundup/admin.py:1136 msgid "" "Usage: templates [trace_search]\n" " List templates and their installed directories.\n" @@ -765,7 +781,7 @@ " " msgstr "" -#: ../roundup/admin.py:1128 +#: ../roundup/admin.py:1164 msgid "" "Usage: table classname [property[,property]*]\n" " List the instances of a class in tabular form.\n" @@ -828,17 +844,17 @@ "\n" " " -#: ../roundup/admin.py:1172 +#: ../roundup/admin.py:1208 #, python-format msgid "\"%(spec)s\" not name:width" msgstr "\"%(spec)s\" entspricht nicht dem Format Eigenschaft:Breite" -#: ../roundup/admin.py:1194 +#: ../roundup/admin.py:1230 #, python-format msgid "\"%(spec)s\" does not have an integer width: \"%(width)s\"" msgstr "" -#: ../roundup/admin.py:1230 +#: ../roundup/admin.py:1266 msgid "" "Usage: history designator [skipquiet]\n" " Show the history entries of a designator.\n" @@ -853,7 +869,7 @@ " " msgstr "" -#: ../roundup/admin.py:1266 +#: ../roundup/admin.py:1302 msgid "" "Usage: commit\n" " Commit changes made to the database during an interactive session.\n" @@ -878,7 +894,7 @@ " geschrieben.\n" " " -#: ../roundup/admin.py:1281 +#: ../roundup/admin.py:1317 msgid "" "Usage: rollback\n" " Undo all changes that are pending commit to the database.\n" @@ -897,7 +913,7 @@ " verworfen.\n" " " -#: ../roundup/admin.py:1294 +#: ../roundup/admin.py:1330 #, fuzzy msgid "" "Usage: retire designator[,designator]*\n" @@ -918,7 +934,7 @@ " kann zudem wiederverwendet werden.\n" " " -#: ../roundup/admin.py:1322 +#: ../roundup/admin.py:1358 #, fuzzy msgid "" "Usage: restore designator[,designator]*\n" @@ -938,14 +954,14 @@ " " # ../roundup/admin.py:539 :951 :1000 :1022 -#: ../roundup/admin.py:1347 +#: ../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:1353 +#: ../roundup/admin.py:1389 msgid "" "Usage: export [[-]class[,class]] export_dir\n" " Export the database to colon-separated-value files.\n" @@ -974,7 +990,7 @@ " Exportverzeichnis geschrieben.\n" " " -#: ../roundup/admin.py:1460 +#: ../roundup/admin.py:1496 msgid "" "Usage: exporttables [[-]class[,class]] export_dir\n" " Export the database to colon-separated-value files, excluding the\n" @@ -1005,7 +1021,7 @@ " Exportverzeichnis geschrieben.\n" " " -#: ../roundup/admin.py:1475 +#: ../roundup/admin.py:1511 msgid "" "Usage: import import_dir\n" " Import a database from the directory containing CSV files,\n" @@ -1049,7 +1065,7 @@ " verbergen).\n" " " -#: ../roundup/admin.py:1554 +#: ../roundup/admin.py:1590 msgid "" "Usage: importtables export_dir\n" "\n" @@ -1057,7 +1073,7 @@ " " msgstr "" -#: ../roundup/admin.py:1561 +#: ../roundup/admin.py:1597 msgid "" "Usage: pack period | date\n" "\n" @@ -1096,11 +1112,11 @@ "\n" " " -#: ../roundup/admin.py:1589 +#: ../roundup/admin.py:1625 msgid "Invalid format" msgstr "Ungültiges Format" -#: ../roundup/admin.py:1602 +#: ../roundup/admin.py:1638 msgid "" "Usage: reindex [classname|designator]*\n" " Re-generate a tracker's search indexes.\n" @@ -1116,12 +1132,12 @@ " normalerweise automatisch.\n" " " -#: ../roundup/admin.py:1616 +#: ../roundup/admin.py:1652 #, python-format msgid "no such item \"%(designator)s\"" msgstr "Der Eintrag \"%(designator)s\" existiert nicht" -#: ../roundup/admin.py:1626 +#: ../roundup/admin.py:1662 #, fuzzy msgid "" "Usage: security [Role name]\n" @@ -1133,48 +1149,48 @@ " Zeigt die Berechtigungen einer oder aller Rollen an.\n" " " -#: ../roundup/admin.py:1635 +#: ../roundup/admin.py:1671 #, fuzzy, python-format msgid "No such Role \"%(role)s\"\n" msgstr "Die Rolle \"%(role)s\" existiert nicht " -#: ../roundup/admin.py:1641 +#: ../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:1644 +#: ../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:1648 +#: ../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:1650 +#: ../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:1653 +#: ../roundup/admin.py:1689 #, fuzzy, python-format msgid "Role \"%(name)s\":\n" msgstr "Rolle \"%(name)s\":" -#: ../roundup/admin.py:1659 +#: ../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:1659 +#: ../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:1672 +#: ../roundup/admin.py:1708 #, python-format msgid "" "\n" @@ -1182,17 +1198,17 @@ "\n" msgstr "" -#: ../roundup/admin.py:1678 +#: ../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:1681 +#: ../roundup/admin.py:1717 #, fuzzy, python-format msgid " %(description)s (%(name)s)\n" msgstr " %(description)s (%(name)s)" -#: ../roundup/admin.py:1685 +#: ../roundup/admin.py:1721 #, fuzzy msgid "" "Usage: migrate\n" @@ -1236,42 +1252,42 @@ " es nicht nötig ist; also gewöhnen Sie es sich einfach an.\n" " " -#: ../roundup/admin.py:1706 +#: ../roundup/admin.py:1742 msgid "Tracker updated" msgstr "Tracker aktualisiert" -#: ../roundup/admin.py:1709 +#: ../roundup/admin.py:1745 msgid "No migration action required" msgstr "Keine Migration notwendig" -#: ../roundup/admin.py:1735 +#: ../roundup/admin.py:1771 #, 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:1741 +#: ../roundup/admin.py:1777 #, python-format msgid "Multiple commands match \"%(command)s\": %(list)s" msgstr "Zur Abkürzung \"%(command)s\" passen mehrere Befehle: %(list)s" -#: ../roundup/admin.py:1750 +#: ../roundup/admin.py:1786 msgid "Enter tracker home: " msgstr "Tracker-Verzeichnis: " # ../roundup/admin.py:1263 :1269 :1289 -#: ../roundup/admin.py:1759 ../roundup/admin.py:1765 ../roundup/admin.py:1802 -#: ../roundup/admin.py:1759:1765:1802 +#: ../roundup/admin.py:1795 ../roundup/admin.py:1801 ../roundup/admin.py:1838 +#: ../roundup/admin.py:1795:1801:1838 #, python-format msgid "Error: %(message)s" msgstr "Fehler: %(message)s" -#: ../roundup/admin.py:1775 ../roundup/admin.py:1779 -#: ../roundup/admin.py:1775:1779 +#: ../roundup/admin.py:1811 ../roundup/admin.py:1815 +#: ../roundup/admin.py:1811:1815 #, 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:1815 +#: ../roundup/admin.py:1851 #, python-format msgid "" "Roundup %s ready for input.\n" @@ -1280,19 +1296,15 @@ "Roundup %s ist bereit.\n" "Schreiben Sie \"help\", um zur Hilfe zu gelangen." -#: ../roundup/admin.py:1820 +#: ../roundup/admin.py:1856 msgid "Note: command history and editing not available" msgstr "Bemerkung: Befehlsverlauf/-bearbeitung möglicherweise nicht verfügbar" -#: ../roundup/admin.py:1824 -msgid "roundup> " -msgstr "roundup> " - -#: ../roundup/admin.py:1826 +#: ../roundup/admin.py:1862 msgid "exit..." msgstr "beenden..." -#: ../roundup/admin.py:1839 +#: ../roundup/admin.py:1875 msgid "There are unsaved changes. Commit them (y/N)? " msgstr "Es gibt noch ungespeicherte Änderungen. Änderungen speichern (y/N)?" @@ -1404,20 +1416,22 @@ msgid "restored" msgstr "wiederhergestellt" -#: ../roundup/backends/sessions_redis.py:76 -#: ../roundup/backends/sessions_redis.py:95 -#: ../roundup/backends/sessions_redis.py:76:95 +#: ../roundup/backends/sessions_redis.py:78 +#: ../roundup/backends/sessions_redis.py:97 +#: ../roundup/backends/sessions_redis.py:78:97 #, python-format msgid "Key %(key)s not found in %(name)s database." msgstr "" -#: ../roundup/backends/sessions_redis.py:191 +#: ../roundup/backends/sessions_redis.py:193 #, python-format msgid "Key %(key)s changed in %(name)s db" msgstr "" -#: ../roundup/backends/sessions_redis.py:195 -msgid "Redis set failed afer 3 retries" +#: ../roundup/backends/sessions_redis.py:203 +#, python-format +msgid "" +"Redis set failed after %(retries)d retries for user %(user)s with key %(key)s" msgstr "" #: ../roundup/cgi/actions.py:97 @@ -1736,22 +1750,22 @@ msgid "Welcome %(username)s!" msgstr "" -#: ../roundup/cgi/actions.py:1383 ../roundup/cgi/actions.py:1387 -#: ../roundup/cgi/actions.py:1383:1387 +#: ../roundup/cgi/actions.py:1384 ../roundup/cgi/actions.py:1388 +#: ../roundup/cgi/actions.py:1384:1388 msgid "Invalid login" msgstr "Ungültiger Benutzername" -#: ../roundup/cgi/actions.py:1393 +#: ../roundup/cgi/actions.py:1394 msgid "You do not have permission to login" msgstr "Sie sind nicht berechtigt, sich anzumelden" -#: ../roundup/cgi/actions.py:1437 ../roundup/cgi/actions.py:1616 -#: ../roundup/cgi/actions.py:1437:1616 +#: ../roundup/cgi/actions.py:1439 ../roundup/cgi/actions.py:1618 +#: ../roundup/cgi/actions.py:1439:1618 #, python-format msgid "Column \"%(column)s\" not found in %(class)s" msgstr "" -#: ../roundup/cgi/actions.py:1687 +#: ../roundup/cgi/actions.py:1689 #, python-format msgid "You do not have permission to view %(class)s" msgstr "Sie sind nicht berechtigt, Einträge der Klasse \"%(class)s\" zu lesen" @@ -1857,147 +1871,148 @@ "Admistratoren wurden benachrichtigt.</p>\n" "</body></html>" -#: ../roundup/cgi/client.py:651 +#: ../roundup/cgi/client.py:670 ../roundup/cgi/client.py:1570 +#: ../roundup/cgi/client.py:670:1570 +msgid "Required Header Missing" +msgstr "" + +#: ../roundup/cgi/client.py:672 #, fuzzy msgid "Client is not allowed to use Rest Interface." msgstr "Gast-Benutzer sind nicht berechtigt, das Web-Interface zu benutzen." -#: ../roundup/cgi/client.py:895 +#: ../roundup/cgi/client.py:921 msgid "Form Error: " msgstr "Formular-Fehler: " -#: ../roundup/cgi/client.py:985 +#: ../roundup/cgi/client.py:1011 #, python-format msgid "Unrecognized charset: %r" msgstr "Zeichensatz nicht erkannt: %r" -#: ../roundup/cgi/client.py:1238 ../roundup/cgi/client.py:2196 -#: ../roundup/cgi/client.py:1238:2196 +#: ../roundup/cgi/client.py:1264 ../roundup/cgi/client.py:2250 +#: ../roundup/cgi/client.py:1264:2250 msgid "broken form: multiple @action values submitted" msgstr "" -#: ../roundup/cgi/client.py:1253 +#: ../roundup/cgi/client.py:1279 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:1376 +#: ../roundup/cgi/client.py:1430 msgid "Referer header not available." msgstr "" -#: ../roundup/cgi/client.py:1380 +#: ../roundup/cgi/client.py:1434 #, python-format msgid "csrf key used with wrong method from: %s" msgstr "" -#: ../roundup/cgi/client.py:1409 +#: ../roundup/cgi/client.py:1463 #, python-format msgid "csrf header %(header)s required but missing for user%(userid)s." msgstr "" -#: ../roundup/cgi/client.py:1413 +#: ../roundup/cgi/client.py:1467 #, python-format msgid "Missing header: %s" msgstr "" -#: ../roundup/cgi/client.py:1421 +#: ../roundup/cgi/client.py:1475 #, python-format msgid "csrf Referer header check failed for user%(userid)s. Value=%(referer)s" msgstr "" -#: ../roundup/cgi/client.py:1426 +#: ../roundup/cgi/client.py:1480 #, fuzzy, python-format msgid "Invalid Referer: %s" msgstr "Ungültiger Benutzername" -#: ../roundup/cgi/client.py:1441 +#: ../roundup/cgi/client.py:1495 #, python-format msgid "csrf Origin header check failed for user%(userid)s. Value=%(origin)s" msgstr "" -#: ../roundup/cgi/client.py:1446 +#: ../roundup/cgi/client.py:1500 #, fuzzy, python-format msgid "Invalid Origin %s" msgstr "Ungültiger Benutzername" -#: ../roundup/cgi/client.py:1460 +#: ../roundup/cgi/client.py:1514 #, python-format msgid "" "csrf X-FORWARDED-HOST header check failed for user%(userid)s. Value=%(host)s" msgstr "" -#: ../roundup/cgi/client.py:1466 +#: ../roundup/cgi/client.py:1520 #, python-format msgid "Invalid X-FORWARDED-HOST %s" msgstr "" -#: ../roundup/cgi/client.py:1485 +#: ../roundup/cgi/client.py:1539 #, python-format msgid "csrf HOST header check failed for user%(userid)s. Value=%(host)s" msgstr "" -#: ../roundup/cgi/client.py:1490 +#: ../roundup/cgi/client.py:1544 #, fuzzy, python-format msgid "Invalid HOST %s" msgstr "Ungültige Anforderung" -#: ../roundup/cgi/client.py:1498 +#: ../roundup/cgi/client.py:1552 msgid "Csrf: unable to verify sufficient headers" msgstr "" -#: ../roundup/cgi/client.py:1499 +#: ../roundup/cgi/client.py:1553 msgid "Unable to verify sufficient headers" msgstr "" -#: ../roundup/cgi/client.py:1513 +#: ../roundup/cgi/client.py:1567 #, python-format msgid "csrf X-REQUESTED-WITH xmlrpc required header check failed for user%s." msgstr "" -#: ../roundup/cgi/client.py:1516 -msgid "Required Header Missing" -msgstr "" - -#: ../roundup/cgi/client.py:1554 +#: ../roundup/cgi/client.py:1608 #, python-format msgid "Required csrf field missing for user%s" msgstr "" -#: ../roundup/cgi/client.py:1556 ../roundup/cgi/client.py:1583 -#: ../roundup/cgi/client.py:1600 ../roundup/cgi/client.py:1556:1583:1600 +#: ../roundup/cgi/client.py:1610 ../roundup/cgi/client.py:1637 +#: ../roundup/cgi/client.py:1654 ../roundup/cgi/client.py:1610:1637:1654 msgid "" "We can't validate your session (csrf failure). Re-enter any unsaved data and " "try again." msgstr "" -#: ../roundup/cgi/client.py:1560 +#: ../roundup/cgi/client.py:1614 #, python-format msgid "csrf field not supplied by user%s" msgstr "" -#: ../roundup/cgi/client.py:1572 +#: ../roundup/cgi/client.py:1626 #, 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:1590 +#: ../roundup/cgi/client.py:1644 #, 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:1784 +#: ../roundup/cgi/client.py:1838 msgid "You are not allowed to view this file." msgstr "Sie sind nicht berechtigt, diese Seite anzuzeigen." -#: ../roundup/cgi/client.py:2073 +#: ../roundup/cgi/client.py:2127 #, 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:2077 +#: ../roundup/cgi/client.py:2131 #, python-format msgid "" "%(starttag)sCache hits: %(cache_hits)d, misses %(cache_misses)d. Loading " @@ -2006,7 +2021,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:2615 +#: ../roundup/cgi/client.py:2669 #, python-format msgid "" "Cache failure: compressed file %(compressed)s is older than its source file " @@ -2406,28 +2421,28 @@ msgid "\"%s\" not a node designator" msgstr "\"%s\" ist kein gültiger Bezeichner" -#: ../roundup/hyperdb.py:1492 ../roundup/hyperdb.py:1500 -#: ../roundup/hyperdb.py:1492:1500 +#: ../roundup/hyperdb.py:1493 ../roundup/hyperdb.py:1501 +#: ../roundup/hyperdb.py:1493:1501 #, python-format msgid "Not a property name: %s" msgstr "Keine Eigenschaft: %s" -#: ../roundup/hyperdb.py:1977 +#: ../roundup/hyperdb.py:1978 #, 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:1983 +#: ../roundup/hyperdb.py:1984 #, 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:2018 +#: ../roundup/hyperdb.py:2019 #, fuzzy, python-format msgid "%(property)r is not a property of %(classname)s" msgstr "%r ist keine Eigenschaft von %s" -#: ../roundup/init.py:139 +#: ../roundup/init.py:141 #, python-format msgid "" "WARNING: directory '%s'\n" @@ -2732,7 +2747,7 @@ "Sie sich an %(mailadmin)s und bitten Sie um Korrektur der\n" "fehlerhaften Eigenschaften: %(errors)s\n" -#: ../roundup/mailgw.py:1820 +#: ../roundup/mailgw.py:1821 #, fuzzy, python-format msgid "" "\n" @@ -2759,19 +2774,19 @@ msgid "Invalid attribute %s" msgstr "Ungültiger Benutzername" -#: ../roundup/rest.py:2078 +#: ../roundup/rest.py:2090 #, python-format msgid "Api rate limits exceeded. Please wait: %s seconds." msgstr "" -#: ../roundup/rest.py:2113 +#: ../roundup/rest.py:2125 #, python-format msgid "" "Unable to parse Accept Header. %(error)s. Acceptable types: " "%(acceptable_types)s" msgstr "" -#: ../roundup/rest.py:2262 +#: ../roundup/rest.py:2305 #, python-format msgid "" "Unrecognized api version: %s. See /rest without specifying api version for " @@ -2901,27 +2916,27 @@ msgid "No tracker templates found in directory %s" msgstr "Keine Tracker-Vorlage gefunden im Verzeichnis %s" -#: ../roundup/scripts/roundup_mailgw.py:185 +#: ../roundup/scripts/roundup_mailgw.py:182 msgid "" "\n" "Error: The instance home must be specified" msgstr "" -#: ../roundup/scripts/roundup_mailgw.py:203 +#: ../roundup/scripts/roundup_mailgw.py:200 #, fuzzy msgid "" "\n" "Error: not enough source specification information" msgstr "Sie haben nicht genügend Angaben zur E-Mail-Quelle gemacht" -#: ../roundup/scripts/roundup_mailgw.py:234 +#: ../roundup/scripts/roundup_mailgw.py:231 #, fuzzy, python-format msgid "" "\n" "Error: %s specification not valid" msgstr "Fehler: %s-Optionen ungültig" -#: ../roundup/scripts/roundup_mailgw.py:258 +#: ../roundup/scripts/roundup_mailgw.py:254 #, fuzzy msgid "" "\n" @@ -2935,7 +2950,7 @@ msgid "WARNING: generating temporary SSL certificate" msgstr "WARNUNG: erzeuge temporäres SSL-Zertifikat" -#: ../roundup/scripts/roundup_server.py:329 +#: ../roundup/scripts/roundup_server.py:331 msgid "" "<html><head><title>Roundup trackers index</title></head>\n" "<body><h1>Roundup trackers index</h1><ol>\n" @@ -2943,62 +2958,62 @@ "<html><head><title>Roundup Tracker-Liste</title></head>\n" "<body><h1>Roundup Tracker-Liste</h1><ol>\n" -#: ../roundup/scripts/roundup_server.py:549 +#: ../roundup/scripts/roundup_server.py:551 #, fuzzy, python-format msgid "Error: %(type)s: %(value)s" msgstr "%(key)s: %(value)s" -#: ../roundup/scripts/roundup_server.py:561 +#: ../roundup/scripts/roundup_server.py:563 msgid "WARNING: ignoring \"-g\" argument, not root" msgstr "" "WARNUNG: die Option \"-g\" wird ignoriert, da Sie nicht Administrator sind" -#: ../roundup/scripts/roundup_server.py:567 +#: ../roundup/scripts/roundup_server.py:569 msgid "Can't change groups - no grp module" msgstr "Die Gruppe kann nicht gewechselt werden - das Modul grp fehlt" -#: ../roundup/scripts/roundup_server.py:576 +#: ../roundup/scripts/roundup_server.py:578 #, python-format msgid "Group %(group)s doesn't exist" msgstr "Die Gruppe %(group)s existiert nicht" -#: ../roundup/scripts/roundup_server.py:588 +#: ../roundup/scripts/roundup_server.py:590 msgid "Can't run as root!" msgstr "" "Dieser Prozess kann nicht unter dem Administrator-Konto (\"root\") laufen!" -#: ../roundup/scripts/roundup_server.py:591 +#: ../roundup/scripts/roundup_server.py:593 msgid "WARNING: ignoring \"-u\" argument, not root" msgstr "" "WARNUNG: die Option \"-u\" wird ignoriert, da Sie nicht Administrator sind" -#: ../roundup/scripts/roundup_server.py:597 +#: ../roundup/scripts/roundup_server.py:599 msgid "Can't change users - no pwd module" msgstr "Der Benutzer kann nicht gewechselt werden - das Modul pwd fehlt" -#: ../roundup/scripts/roundup_server.py:606 +#: ../roundup/scripts/roundup_server.py:608 #, python-format msgid "User %(user)s doesn't exist" msgstr "Der Benutzer %(user)s existiert nicht" -#: ../roundup/scripts/roundup_server.py:803 +#: ../roundup/scripts/roundup_server.py:805 #, 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:830 +#: ../roundup/scripts/roundup_server.py:832 #, 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:834 +#: ../roundup/scripts/roundup_server.py:836 #, 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:913 +#: ../roundup/scripts/roundup_server.py:915 msgid "" " -c <Command> Windows Service options.\n" " If you want to run the server as a Windows Service, you\n" @@ -3014,7 +3029,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:920 +#: ../roundup/scripts/roundup_server.py:922 msgid "" " -u <UID> runs the Roundup web server as this UID\n" " -g <GID> runs the Roundup web server as this GID\n" @@ -3028,7 +3043,7 @@ " die Prozess-ID in die Datei PIDDatei.\n" " Die Option -l muss dann auch angegeben werden." -#: ../roundup/scripts/roundup_server.py:927 +#: ../roundup/scripts/roundup_server.py:929 #, fuzzy, python-format msgid "" "\n" @@ -3148,21 +3163,21 @@ " URLs Probleme bereiten könnten. Am besten verwenden Sie nur Buchstaben, \n" " Zahlen und \"-_\".\n" -#: ../roundup/scripts/roundup_server.py:1103 +#: ../roundup/scripts/roundup_server.py:1105 msgid "Instances must be name=home" msgstr "Instanzen müssen als Tracker-Name=Tracker-Verzeichnis angegeben werden" -#: ../roundup/scripts/roundup_server.py:1117 +#: ../roundup/scripts/roundup_server.py:1119 #, python-format msgid "Configuration saved to %s" msgstr "Konfiguration in der Datei %s gespeichert" -#: ../roundup/scripts/roundup_server.py:1135 +#: ../roundup/scripts/roundup_server.py:1137 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:1155 +#: ../roundup/scripts/roundup_server.py:1157 #, python-format msgid "Roundup server started on %(HOST)s:%(PORT)s" msgstr "Der Roundup-Server wurde unter %(HOST)s:%(PORT)s gestartet" @@ -5648,6 +5663,9 @@ msgid "Password" msgstr "Passwort" +#~ msgid "roundup> " +#~ msgstr "roundup> " + #, fuzzy #~ msgid "" #~ "Usage: %(program)s [-v] [-c class] [[-C class] -S field=value]* [instance "
--- a/locale/en.po Wed Mar 01 10:43:54 2023 -0500 +++ b/locale/en.po Wed Mar 01 10:51:37 2023 -0500 @@ -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: 2022-11-23 22:28-0500\n" +"POT-Creation-Date: 2023-03-01 10:35-0500\n" "PO-Revision-Date: 2004-11-20 13:47+0200\n" "Last-Translator: Not applicable\n" "Language-Team: English\n" @@ -26,29 +26,29 @@ "You do not have permission to retire or restore the %(classname)s class." msgstr "" -#: ../roundup/actions.py:64 ../roundup/cgi/actions.py:240 +#: ../roundup/actions.py:65 ../roundup/cgi/actions.py:240 msgid "You may not retire the admin or anonymous user" msgstr "" -#: ../roundup/admin.py:106 ../roundup/admin.py:1259 ../roundup/admin.py:1314 -#: ../roundup/admin.py:1341 ../roundup/admin.py:106:1259 :1314:1341 +#: ../roundup/admin.py:112 ../roundup/admin.py:1295 ../roundup/admin.py:1350 +#: ../roundup/admin.py:1377 ../roundup/admin.py:112:1295 :1350:1377 #, python-format msgid "no such class \"%(classname)s\"" msgstr "" -#: ../roundup/admin.py:118 +#: ../roundup/admin.py:124 #, python-format msgid "argument \"%(arg)s\" not propname=value" msgstr "" -#: ../roundup/admin.py:131 +#: ../roundup/admin.py:137 #, python-format msgid "" "Problem: %(message)s\n" "\n" msgstr "" -#: ../roundup/admin.py:132 +#: ../roundup/admin.py:138 #, python-format msgid "" "%(message)sUsage: roundup-admin [options] [<command> <arguments>]\n" @@ -76,17 +76,17 @@ " roundup-admin help all -- all available help\n" msgstr "" -#: ../roundup/admin.py:159 +#: ../roundup/admin.py:165 msgid "Commands: " msgstr "" -#: ../roundup/admin.py:166 +#: ../roundup/admin.py:172 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:195 +#: ../roundup/admin.py:201 msgid "" "\n" "All commands (except help) require a tracker specifier. This is just\n" @@ -138,7 +138,7 @@ " . ROUNDUP_LOGIN environment variable\n" " . the -u command-line option\n" "If either the name or password is not supplied, they are obtained from the\n" -"command-line.\n" +"command-line. (See admin guide before using -u.)\n" "\n" "Date format examples:\n" " \"2000-04-17.03:45\" means <Date 2000-04-17.08:45:00>\n" @@ -153,12 +153,12 @@ "Command help:\n" msgstr "" -#: ../roundup/admin.py:258 +#: ../roundup/admin.py:264 #, python-format msgid "%s:" msgstr "" -#: ../roundup/admin.py:265 +#: ../roundup/admin.py:271 msgid "" "Usage: help topic\n" " Give help about topic.\n" @@ -170,20 +170,20 @@ " " msgstr "" -#: ../roundup/admin.py:287 +#: ../roundup/admin.py:293 #, python-format msgid "Sorry, no help for \"%(topic)s\"" msgstr "" -#: ../roundup/admin.py:402 ../roundup/admin.py:458 ../roundup/admin.py:402:458 +#: ../roundup/admin.py:408 ../roundup/admin.py:464 ../roundup/admin.py:408:464 msgid "Templates:" msgstr "" -#: ../roundup/admin.py:405 ../roundup/admin.py:468 ../roundup/admin.py:405:468 +#: ../roundup/admin.py:411 ../roundup/admin.py:474 ../roundup/admin.py:411:474 msgid "Back ends:" msgstr "" -#: ../roundup/admin.py:408 +#: ../roundup/admin.py:414 msgid "" "Usage: install [template [backend [key=val[,key=val]]]]\n" " Install a new Roundup tracker.\n" @@ -209,23 +209,23 @@ " " msgstr "" -#: ../roundup/admin.py:431 ../roundup/admin.py:562 ../roundup/admin.py:635 -#: ../roundup/admin.py:728 ../roundup/admin.py:786 ../roundup/admin.py:872 -#: ../roundup/admin.py:931 ../roundup/admin.py:958 ../roundup/admin.py:985 -#: ../roundup/admin.py:1062 ../roundup/admin.py:1157 ../roundup/admin.py:1243 -#: ../roundup/admin.py:1304 ../roundup/admin.py:1331 ../roundup/admin.py:1367 -#: ../roundup/admin.py:1495 ../roundup/admin.py:1579 -#: ../roundup/admin.py:431:562 :1157 :1243:1304 :1331:1367 :1495:1579 :635:728 -#: :786:872 :931:958 :985:1062 +#: ../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:437 +#: ../roundup/admin.py:443 #, python-format msgid "Instance home parent directory \"%(parent)s\" does not exist" msgstr "" -#: ../roundup/admin.py:446 +#: ../roundup/admin.py:452 #, python-format msgid "" "WARNING: There appears to be a tracker in \"%(tracker_home)s\"!\n" @@ -233,20 +233,20 @@ "Erase it? Y/N: " msgstr "" -#: ../roundup/admin.py:459 +#: ../roundup/admin.py:465 msgid "Select template" msgstr "" -#: ../roundup/admin.py:469 +#: ../roundup/admin.py:475 msgid "Select backend" msgstr "" -#: ../roundup/admin.py:480 +#: ../roundup/admin.py:486 #, python-format msgid "Error in configuration settings: \"%s\"" msgstr "" -#: ../roundup/admin.py:511 +#: ../roundup/admin.py:517 #, python-format msgid "" "\n" @@ -255,11 +255,11 @@ " %(config_file)s" msgstr "" -#: ../roundup/admin.py:521 +#: ../roundup/admin.py:527 msgid " ... at a minimum, you must set following options:" msgstr "" -#: ../roundup/admin.py:526 +#: ../roundup/admin.py:532 #, python-format msgid "" "\n" @@ -276,7 +276,7 @@ "---------------------------------------------------------------------------\n" msgstr "" -#: ../roundup/admin.py:557 +#: ../roundup/admin.py:563 msgid "" "Usage: genconfig <filename>\n" " Generate a new tracker config file (ini style) with default\n" @@ -284,7 +284,22 @@ " " msgstr "" -#: ../roundup/admin.py:572 +#: ../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 msgid "" "Usage: updateconfig <filename>\n" " Generate an updated tracker config file (ini style) in\n" @@ -294,7 +309,7 @@ msgstr "" #. password -#: ../roundup/admin.py:580 +#: ../roundup/admin.py:612 msgid "" "Usage: initialise [adminpw]\n" " Initialise a new Roundup tracker.\n" @@ -305,30 +320,30 @@ " " msgstr "" -#: ../roundup/admin.py:594 +#: ../roundup/admin.py:626 msgid "Admin Password: " msgstr "" -#: ../roundup/admin.py:595 +#: ../roundup/admin.py:627 msgid " Confirm: " msgstr "" -#: ../roundup/admin.py:599 +#: ../roundup/admin.py:631 msgid "Instance home does not exist" msgstr "" -#: ../roundup/admin.py:603 +#: ../roundup/admin.py:635 msgid "Instance has not been installed" msgstr "" -#: ../roundup/admin.py:609 +#: ../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 "" -#: ../roundup/admin.py:625 +#: ../roundup/admin.py:661 msgid "" "Usage: get property designator[,designator]*\n" " Get the given property of one or more designator(s).\n" @@ -341,23 +356,23 @@ " " msgstr "" -#: ../roundup/admin.py:669 ../roundup/admin.py:687 ../roundup/admin.py:669:687 +#: ../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:697 ../roundup/admin.py:1261 ../roundup/admin.py:1316 -#: ../roundup/admin.py:697:1261:1316 +#: ../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:700 +#: ../roundup/admin.py:736 #, python-format msgid "no such %(classname)s property \"%(propname)s\"" msgstr "" -#: ../roundup/admin.py:708 +#: ../roundup/admin.py:744 msgid "" "Usage: set items property=value property=value ...\n" " Set the given properties of one or more items(s).\n" @@ -378,7 +393,7 @@ " " msgstr "" -#: ../roundup/admin.py:776 +#: ../roundup/admin.py:812 msgid "" "Usage: filter classname propname=value ...\n" " Find the nodes of the given class with a given property value.\n" @@ -391,19 +406,19 @@ " " msgstr "" -#: ../roundup/admin.py:819 +#: ../roundup/admin.py:855 #, python-format msgid "Class %(curclassname)s has no property %(pn)s in %(propname)s." msgstr "" -#: ../roundup/admin.py:857 ../roundup/admin.py:918 ../roundup/admin.py:1082 -#: ../roundup/admin.py:1094 ../roundup/admin.py:1177 -#: ../roundup/admin.py:857:918 :1082:1094:1177 +#: ../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:864 +#: ../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" @@ -414,7 +429,7 @@ " " msgstr "" -#: ../roundup/admin.py:925 +#: ../roundup/admin.py:961 msgid "" "Usage: specification classname\n" " Show the properties for a classname.\n" @@ -423,17 +438,17 @@ " " msgstr "" -#: ../roundup/admin.py:941 +#: ../roundup/admin.py:977 #, python-format msgid "%(key)s: %(value)s (key property)\n" msgstr "" -#: ../roundup/admin.py:944 +#: ../roundup/admin.py:980 #, python-format msgid "%(key)s: %(value)s\n" msgstr "" -#: ../roundup/admin.py:947 +#: ../roundup/admin.py:983 msgid "" "Usage: display designator[,designator]*\n" "\n" @@ -447,12 +462,12 @@ " " msgstr "" -#: ../roundup/admin.py:974 +#: ../roundup/admin.py:1010 #, python-format msgid "%(key)s: %(value)s" msgstr "" -#: ../roundup/admin.py:977 +#: ../roundup/admin.py:1013 msgid "" "Usage: create classname property=value ...\n" " Create a new entry of a given class.\n" @@ -464,31 +479,31 @@ " " msgstr "" -#: ../roundup/admin.py:1005 +#: ../roundup/admin.py:1041 #, python-format msgid "%(propname)s (Password): " msgstr "" -#: ../roundup/admin.py:1008 +#: ../roundup/admin.py:1044 #, python-format msgid " %(propname)s (Again): " msgstr "" -#: ../roundup/admin.py:1012 +#: ../roundup/admin.py:1048 msgid "Sorry, try again..." msgstr "" -#: ../roundup/admin.py:1016 +#: ../roundup/admin.py:1052 #, python-format msgid "%(propname)s (%(proptype)s): " msgstr "" -#: ../roundup/admin.py:1035 +#: ../roundup/admin.py:1071 #, python-format msgid "you must provide the \"%(propname)s\" property." msgstr "" -#: ../roundup/admin.py:1047 +#: ../roundup/admin.py:1083 msgid "" "Usage: list classname [property]\n" " List the instances of a class.\n" @@ -504,16 +519,16 @@ " " msgstr "" -#: ../roundup/admin.py:1060 +#: ../roundup/admin.py:1096 msgid "Too many arguments supplied" msgstr "" -#: ../roundup/admin.py:1096 +#: ../roundup/admin.py:1132 #, python-format msgid "%(nodeid)4s: %(value)s" msgstr "" -#: ../roundup/admin.py:1100 +#: ../roundup/admin.py:1136 msgid "" "Usage: templates [trace_search]\n" " List templates and their installed directories.\n" @@ -523,7 +538,7 @@ " " msgstr "" -#: ../roundup/admin.py:1128 +#: ../roundup/admin.py:1164 msgid "" "Usage: table classname [property[,property]*]\n" " List the instances of a class in tabular form.\n" @@ -555,17 +570,17 @@ " " msgstr "" -#: ../roundup/admin.py:1172 +#: ../roundup/admin.py:1208 #, python-format msgid "\"%(spec)s\" not name:width" msgstr "" -#: ../roundup/admin.py:1194 -#, python-format -msgid "\"%(spec)s\" does not have an integer width: \"%(width)s\"" -msgstr "" - #: ../roundup/admin.py:1230 +#, 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" @@ -580,7 +595,7 @@ " " msgstr "" -#: ../roundup/admin.py:1266 +#: ../roundup/admin.py:1302 msgid "" "Usage: commit\n" " Commit changes made to the database during an interactive session.\n" @@ -594,7 +609,7 @@ " " msgstr "" -#: ../roundup/admin.py:1281 +#: ../roundup/admin.py:1317 msgid "" "Usage: rollback\n" " Undo all changes that are pending commit to the database.\n" @@ -606,7 +621,7 @@ " " msgstr "" -#: ../roundup/admin.py:1294 +#: ../roundup/admin.py:1330 msgid "" "Usage: retire designator[,designator]*\n" " Retire the node specified by designator.\n" @@ -619,7 +634,7 @@ " " msgstr "" -#: ../roundup/admin.py:1322 +#: ../roundup/admin.py:1358 msgid "" "Usage: restore designator[,designator]*\n" " Restore the retired node specified by designator.\n" @@ -631,12 +646,12 @@ " " msgstr "" -#: ../roundup/admin.py:1347 +#: ../roundup/admin.py:1383 msgid "no such %(classname)s node \" % (nodeid)s\"" msgstr "" #. grab the directory to export to -#: ../roundup/admin.py:1353 +#: ../roundup/admin.py:1389 msgid "" "Usage: export [[-]class[,class]] export_dir\n" " Export the database to colon-separated-value files.\n" @@ -652,7 +667,7 @@ " " msgstr "" -#: ../roundup/admin.py:1460 +#: ../roundup/admin.py:1496 msgid "" "Usage: exporttables [[-]class[,class]] export_dir\n" " Export the database to colon-separated-value files, excluding the\n" @@ -669,7 +684,7 @@ " " msgstr "" -#: ../roundup/admin.py:1475 +#: ../roundup/admin.py:1511 msgid "" "Usage: import import_dir\n" " Import a database from the directory containing CSV files,\n" @@ -692,7 +707,7 @@ " " msgstr "" -#: ../roundup/admin.py:1554 +#: ../roundup/admin.py:1590 msgid "" "Usage: importtables export_dir\n" "\n" @@ -700,7 +715,7 @@ " " msgstr "" -#: ../roundup/admin.py:1561 +#: ../roundup/admin.py:1597 msgid "" "Usage: pack period | date\n" "\n" @@ -722,11 +737,11 @@ " " msgstr "" -#: ../roundup/admin.py:1589 +#: ../roundup/admin.py:1625 msgid "Invalid format" msgstr "" -#: ../roundup/admin.py:1602 +#: ../roundup/admin.py:1638 msgid "" "Usage: reindex [classname|designator]*\n" " Re-generate a tracker's search indexes.\n" @@ -736,12 +751,12 @@ " " msgstr "" -#: ../roundup/admin.py:1616 +#: ../roundup/admin.py:1652 #, python-format msgid "no such item \"%(designator)s\"" msgstr "" -#: ../roundup/admin.py:1626 +#: ../roundup/admin.py:1662 msgid "" "Usage: security [Role name]\n" "\n" @@ -749,46 +764,46 @@ " " msgstr "" -#: ../roundup/admin.py:1635 +#: ../roundup/admin.py:1671 #, python-format msgid "No such Role \"%(role)s\"\n" msgstr "" -#: ../roundup/admin.py:1641 +#: ../roundup/admin.py:1677 #, python-format msgid "New Web users get the Roles \"%(role)s\"\n" msgstr "" -#: ../roundup/admin.py:1644 +#: ../roundup/admin.py:1680 #, python-format msgid "New Web users get the Role \"%(role)s\"\n" msgstr "" -#: ../roundup/admin.py:1648 +#: ../roundup/admin.py:1684 #, python-format msgid "New Email users get the Roles \"%(role)s\"\n" msgstr "" -#: ../roundup/admin.py:1650 +#: ../roundup/admin.py:1686 #, python-format msgid "New Email users get the Role \"%(role)s\"\n" msgstr "" -#: ../roundup/admin.py:1653 +#: ../roundup/admin.py:1689 #, python-format msgid "Role \"%(name)s\":\n" msgstr "" -#: ../roundup/admin.py:1659 +#: ../roundup/admin.py:1695 msgid " %(description)s (%(name)s for \"%(klass)s\"" msgstr "" -#: ../roundup/admin.py:1659 +#: ../roundup/admin.py:1695 #, python-format msgid " %(description)s (%(name)s for \"%(klass)s\": %(properties)s only)\n" msgstr "" -#: ../roundup/admin.py:1672 +#: ../roundup/admin.py:1708 #, python-format msgid "" "\n" @@ -796,17 +811,17 @@ "\n" msgstr "" -#: ../roundup/admin.py:1678 +#: ../roundup/admin.py:1714 #, python-format msgid " %(description)s (%(name)s for \"%(klass)s\" only)\n" msgstr "" -#: ../roundup/admin.py:1681 +#: ../roundup/admin.py:1717 #, python-format msgid " %(description)s (%(name)s)\n" msgstr "" -#: ../roundup/admin.py:1685 +#: ../roundup/admin.py:1721 msgid "" "Usage: migrate\n" "\n" @@ -830,60 +845,56 @@ " " msgstr "" -#: ../roundup/admin.py:1706 +#: ../roundup/admin.py:1742 msgid "Tracker updated" msgstr "" -#: ../roundup/admin.py:1709 +#: ../roundup/admin.py:1745 msgid "No migration action required" msgstr "" -#: ../roundup/admin.py:1735 +#: ../roundup/admin.py:1771 #, python-format msgid "Unknown command \"%(command)s\" (\"help commands\" for a list)" msgstr "" -#: ../roundup/admin.py:1741 +#: ../roundup/admin.py:1777 #, python-format msgid "Multiple commands match \"%(command)s\": %(list)s" msgstr "" -#: ../roundup/admin.py:1750 +#: ../roundup/admin.py:1786 msgid "Enter tracker home: " msgstr "" -#: ../roundup/admin.py:1759 ../roundup/admin.py:1765 ../roundup/admin.py:1802 -#: ../roundup/admin.py:1759:1765:1802 +#: ../roundup/admin.py:1795 ../roundup/admin.py:1801 ../roundup/admin.py:1838 +#: ../roundup/admin.py:1795:1801:1838 #, python-format msgid "Error: %(message)s" msgstr "" -#: ../roundup/admin.py:1775 ../roundup/admin.py:1779 -#: ../roundup/admin.py:1775:1779 +#: ../roundup/admin.py:1811 ../roundup/admin.py:1815 +#: ../roundup/admin.py:1811:1815 #, python-format msgid "Error: Couldn't open tracker: %(message)s" msgstr "" -#: ../roundup/admin.py:1815 +#: ../roundup/admin.py:1851 #, python-format msgid "" "Roundup %s ready for input.\n" "Type \"help\" for help." msgstr "" -#: ../roundup/admin.py:1820 +#: ../roundup/admin.py:1856 msgid "Note: command history and editing not available" msgstr "" -#: ../roundup/admin.py:1824 -msgid "roundup> " -msgstr "" - -#: ../roundup/admin.py:1826 +#: ../roundup/admin.py:1862 msgid "exit..." msgstr "" -#: ../roundup/admin.py:1839 +#: ../roundup/admin.py:1875 msgid "There are unsaved changes. Commit them (y/N)? " msgstr "" @@ -991,20 +1002,22 @@ msgid "restored" msgstr "" -#: ../roundup/backends/sessions_redis.py:76 -#: ../roundup/backends/sessions_redis.py:95 -#: ../roundup/backends/sessions_redis.py:76:95 +#: ../roundup/backends/sessions_redis.py:78 +#: ../roundup/backends/sessions_redis.py:97 +#: ../roundup/backends/sessions_redis.py:78:97 #, python-format msgid "Key %(key)s not found in %(name)s database." msgstr "" -#: ../roundup/backends/sessions_redis.py:191 +#: ../roundup/backends/sessions_redis.py:193 #, python-format msgid "Key %(key)s changed in %(name)s db" msgstr "" -#: ../roundup/backends/sessions_redis.py:195 -msgid "Redis set failed afer 3 retries" +#: ../roundup/backends/sessions_redis.py:203 +#, python-format +msgid "" +"Redis set failed after %(retries)d retries for user %(user)s with key %(key)s" msgstr "" #: ../roundup/cgi/actions.py:97 @@ -1306,22 +1319,22 @@ msgid "Welcome %(username)s!" msgstr "" -#: ../roundup/cgi/actions.py:1383 ../roundup/cgi/actions.py:1387 -#: ../roundup/cgi/actions.py:1383:1387 +#: ../roundup/cgi/actions.py:1384 ../roundup/cgi/actions.py:1388 +#: ../roundup/cgi/actions.py:1384:1388 msgid "Invalid login" msgstr "" -#: ../roundup/cgi/actions.py:1393 +#: ../roundup/cgi/actions.py:1394 msgid "You do not have permission to login" msgstr "" -#: ../roundup/cgi/actions.py:1437 ../roundup/cgi/actions.py:1616 -#: ../roundup/cgi/actions.py:1437:1616 +#: ../roundup/cgi/actions.py:1439 ../roundup/cgi/actions.py:1618 +#: ../roundup/cgi/actions.py:1439:1618 #, python-format msgid "Column \"%(column)s\" not found in %(class)s" msgstr "" -#: ../roundup/cgi/actions.py:1687 +#: ../roundup/cgi/actions.py:1689 #, python-format msgid "You do not have permission to view %(class)s" msgstr "" @@ -1405,153 +1418,154 @@ "</body></html>" msgstr "" -#: ../roundup/cgi/client.py:651 +#: ../roundup/cgi/client.py:670 ../roundup/cgi/client.py:1570 +#: ../roundup/cgi/client.py:670:1570 +msgid "Required Header Missing" +msgstr "" + +#: ../roundup/cgi/client.py:672 msgid "Client is not allowed to use Rest Interface." msgstr "" -#: ../roundup/cgi/client.py:895 +#: ../roundup/cgi/client.py:921 msgid "Form Error: " msgstr "" -#: ../roundup/cgi/client.py:985 +#: ../roundup/cgi/client.py:1011 #, python-format msgid "Unrecognized charset: %r" msgstr "" -#: ../roundup/cgi/client.py:1238 ../roundup/cgi/client.py:2196 -#: ../roundup/cgi/client.py:1238:2196 +#: ../roundup/cgi/client.py:1264 ../roundup/cgi/client.py:2250 +#: ../roundup/cgi/client.py:1264:2250 msgid "broken form: multiple @action values submitted" msgstr "" -#: ../roundup/cgi/client.py:1253 +#: ../roundup/cgi/client.py:1279 msgid "Anonymous users are not allowed to use the web interface" msgstr "" -#: ../roundup/cgi/client.py:1376 +#: ../roundup/cgi/client.py:1430 msgid "Referer header not available." msgstr "" -#: ../roundup/cgi/client.py:1380 +#: ../roundup/cgi/client.py:1434 #, python-format msgid "csrf key used with wrong method from: %s" msgstr "" -#: ../roundup/cgi/client.py:1409 +#: ../roundup/cgi/client.py:1463 #, python-format msgid "csrf header %(header)s required but missing for user%(userid)s." msgstr "" -#: ../roundup/cgi/client.py:1413 +#: ../roundup/cgi/client.py:1467 #, python-format msgid "Missing header: %s" msgstr "" -#: ../roundup/cgi/client.py:1421 +#: ../roundup/cgi/client.py:1475 #, python-format msgid "csrf Referer header check failed for user%(userid)s. Value=%(referer)s" msgstr "" -#: ../roundup/cgi/client.py:1426 +#: ../roundup/cgi/client.py:1480 #, python-format msgid "Invalid Referer: %s" msgstr "" -#: ../roundup/cgi/client.py:1441 +#: ../roundup/cgi/client.py:1495 #, python-format msgid "csrf Origin header check failed for user%(userid)s. Value=%(origin)s" msgstr "" -#: ../roundup/cgi/client.py:1446 +#: ../roundup/cgi/client.py:1500 #, python-format msgid "Invalid Origin %s" msgstr "" -#: ../roundup/cgi/client.py:1460 +#: ../roundup/cgi/client.py:1514 #, python-format msgid "" "csrf X-FORWARDED-HOST header check failed for user%(userid)s. Value=%(host)s" msgstr "" -#: ../roundup/cgi/client.py:1466 +#: ../roundup/cgi/client.py:1520 #, python-format msgid "Invalid X-FORWARDED-HOST %s" msgstr "" -#: ../roundup/cgi/client.py:1485 +#: ../roundup/cgi/client.py:1539 #, python-format msgid "csrf HOST header check failed for user%(userid)s. Value=%(host)s" msgstr "" -#: ../roundup/cgi/client.py:1490 +#: ../roundup/cgi/client.py:1544 #, python-format msgid "Invalid HOST %s" msgstr "" -#: ../roundup/cgi/client.py:1498 +#: ../roundup/cgi/client.py:1552 msgid "Csrf: unable to verify sufficient headers" msgstr "" -#: ../roundup/cgi/client.py:1499 +#: ../roundup/cgi/client.py:1553 msgid "Unable to verify sufficient headers" msgstr "" -#: ../roundup/cgi/client.py:1513 +#: ../roundup/cgi/client.py:1567 #, python-format msgid "csrf X-REQUESTED-WITH xmlrpc required header check failed for user%s." msgstr "" -#: ../roundup/cgi/client.py:1516 -msgid "Required Header Missing" -msgstr "" - -#: ../roundup/cgi/client.py:1554 +#: ../roundup/cgi/client.py:1608 #, python-format msgid "Required csrf field missing for user%s" msgstr "" -#: ../roundup/cgi/client.py:1556 ../roundup/cgi/client.py:1583 -#: ../roundup/cgi/client.py:1600 ../roundup/cgi/client.py:1556:1583:1600 +#: ../roundup/cgi/client.py:1610 ../roundup/cgi/client.py:1637 +#: ../roundup/cgi/client.py:1654 ../roundup/cgi/client.py:1610:1637:1654 msgid "" "We can't validate your session (csrf failure). Re-enter any unsaved data and " "try again." msgstr "" -#: ../roundup/cgi/client.py:1560 +#: ../roundup/cgi/client.py:1614 #, python-format msgid "csrf field not supplied by user%s" msgstr "" -#: ../roundup/cgi/client.py:1572 +#: ../roundup/cgi/client.py:1626 #, 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:1590 +#: ../roundup/cgi/client.py:1644 #, 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:1784 +#: ../roundup/cgi/client.py:1838 msgid "You are not allowed to view this file." msgstr "" -#: ../roundup/cgi/client.py:2073 +#: ../roundup/cgi/client.py:2127 #, python-format msgid "%(starttag)sTime elapsed: %(seconds)fs%(endtag)s\n" msgstr "" -#: ../roundup/cgi/client.py:2077 +#: ../roundup/cgi/client.py:2131 #, 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:2615 +#: ../roundup/cgi/client.py:2669 #, python-format msgid "" "Cache failure: compressed file %(compressed)s is older than its source file " @@ -1925,28 +1939,28 @@ msgid "\"%s\" not a node designator" msgstr "" -#: ../roundup/hyperdb.py:1492 ../roundup/hyperdb.py:1500 -#: ../roundup/hyperdb.py:1492:1500 +#: ../roundup/hyperdb.py:1493 ../roundup/hyperdb.py:1501 +#: ../roundup/hyperdb.py:1493:1501 #, python-format msgid "Not a property name: %s" msgstr "" -#: ../roundup/hyperdb.py:1977 +#: ../roundup/hyperdb.py:1978 #, python-format msgid "property %(property)s: %(value)r is not a %(classname)s." msgstr "" -#: ../roundup/hyperdb.py:1983 +#: ../roundup/hyperdb.py:1984 #, python-format msgid "you may only enter ID values for property %s" msgstr "" -#: ../roundup/hyperdb.py:2018 +#: ../roundup/hyperdb.py:2019 #, python-format msgid "%(property)r is not a property of %(classname)s" msgstr "" -#: ../roundup/init.py:139 +#: ../roundup/init.py:141 #, python-format msgid "" "WARNING: directory '%s'\n" @@ -2166,7 +2180,7 @@ " %(errors)s\n" msgstr "" -#: ../roundup/mailgw.py:1820 +#: ../roundup/mailgw.py:1821 #, python-format msgid "" "\n" @@ -2189,19 +2203,19 @@ msgid "Invalid attribute %s" msgstr "" -#: ../roundup/rest.py:2078 +#: ../roundup/rest.py:2090 #, python-format msgid "Api rate limits exceeded. Please wait: %s seconds." msgstr "" -#: ../roundup/rest.py:2113 +#: ../roundup/rest.py:2125 #, python-format msgid "" "Unable to parse Accept Header. %(error)s. Acceptable types: " "%(acceptable_types)s" msgstr "" -#: ../roundup/rest.py:2262 +#: ../roundup/rest.py:2305 #, python-format msgid "" "Unrecognized api version: %s. See /rest without specifying api version for " @@ -2324,26 +2338,26 @@ msgid "No tracker templates found in directory %s" msgstr "" -#: ../roundup/scripts/roundup_mailgw.py:185 +#: ../roundup/scripts/roundup_mailgw.py:182 msgid "" "\n" "Error: The instance home must be specified" msgstr "" -#: ../roundup/scripts/roundup_mailgw.py:203 +#: ../roundup/scripts/roundup_mailgw.py:200 msgid "" "\n" "Error: not enough source specification information" msgstr "" -#: ../roundup/scripts/roundup_mailgw.py:234 +#: ../roundup/scripts/roundup_mailgw.py:231 #, python-format msgid "" "\n" "Error: %s specification not valid" msgstr "" -#: ../roundup/scripts/roundup_mailgw.py:258 +#: ../roundup/scripts/roundup_mailgw.py:254 msgid "" "\n" "Error: The source must be either \"mailbox\", \"pop\", \"pops\", \"apop\", " @@ -2354,64 +2368,64 @@ msgid "WARNING: generating temporary SSL certificate" msgstr "" -#: ../roundup/scripts/roundup_server.py:329 +#: ../roundup/scripts/roundup_server.py:331 msgid "" "<html><head><title>Roundup trackers index</title></head>\n" "<body><h1>Roundup trackers index</h1><ol>\n" msgstr "" -#: ../roundup/scripts/roundup_server.py:549 +#: ../roundup/scripts/roundup_server.py:551 #, python-format msgid "Error: %(type)s: %(value)s" msgstr "" -#: ../roundup/scripts/roundup_server.py:561 +#: ../roundup/scripts/roundup_server.py:563 msgid "WARNING: ignoring \"-g\" argument, not root" msgstr "" -#: ../roundup/scripts/roundup_server.py:567 +#: ../roundup/scripts/roundup_server.py:569 msgid "Can't change groups - no grp module" msgstr "" -#: ../roundup/scripts/roundup_server.py:576 +#: ../roundup/scripts/roundup_server.py:578 #, python-format msgid "Group %(group)s doesn't exist" msgstr "" -#: ../roundup/scripts/roundup_server.py:588 +#: ../roundup/scripts/roundup_server.py:590 msgid "Can't run as root!" msgstr "" -#: ../roundup/scripts/roundup_server.py:591 +#: ../roundup/scripts/roundup_server.py:593 msgid "WARNING: ignoring \"-u\" argument, not root" msgstr "" -#: ../roundup/scripts/roundup_server.py:597 +#: ../roundup/scripts/roundup_server.py:599 msgid "Can't change users - no pwd module" msgstr "" -#: ../roundup/scripts/roundup_server.py:606 +#: ../roundup/scripts/roundup_server.py:608 #, python-format msgid "User %(user)s doesn't exist" msgstr "" -#: ../roundup/scripts/roundup_server.py:803 +#: ../roundup/scripts/roundup_server.py:805 #, python-format msgid "Multiprocess mode \"%s\" is not available, switching to single-process" msgstr "" -#: ../roundup/scripts/roundup_server.py:830 +#: ../roundup/scripts/roundup_server.py:832 #, python-format msgid "Unable to bind to port %s, port already in use." msgstr "" -#: ../roundup/scripts/roundup_server.py:834 +#: ../roundup/scripts/roundup_server.py:836 #, python-format msgid "" "Unable to bind to port %(port)s, access not allowed, errno: %(errno)s %(msg)s" msgstr "" -#: ../roundup/scripts/roundup_server.py:913 +#: ../roundup/scripts/roundup_server.py:915 msgid "" " -c <Command> Windows Service options.\n" " If you want to run the server as a Windows Service, you\n" @@ -2421,7 +2435,7 @@ " specifics." msgstr "" -#: ../roundup/scripts/roundup_server.py:920 +#: ../roundup/scripts/roundup_server.py:922 msgid "" " -u <UID> runs the Roundup web server as this UID\n" " -g <GID> runs the Roundup web server as this GID\n" @@ -2430,7 +2444,7 @@ " specified if -d is used." msgstr "" -#: ../roundup/scripts/roundup_server.py:927 +#: ../roundup/scripts/roundup_server.py:929 #, python-format msgid "" "\n" @@ -2497,20 +2511,20 @@ " any url-unsafe characters like spaces, as these confuse IE.\n" msgstr "" -#: ../roundup/scripts/roundup_server.py:1103 +#: ../roundup/scripts/roundup_server.py:1105 msgid "Instances must be name=home" msgstr "" -#: ../roundup/scripts/roundup_server.py:1117 +#: ../roundup/scripts/roundup_server.py:1119 #, python-format msgid "Configuration saved to %s" msgstr "" -#: ../roundup/scripts/roundup_server.py:1135 +#: ../roundup/scripts/roundup_server.py:1137 msgid "Sorry, you can't run the server as a daemon on this Operating System" msgstr "" -#: ../roundup/scripts/roundup_server.py:1155 +#: ../roundup/scripts/roundup_server.py:1157 #, python-format msgid "Roundup server started on %(HOST)s:%(PORT)s" msgstr ""
--- a/locale/es.po Wed Mar 01 10:43:54 2023 -0500 +++ b/locale/es.po Wed Mar 01 10:51:37 2023 -0500 @@ -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: 2022-11-23 22:28-0500\n" +"POT-Creation-Date: 2023-03-01 10:35-0500\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" @@ -24,24 +24,24 @@ msgstr "" "Ud. no posee los permisos necesarios para %(action)s la clase %(classname)s." -#: ../roundup/actions.py:64 ../roundup/cgi/actions.py:240 +#: ../roundup/actions.py:65 ../roundup/cgi/actions.py:240 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:85 :955 :1004 :1026 -#: ../roundup/admin.py:106 ../roundup/admin.py:1259 ../roundup/admin.py:1314 -#: ../roundup/admin.py:1341 ../roundup/admin.py:106:1259 :1314:1341 +#: ../roundup/admin.py:112 ../roundup/admin.py:1295 ../roundup/admin.py:1350 +#: ../roundup/admin.py:1377 ../roundup/admin.py:112:1295 :1350:1377 #, python-format msgid "no such class \"%(classname)s\"" msgstr "la clase \"%(classname)s\" no existe" # ../roundup/admin.py:95 :99 -#: ../roundup/admin.py:118 +#: ../roundup/admin.py:124 #, python-format msgid "argument \"%(arg)s\" not propname=value" msgstr "el argumento \"%(arg)s\" no es de la forma nombrepropiedad=valor" -#: ../roundup/admin.py:131 +#: ../roundup/admin.py:137 #, python-format msgid "" "Problem: %(message)s\n" @@ -50,7 +50,7 @@ "Problema: %(message)s\n" "\n" -#: ../roundup/admin.py:132 +#: ../roundup/admin.py:138 #, fuzzy, python-format msgid "" "%(message)sUsage: roundup-admin [options] [<command> <arguments>]\n" @@ -106,12 +106,12 @@ " roundup-admin help <comando> -- ayuda especfica a un comando\n" " roundup-admin help all -- toda la ayuda disponible\n" -#: ../roundup/admin.py:159 +#: ../roundup/admin.py:165 #, fuzzy msgid "Commands: " msgstr "Comandos:" -#: ../roundup/admin.py:166 +#: ../roundup/admin.py:172 msgid "" "Commands may be abbreviated as long as the abbreviation\n" "matches only one command, e.g. l == li == lis == list." @@ -119,7 +119,8 @@ "Los comandos pueden ser abreviados siempre y cuando la abreviacin\n" "coincida con slo un comando, ej. l == li == lis == list." -#: ../roundup/admin.py:195 +#: ../roundup/admin.py:201 +#, fuzzy msgid "" "\n" "All commands (except help) require a tracker specifier. This is just\n" @@ -171,7 +172,7 @@ " . ROUNDUP_LOGIN environment variable\n" " . the -u command-line option\n" "If either the name or password is not supplied, they are obtained from the\n" -"command-line.\n" +"command-line. (See admin guide before using -u.)\n" "\n" "Date format examples:\n" " \"2000-04-17.03:45\" means <Date 2000-04-17.08:45:00>\n" @@ -264,12 +265,12 @@ "\n" "Ayuda sobre comandos:\n" -#: ../roundup/admin.py:258 +#: ../roundup/admin.py:264 #, python-format msgid "%s:" msgstr "%s:" -#: ../roundup/admin.py:265 +#: ../roundup/admin.py:271 msgid "" "Usage: help topic\n" " Give help about topic.\n" @@ -289,22 +290,22 @@ " all -- toda la ayuda disponible\n" " " -#: ../roundup/admin.py:287 +#: ../roundup/admin.py:293 #, 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:402 ../roundup/admin.py:458 ../roundup/admin.py:402:458 +#: ../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:405 ../roundup/admin.py:468 ../roundup/admin.py:405:468 +#: ../roundup/admin.py:411 ../roundup/admin.py:474 ../roundup/admin.py:411:474 msgid "Back ends:" msgstr "Motor de almacenamiento" -#: ../roundup/admin.py:408 +#: ../roundup/admin.py:414 msgid "" "Usage: install [template [backend [key=val[,key=val]]]]\n" " Install a new Roundup tracker.\n" @@ -362,25 +363,25 @@ # ../roundup/admin.py:360 :442 :503 :582 :632 :688 :709 :737 :808 :875 :946 # :994 :1016 :1043 :1106 :1173 -#: ../roundup/admin.py:431 ../roundup/admin.py:562 ../roundup/admin.py:635 -#: ../roundup/admin.py:728 ../roundup/admin.py:786 ../roundup/admin.py:872 -#: ../roundup/admin.py:931 ../roundup/admin.py:958 ../roundup/admin.py:985 -#: ../roundup/admin.py:1062 ../roundup/admin.py:1157 ../roundup/admin.py:1243 -#: ../roundup/admin.py:1304 ../roundup/admin.py:1331 ../roundup/admin.py:1367 -#: ../roundup/admin.py:1495 ../roundup/admin.py:1579 -#: ../roundup/admin.py:431:562 :1157 :1243:1304 :1331:1367 :1495:1579 :635:728 -#: :786:872 :931:958 :985:1062 +#: ../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:437 +#: ../roundup/admin.py:443 #, 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:446 +#: ../roundup/admin.py:452 #, python-format msgid "" "WARNING: There appears to be a tracker in \"%(tracker_home)s\"!\n" @@ -391,22 +392,22 @@ "Si Ud. lo reinstala, perder toda la informacin relacionada al mismo!\n" "Elimino la misma? Y/N: " -#: ../roundup/admin.py:459 +#: ../roundup/admin.py:465 #, fuzzy msgid "Select template" msgstr "Seleccione la plantilla [classic]: " -#: ../roundup/admin.py:469 +#: ../roundup/admin.py:475 #, fuzzy msgid "Select backend" msgstr "Selecccione el motor de almacenamiento [anydbm]: " -#: ../roundup/admin.py:480 +#: ../roundup/admin.py:486 #, python-format msgid "Error in configuration settings: \"%s\"" msgstr "Error en opciones de configuracin: \"%s\"" -#: ../roundup/admin.py:511 +#: ../roundup/admin.py:517 #, python-format msgid "" "\n" @@ -419,11 +420,11 @@ " Ud. debe ahora editar el fichero de configuracin del tracker:\n" " %(config_file)s" -#: ../roundup/admin.py:521 +#: ../roundup/admin.py:527 msgid " ... at a minimum, you must set following options:" msgstr " ... como mnimo, debe configurar las siguientes opciones:" -#: ../roundup/admin.py:526 +#: ../roundup/admin.py:532 #, python-format msgid "" "\n" @@ -451,7 +452,7 @@ " completado los pasos arriba descriptos.\n" "---------------------------------------------------------------------------\n" -#: ../roundup/admin.py:557 +#: ../roundup/admin.py:563 #, fuzzy msgid "" "Usage: genconfig <filename>\n" @@ -465,7 +466,22 @@ " con valores por defecto en el fichero <fichero>.\n" " " -#: ../roundup/admin.py:572 +#: ../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 #, fuzzy msgid "" "Usage: updateconfig <filename>\n" @@ -481,7 +497,7 @@ " " #. password -#: ../roundup/admin.py:580 +#: ../roundup/admin.py:612 msgid "" "Usage: initialise [adminpw]\n" " Initialise a new Roundup tracker.\n" @@ -500,23 +516,23 @@ " Ejecuta la funcin de inicializacin dbinit.init() del tracker\n" " " -#: ../roundup/admin.py:594 +#: ../roundup/admin.py:626 msgid "Admin Password: " msgstr "Contrasea de administracin: " -#: ../roundup/admin.py:595 +#: ../roundup/admin.py:627 msgid " Confirm: " msgstr " Confirmar: " -#: ../roundup/admin.py:599 +#: ../roundup/admin.py:631 msgid "Instance home does not exist" msgstr "El directorio base de la instancia no existe" -#: ../roundup/admin.py:603 +#: ../roundup/admin.py:635 msgid "Instance has not been installed" msgstr "La instancia no ha sido instalada" -#: ../roundup/admin.py:609 +#: ../roundup/admin.py:641 msgid "" "WARNING: The database is already initialised!\n" "If you re-initialise it, you will lose all the data!\n" @@ -526,7 +542,7 @@ "Si la reinicializa, perder toda la informacin!\n" "Eliminar la misma? Y/N: " -#: ../roundup/admin.py:625 +#: ../roundup/admin.py:661 #, fuzzy msgid "" "Usage: get property designator[,designator]*\n" @@ -547,7 +563,7 @@ " " # ../roundup/admin.py:536 :551 -#: ../roundup/admin.py:669 ../roundup/admin.py:687 ../roundup/admin.py:669:687 +#: ../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 "" @@ -555,18 +571,18 @@ "no puede usarse." # ../roundup/admin.py:559 :957 :1006 :1028 -#: ../roundup/admin.py:697 ../roundup/admin.py:1261 ../roundup/admin.py:1316 -#: ../roundup/admin.py:697:1261:1316 +#: ../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 "no existe nodo de clase %(classname)s llamado \"%(nodeid)s\"" -#: ../roundup/admin.py:700 +#: ../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:708 +#: ../roundup/admin.py:744 #, fuzzy msgid "" "Usage: set items property=value property=value ...\n" @@ -601,7 +617,7 @@ " asociados como nmeros separados por comas (\"1,2,3\").\n" " " -#: ../roundup/admin.py:776 +#: ../roundup/admin.py:812 #, fuzzy msgid "" "Usage: filter classname propname=value ...\n" @@ -626,20 +642,20 @@ " " # ../roundup/admin.py:675 :828 :840 :894 -#: ../roundup/admin.py:819 +#: ../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:857 ../roundup/admin.py:918 ../roundup/admin.py:1082 -#: ../roundup/admin.py:1094 ../roundup/admin.py:1177 -#: ../roundup/admin.py:857:918 :1082:1094:1177 +#: ../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:864 +#: ../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" @@ -660,7 +676,7 @@ " enlazado o su valor clave.\n" " " -#: ../roundup/admin.py:925 +#: ../roundup/admin.py:961 msgid "" "Usage: specification classname\n" " Show the properties for a classname.\n" @@ -674,17 +690,17 @@ " Visualiza las propiedades para una cierta clase.\n" " " -#: ../roundup/admin.py:941 +#: ../roundup/admin.py:977 #, fuzzy, python-format msgid "%(key)s: %(value)s (key property)\n" msgstr "%(key)s: %(value)s (propiedad de clave)" -#: ../roundup/admin.py:944 +#: ../roundup/admin.py:980 #, fuzzy, python-format msgid "%(key)s: %(value)s\n" msgstr "%(key)s: %(value)s" -#: ../roundup/admin.py:947 +#: ../roundup/admin.py:983 #, fuzzy msgid "" "Usage: display designator[,designator]*\n" @@ -705,12 +721,12 @@ "especificado.\n" " " -#: ../roundup/admin.py:974 +#: ../roundup/admin.py:1010 #, python-format msgid "%(key)s: %(value)s" msgstr "%(key)s: %(value)s" -#: ../roundup/admin.py:977 +#: ../roundup/admin.py:1013 msgid "" "Usage: create classname property=value ...\n" " Create a new entry of a given class.\n" @@ -729,31 +745,31 @@ " nombre=valor provistos en la lnea de comandos luego del comando\n" " \"create\" para establecer valores de propiedad(es). " -#: ../roundup/admin.py:1005 +#: ../roundup/admin.py:1041 #, python-format msgid "%(propname)s (Password): " msgstr "%(propname)s (Contrasea): " -#: ../roundup/admin.py:1008 +#: ../roundup/admin.py:1044 #, python-format msgid " %(propname)s (Again): " msgstr " %(propname)s (Nuevamente): " -#: ../roundup/admin.py:1012 +#: ../roundup/admin.py:1048 msgid "Sorry, try again..." msgstr "Lo lamento, intente nuevamente..." -#: ../roundup/admin.py:1016 +#: ../roundup/admin.py:1052 #, python-format msgid "%(propname)s (%(proptype)s): " msgstr "%(propname)s (%(proptype)s): " -#: ../roundup/admin.py:1035 +#: ../roundup/admin.py:1071 #, python-format msgid "you must provide the \"%(propname)s\" property." msgstr "debe proveer la propiedad \"%(propname)s\"." -#: ../roundup/admin.py:1047 +#: ../roundup/admin.py:1083 msgid "" "Usage: list classname [property]\n" " List the instances of a class.\n" @@ -783,16 +799,16 @@ "clase.\n" " " -#: ../roundup/admin.py:1060 +#: ../roundup/admin.py:1096 msgid "Too many arguments supplied" msgstr "Demasiados argumentos" -#: ../roundup/admin.py:1096 +#: ../roundup/admin.py:1132 #, python-format msgid "%(nodeid)4s: %(value)s" msgstr "%(nodeid)4s: %(value)s" -#: ../roundup/admin.py:1100 +#: ../roundup/admin.py:1136 msgid "" "Usage: templates [trace_search]\n" " List templates and their installed directories.\n" @@ -802,7 +818,7 @@ " " msgstr "" -#: ../roundup/admin.py:1128 +#: ../roundup/admin.py:1164 msgid "" "Usage: table classname [property[,property]*]\n" " List the instances of a class in tabular form.\n" @@ -866,17 +882,17 @@ " caracteres.\n" " " -#: ../roundup/admin.py:1172 +#: ../roundup/admin.py:1208 #, python-format msgid "\"%(spec)s\" not name:width" msgstr "\"%(spec)s\" no es de la forma nombre:longitud" -#: ../roundup/admin.py:1194 +#: ../roundup/admin.py:1230 #, python-format msgid "\"%(spec)s\" does not have an integer width: \"%(width)s\"" msgstr "" -#: ../roundup/admin.py:1230 +#: ../roundup/admin.py:1266 msgid "" "Usage: history designator [skipquiet]\n" " Show the history entries of a designator.\n" @@ -891,7 +907,7 @@ " " msgstr "" -#: ../roundup/admin.py:1266 +#: ../roundup/admin.py:1302 msgid "" "Usage: commit\n" " Commit changes made to the database during an interactive session.\n" @@ -916,7 +932,7 @@ " son automticamente escritos si resultan exitosos.\n" " " -#: ../roundup/admin.py:1281 +#: ../roundup/admin.py:1317 msgid "" "Usage: rollback\n" " Undo all changes that are pending commit to the database.\n" @@ -938,7 +954,7 @@ " no introducira cambios en la base de datos.\n" " " -#: ../roundup/admin.py:1294 +#: ../roundup/admin.py:1330 #, fuzzy msgid "" "Usage: retire designator[,designator]*\n" @@ -959,7 +975,7 @@ " reusado.\n" " " -#: ../roundup/admin.py:1322 +#: ../roundup/admin.py:1358 #, fuzzy msgid "" "Usage: restore designator[,designator]*\n" @@ -979,13 +995,13 @@ " " # ../roundup/admin.py:559 :957 :1006 :1028 -#: ../roundup/admin.py:1347 +#: ../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:1353 +#: ../roundup/admin.py:1389 msgid "" "Usage: export [[-]class[,class]] export_dir\n" " Export the database to colon-separated-value files.\n" @@ -1013,7 +1029,7 @@ " directorio de destino especificado (dir_exportacin).\n" " " -#: ../roundup/admin.py:1460 +#: ../roundup/admin.py:1496 msgid "" "Usage: exporttables [[-]class[,class]] export_dir\n" " Export the database to colon-separated-value files, excluding the\n" @@ -1042,7 +1058,7 @@ " directorio de destino especificado.\n" " " -#: ../roundup/admin.py:1475 +#: ../roundup/admin.py:1511 msgid "" "Usage: import import_dir\n" " Import a database from the directory containing CSV files,\n" @@ -1087,7 +1103,7 @@ " tediosamente, retirar toda los datos viejos.)\n" " " -#: ../roundup/admin.py:1554 +#: ../roundup/admin.py:1590 msgid "" "Usage: importtables export_dir\n" "\n" @@ -1095,7 +1111,7 @@ " " msgstr "" -#: ../roundup/admin.py:1561 +#: ../roundup/admin.py:1597 msgid "" "Usage: pack period | date\n" "\n" @@ -1134,11 +1150,11 @@ "\n" " " -#: ../roundup/admin.py:1589 +#: ../roundup/admin.py:1625 msgid "Invalid format" msgstr "Formato invlido" -#: ../roundup/admin.py:1602 +#: ../roundup/admin.py:1638 msgid "" "Usage: reindex [classname|designator]*\n" " Re-generate a tracker's search indexes.\n" @@ -1154,12 +1170,12 @@ " Es un comando que por lo general se ejecuta automticamente.\n" " " -#: ../roundup/admin.py:1616 +#: ../roundup/admin.py:1652 #, python-format msgid "no such item \"%(designator)s\"" msgstr "no existe un tem llamado \"%(designator)s\"" -#: ../roundup/admin.py:1626 +#: ../roundup/admin.py:1662 #, fuzzy msgid "" "Usage: security [Role name]\n" @@ -1171,49 +1187,49 @@ " Muestra los permisos disponibles para uno o todos los Roles.\n" " " -#: ../roundup/admin.py:1635 +#: ../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:1641 +#: ../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:1644 +#: ../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:1648 +#: ../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:1650 +#: ../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:1653 +#: ../roundup/admin.py:1689 #, fuzzy, python-format msgid "Role \"%(name)s\":\n" msgstr "Rol \"%(name)s\":" -#: ../roundup/admin.py:1659 +#: ../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:1659 +#: ../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:1672 +#: ../roundup/admin.py:1708 #, python-format msgid "" "\n" @@ -1221,17 +1237,17 @@ "\n" msgstr "" -#: ../roundup/admin.py:1678 +#: ../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:1681 +#: ../roundup/admin.py:1717 #, fuzzy, python-format msgid " %(description)s (%(name)s)\n" msgstr " %(description)s (%(name)s)" -#: ../roundup/admin.py:1685 +#: ../roundup/admin.py:1721 msgid "" "Usage: migrate\n" "\n" @@ -1255,45 +1271,45 @@ " " msgstr "" -#: ../roundup/admin.py:1706 +#: ../roundup/admin.py:1742 #, fuzzy msgid "Tracker updated" msgstr "Directorio base del tracker" -#: ../roundup/admin.py:1709 +#: ../roundup/admin.py:1745 msgid "No migration action required" msgstr "" -#: ../roundup/admin.py:1735 +#: ../roundup/admin.py:1771 #, 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:1741 +#: ../roundup/admin.py:1777 #, python-format msgid "Multiple commands match \"%(command)s\": %(list)s" msgstr "Coinciden mas de un comando \"%(command)s\": %(list)s" -#: ../roundup/admin.py:1750 +#: ../roundup/admin.py:1786 msgid "Enter tracker home: " msgstr "Ingrese directorio base del tracker: " # ../roundup/admin.py:1296 :1302 :1322 -#: ../roundup/admin.py:1759 ../roundup/admin.py:1765 ../roundup/admin.py:1802 -#: ../roundup/admin.py:1759:1765:1802 +#: ../roundup/admin.py:1795 ../roundup/admin.py:1801 ../roundup/admin.py:1838 +#: ../roundup/admin.py:1795:1801:1838 #, python-format msgid "Error: %(message)s" msgstr "Error: %(message)s" -#: ../roundup/admin.py:1775 ../roundup/admin.py:1779 -#: ../roundup/admin.py:1775:1779 +#: ../roundup/admin.py:1811 ../roundup/admin.py:1815 +#: ../roundup/admin.py:1811:1815 #, python-format msgid "Error: Couldn't open tracker: %(message)s" msgstr "Error: No se pudo abrir el tracker: %(message)s" -#: ../roundup/admin.py:1815 +#: ../roundup/admin.py:1851 #, python-format msgid "" "Roundup %s ready for input.\n" @@ -1302,19 +1318,15 @@ "Roundup %s listo para comandos.\n" "Tipee \"help\" para ayuda." -#: ../roundup/admin.py:1820 +#: ../roundup/admin.py:1856 msgid "Note: command history and editing not available" msgstr "Nota: historia y edicin de comandos no disponible" -#: ../roundup/admin.py:1824 -msgid "roundup> " -msgstr "roundup> " - -#: ../roundup/admin.py:1826 +#: ../roundup/admin.py:1862 msgid "exit..." msgstr "salir..." -#: ../roundup/admin.py:1839 +#: ../roundup/admin.py:1875 msgid "There are unsaved changes. Commit them (y/N)? " msgstr "Hay cambios sin guardar. Debo guardar los mismos (y/N)? " @@ -1422,20 +1434,22 @@ msgid "restored" msgstr "restaura" -#: ../roundup/backends/sessions_redis.py:76 -#: ../roundup/backends/sessions_redis.py:95 -#: ../roundup/backends/sessions_redis.py:76:95 +#: ../roundup/backends/sessions_redis.py:78 +#: ../roundup/backends/sessions_redis.py:97 +#: ../roundup/backends/sessions_redis.py:78:97 #, python-format msgid "Key %(key)s not found in %(name)s database." msgstr "" -#: ../roundup/backends/sessions_redis.py:191 +#: ../roundup/backends/sessions_redis.py:193 #, python-format msgid "Key %(key)s changed in %(name)s db" msgstr "" -#: ../roundup/backends/sessions_redis.py:195 -msgid "Redis set failed afer 3 retries" +#: ../roundup/backends/sessions_redis.py:203 +#, python-format +msgid "" +"Redis set failed after %(retries)d retries for user %(user)s with key %(key)s" msgstr "" #: ../roundup/cgi/actions.py:97 @@ -1752,22 +1766,22 @@ msgstr "" # ../roundup/cgi/actions.py:891 :895 -#: ../roundup/cgi/actions.py:1383 ../roundup/cgi/actions.py:1387 -#: ../roundup/cgi/actions.py:1383:1387 +#: ../roundup/cgi/actions.py:1384 ../roundup/cgi/actions.py:1388 +#: ../roundup/cgi/actions.py:1384:1388 msgid "Invalid login" msgstr "nombre de usuario contrasea invlidos" -#: ../roundup/cgi/actions.py:1393 +#: ../roundup/cgi/actions.py:1394 msgid "You do not have permission to login" msgstr "Ud. no tiene permiso para ingresar al sistema" -#: ../roundup/cgi/actions.py:1437 ../roundup/cgi/actions.py:1616 -#: ../roundup/cgi/actions.py:1437:1616 +#: ../roundup/cgi/actions.py:1439 ../roundup/cgi/actions.py:1618 +#: ../roundup/cgi/actions.py:1439:1618 #, python-format msgid "Column \"%(column)s\" not found in %(class)s" msgstr "" -#: ../roundup/cgi/actions.py:1687 +#: ../roundup/cgi/actions.py:1689 #, fuzzy, python-format msgid "You do not have permission to view %(class)s" msgstr "Ud. no posee los permisos necesarios para editar %(class)s" @@ -1872,149 +1886,150 @@ "p>\n" "</body></html>" -#: ../roundup/cgi/client.py:651 +#: ../roundup/cgi/client.py:670 ../roundup/cgi/client.py:1570 +#: ../roundup/cgi/client.py:670:1570 +msgid "Required Header Missing" +msgstr "" + +#: ../roundup/cgi/client.py:672 #, fuzzy msgid "Client is not allowed to use Rest Interface." msgstr "Los usuarios anonimos no tienen permitido usar esta interfaz Web" -#: ../roundup/cgi/client.py:895 +#: ../roundup/cgi/client.py:921 msgid "Form Error: " msgstr "Error de formulario" -#: ../roundup/cgi/client.py:985 +#: ../roundup/cgi/client.py:1011 #, python-format msgid "Unrecognized charset: %r" msgstr "Conjunto de caracteres desconocido: %r" -#: ../roundup/cgi/client.py:1238 ../roundup/cgi/client.py:2196 -#: ../roundup/cgi/client.py:1238:2196 +#: ../roundup/cgi/client.py:1264 ../roundup/cgi/client.py:2250 +#: ../roundup/cgi/client.py:1264:2250 msgid "broken form: multiple @action values submitted" msgstr "" -#: ../roundup/cgi/client.py:1253 +#: ../roundup/cgi/client.py:1279 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:1376 +#: ../roundup/cgi/client.py:1430 msgid "Referer header not available." msgstr "" -#: ../roundup/cgi/client.py:1380 +#: ../roundup/cgi/client.py:1434 #, python-format msgid "csrf key used with wrong method from: %s" msgstr "" -#: ../roundup/cgi/client.py:1409 +#: ../roundup/cgi/client.py:1463 #, python-format msgid "csrf header %(header)s required but missing for user%(userid)s." msgstr "" -#: ../roundup/cgi/client.py:1413 +#: ../roundup/cgi/client.py:1467 #, python-format msgid "Missing header: %s" msgstr "" -#: ../roundup/cgi/client.py:1421 +#: ../roundup/cgi/client.py:1475 #, 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:1426 +#: ../roundup/cgi/client.py:1480 #, fuzzy, python-format msgid "Invalid Referer: %s" msgstr "nombre de usuario contrasea invlidos" -#: ../roundup/cgi/client.py:1441 +#: ../roundup/cgi/client.py:1495 #, 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:1446 +#: ../roundup/cgi/client.py:1500 #, fuzzy, python-format msgid "Invalid Origin %s" msgstr "nombre de usuario contrasea invlidos" -#: ../roundup/cgi/client.py:1460 +#: ../roundup/cgi/client.py:1514 #, python-format msgid "" "csrf X-FORWARDED-HOST header check failed for user%(userid)s. Value=%(host)s" msgstr "" -#: ../roundup/cgi/client.py:1466 +#: ../roundup/cgi/client.py:1520 #, python-format msgid "Invalid X-FORWARDED-HOST %s" msgstr "" -#: ../roundup/cgi/client.py:1485 +#: ../roundup/cgi/client.py:1539 #, python-format msgid "csrf HOST header check failed for user%(userid)s. Value=%(host)s" msgstr "" -#: ../roundup/cgi/client.py:1490 +#: ../roundup/cgi/client.py:1544 #, python-format msgid "Invalid HOST %s" msgstr "" -#: ../roundup/cgi/client.py:1498 +#: ../roundup/cgi/client.py:1552 msgid "Csrf: unable to verify sufficient headers" msgstr "" -#: ../roundup/cgi/client.py:1499 +#: ../roundup/cgi/client.py:1553 msgid "Unable to verify sufficient headers" msgstr "" -#: ../roundup/cgi/client.py:1513 +#: ../roundup/cgi/client.py:1567 #, python-format msgid "csrf X-REQUESTED-WITH xmlrpc required header check failed for user%s." msgstr "" -#: ../roundup/cgi/client.py:1516 -msgid "Required Header Missing" -msgstr "" - -#: ../roundup/cgi/client.py:1554 +#: ../roundup/cgi/client.py:1608 #, python-format msgid "Required csrf field missing for user%s" msgstr "" -#: ../roundup/cgi/client.py:1556 ../roundup/cgi/client.py:1583 -#: ../roundup/cgi/client.py:1600 ../roundup/cgi/client.py:1556:1583:1600 +#: ../roundup/cgi/client.py:1610 ../roundup/cgi/client.py:1637 +#: ../roundup/cgi/client.py:1654 ../roundup/cgi/client.py:1610:1637:1654 msgid "" "We can't validate your session (csrf failure). Re-enter any unsaved data and " "try again." msgstr "" -#: ../roundup/cgi/client.py:1560 +#: ../roundup/cgi/client.py:1614 #, python-format msgid "csrf field not supplied by user%s" msgstr "" -#: ../roundup/cgi/client.py:1572 +#: ../roundup/cgi/client.py:1626 #, 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:1590 +#: ../roundup/cgi/client.py:1644 #, 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:1784 +#: ../roundup/cgi/client.py:1838 msgid "You are not allowed to view this file." msgstr "Ud. no tiene permitido ver este fichero" -#: ../roundup/cgi/client.py:2073 +#: ../roundup/cgi/client.py:2127 #, python-format msgid "%(starttag)sTime elapsed: %(seconds)fs%(endtag)s\n" msgstr "%(starttag)sTiempo transcurrido: %(seconds)fs%(endtag)s\n" -#: ../roundup/cgi/client.py:2077 +#: ../roundup/cgi/client.py:2131 #, python-format msgid "" "%(starttag)sCache hits: %(cache_hits)d, misses %(cache_misses)d. Loading " @@ -2023,7 +2038,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:2615 +#: ../roundup/cgi/client.py:2669 #, python-format msgid "" "Cache failure: compressed file %(compressed)s is older than its source file " @@ -2430,30 +2445,30 @@ msgid "\"%s\" not a node designator" msgstr "" -#: ../roundup/hyperdb.py:1492 ../roundup/hyperdb.py:1500 -#: ../roundup/hyperdb.py:1492:1500 +#: ../roundup/hyperdb.py:1493 ../roundup/hyperdb.py:1501 +#: ../roundup/hyperdb.py:1493:1501 #, python-format msgid "Not a property name: %s" msgstr "" -#: ../roundup/hyperdb.py:1977 +#: ../roundup/hyperdb.py:1978 #, 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:1983 +#: ../roundup/hyperdb.py:1984 #, python-format msgid "you may only enter ID values for property %s" msgstr "" -#: ../roundup/hyperdb.py:2018 +#: ../roundup/hyperdb.py:2019 #, python-format msgid "%(property)r is not a property of %(classname)s" msgstr "" -#: ../roundup/init.py:139 +#: ../roundup/init.py:141 #, python-format msgid "" "WARNING: directory '%s'\n" @@ -2752,7 +2767,7 @@ "incorrectas:\n" " %(errors)s\n" -#: ../roundup/mailgw.py:1820 +#: ../roundup/mailgw.py:1821 #, fuzzy, python-format msgid "" "\n" @@ -2781,19 +2796,19 @@ msgid "Invalid attribute %s" msgstr "nombre de usuario contrasea invlidos" -#: ../roundup/rest.py:2078 +#: ../roundup/rest.py:2090 #, python-format msgid "Api rate limits exceeded. Please wait: %s seconds." msgstr "" -#: ../roundup/rest.py:2113 +#: ../roundup/rest.py:2125 #, python-format msgid "" "Unable to parse Accept Header. %(error)s. Acceptable types: " "%(acceptable_types)s" msgstr "" -#: ../roundup/rest.py:2262 +#: ../roundup/rest.py:2305 #, python-format msgid "" "Unrecognized api version: %s. See /rest without specifying api version for " @@ -2922,27 +2937,27 @@ msgid "No tracker templates found in directory %s" msgstr "No se encontraron templates de trackers en el directorio %s" -#: ../roundup/scripts/roundup_mailgw.py:185 +#: ../roundup/scripts/roundup_mailgw.py:182 msgid "" "\n" "Error: The instance home must be specified" msgstr "" -#: ../roundup/scripts/roundup_mailgw.py:203 +#: ../roundup/scripts/roundup_mailgw.py:200 #, fuzzy msgid "" "\n" "Error: not enough source specification information" msgstr "Error: no hay informacin de especificacin de origen suficiente" -#: ../roundup/scripts/roundup_mailgw.py:234 +#: ../roundup/scripts/roundup_mailgw.py:231 #, fuzzy, python-format msgid "" "\n" "Error: %s specification not valid" msgstr "Error: especification pop no vlida" -#: ../roundup/scripts/roundup_mailgw.py:258 +#: ../roundup/scripts/roundup_mailgw.py:254 #, fuzzy msgid "" "\n" @@ -2956,7 +2971,7 @@ msgid "WARNING: generating temporary SSL certificate" msgstr "ATENCION: generando certificado SLL temporario" -#: ../roundup/scripts/roundup_server.py:329 +#: ../roundup/scripts/roundup_server.py:331 msgid "" "<html><head><title>Roundup trackers index</title></head>\n" "<body><h1>Roundup trackers index</h1><ol>\n" @@ -2964,59 +2979,59 @@ "<html><head><title>ndice de trackers Roundup</title></head>\n" "<body><h1>ndice de trackers Roundup</h1><ol>\n" -#: ../roundup/scripts/roundup_server.py:549 +#: ../roundup/scripts/roundup_server.py:551 #, fuzzy, python-format msgid "Error: %(type)s: %(value)s" msgstr "%(key)s: %(value)s" -#: ../roundup/scripts/roundup_server.py:561 +#: ../roundup/scripts/roundup_server.py:563 msgid "WARNING: ignoring \"-g\" argument, not root" msgstr "ATENCIN: ignorando argumento \"-g\" , Ud. no es root" -#: ../roundup/scripts/roundup_server.py:567 +#: ../roundup/scripts/roundup_server.py:569 msgid "Can't change groups - no grp module" msgstr "No puede cambiar grupos - el mdulo grp no est presente" -#: ../roundup/scripts/roundup_server.py:576 +#: ../roundup/scripts/roundup_server.py:578 #, python-format msgid "Group %(group)s doesn't exist" msgstr "El grupo %(group)s no existe" -#: ../roundup/scripts/roundup_server.py:588 +#: ../roundup/scripts/roundup_server.py:590 msgid "Can't run as root!" msgstr "No puede ejecutarse como root!" -#: ../roundup/scripts/roundup_server.py:591 +#: ../roundup/scripts/roundup_server.py:593 msgid "WARNING: ignoring \"-u\" argument, not root" msgstr "ATENCIN: ignorando argumento \"-u\", Ud. no es root" -#: ../roundup/scripts/roundup_server.py:597 +#: ../roundup/scripts/roundup_server.py:599 msgid "Can't change users - no pwd module" msgstr "No puedo cambiar usuarios - no existe el mdulo pwd" -#: ../roundup/scripts/roundup_server.py:606 +#: ../roundup/scripts/roundup_server.py:608 #, python-format msgid "User %(user)s doesn't exist" msgstr "El usuario %(user)s no existe" -#: ../roundup/scripts/roundup_server.py:803 +#: ../roundup/scripts/roundup_server.py:805 #, 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:830 +#: ../roundup/scripts/roundup_server.py:832 #, 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:834 +#: ../roundup/scripts/roundup_server.py:836 #, 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:913 +#: ../roundup/scripts/roundup_server.py:915 msgid "" " -c <Command> Windows Service options.\n" " If you want to run the server as a Windows Service, you\n" @@ -3038,7 +3053,7 @@ "para\n" " Servicios Web." -#: ../roundup/scripts/roundup_server.py:920 +#: ../roundup/scripts/roundup_server.py:922 msgid "" " -u <UID> runs the Roundup web server as this UID\n" " -g <GID> runs the Roundup web server as this GID\n" @@ -3053,7 +3068,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:927 +#: ../roundup/scripts/roundup_server.py:929 #, fuzzy, python-format msgid "" "\n" @@ -3186,22 +3201,22 @@ " caracteres tales como espacios, dado que los mismos confunden a Internet " "Explorer.\n" -#: ../roundup/scripts/roundup_server.py:1103 +#: ../roundup/scripts/roundup_server.py:1105 msgid "Instances must be name=home" msgstr "Las Instancias debe ser de la forma nombre=directorio base" -#: ../roundup/scripts/roundup_server.py:1117 +#: ../roundup/scripts/roundup_server.py:1119 #, python-format msgid "Configuration saved to %s" msgstr "Configuracin guardada en %s" -#: ../roundup/scripts/roundup_server.py:1135 +#: ../roundup/scripts/roundup_server.py:1137 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:1155 +#: ../roundup/scripts/roundup_server.py:1157 #, python-format msgid "Roundup server started on %(HOST)s:%(PORT)s" msgstr "servidor Roundup iniciado en %(HOST)s:%(PORT)s" @@ -5692,6 +5707,9 @@ msgid "Password" msgstr "Contrasea para Login" +#~ msgid "roundup> " +#~ msgstr "roundup> " + #, fuzzy #~ msgid "" #~ "Usage: %(program)s [-v] [-c class] [[-C class] -S field=value]* [instance "
--- a/locale/fr.po Wed Mar 01 10:43:54 2023 -0500 +++ b/locale/fr.po Wed Mar 01 10:51:37 2023 -0500 @@ -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: 2022-11-23 22:28-0500\n" +"POT-Creation-Date: 2023-03-01 10:35-0500\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" @@ -27,26 +27,26 @@ msgstr "" "Vous n'avez pas les permissions pour %(action)s la classe %(classname)s." -#: ../roundup/actions.py:64 ../roundup/cgi/actions.py:240 +#: ../roundup/actions.py:65 ../roundup/cgi/actions.py:240 msgid "You may not retire the admin or anonymous user" msgstr "Vous ne pouvez pas abandonner les utilisateurs admin ou anonyme" # ../roundup/admin.py:85 :979 :1028 :1050 # ../roundup/admin.py:1052 ../roundup/admin.py:85:981 :1030:1052 -#: ../roundup/admin.py:106 ../roundup/admin.py:1259 ../roundup/admin.py:1314 -#: ../roundup/admin.py:1341 ../roundup/admin.py:106:1259 :1314:1341 +#: ../roundup/admin.py:112 ../roundup/admin.py:1295 ../roundup/admin.py:1350 +#: ../roundup/admin.py:1377 ../roundup/admin.py:112:1295 :1350:1377 #, 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:118 +#: ../roundup/admin.py:124 #, 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:131 +#: ../roundup/admin.py:137 #, python-format msgid "" "Problem: %(message)s\n" @@ -55,7 +55,7 @@ "Problme: %(message)s\n" "\n" -#: ../roundup/admin.py:132 +#: ../roundup/admin.py:138 #, fuzzy, python-format msgid "" "%(message)sUsage: roundup-admin [options] [<command> <arguments>]\n" @@ -111,12 +111,12 @@ " roundup-admin help <commande> -- l'aide sur une commande\n" " roundup-admin help all -- toute l'aide disponible\n" -#: ../roundup/admin.py:159 +#: ../roundup/admin.py:165 #, fuzzy msgid "Commands: " msgstr "Commandes:" -#: ../roundup/admin.py:166 +#: ../roundup/admin.py:172 msgid "" "Commands may be abbreviated as long as the abbreviation\n" "matches only one command, e.g. l == li == lis == list." @@ -125,7 +125,8 @@ "o l'abrviation ne correspond qu' une seule commande,\n" "par ex.: l == li == lis == list." -#: ../roundup/admin.py:195 +#: ../roundup/admin.py:201 +#, fuzzy msgid "" "\n" "All commands (except help) require a tracker specifier. This is just\n" @@ -177,7 +178,7 @@ " . ROUNDUP_LOGIN environment variable\n" " . the -u command-line option\n" "If either the name or password is not supplied, they are obtained from the\n" -"command-line.\n" +"command-line. (See admin guide before using -u.)\n" "\n" "Date format examples:\n" " \"2000-04-17.03:45\" means <Date 2000-04-17.08:45:00>\n" @@ -263,12 +264,12 @@ "\n" "Aide sur les commandes:\n" -#: ../roundup/admin.py:258 +#: ../roundup/admin.py:264 #, python-format msgid "%s:" msgstr "%s:" -#: ../roundup/admin.py:265 +#: ../roundup/admin.py:271 msgid "" "Usage: help topic\n" " Give help about topic.\n" @@ -288,24 +289,24 @@ " all -- toute l'aide disponible\n" " " -#: ../roundup/admin.py:287 +#: ../roundup/admin.py:293 #, 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:402 ../roundup/admin.py:458 ../roundup/admin.py:402:458 +#: ../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:405 ../roundup/admin.py:468 ../roundup/admin.py:405:468 +#: ../roundup/admin.py:411 ../roundup/admin.py:474 ../roundup/admin.py:411:474 msgid "Back ends:" msgstr "Moteurs de stockage:" -#: ../roundup/admin.py:408 +#: ../roundup/admin.py:414 #, fuzzy msgid "" "Usage: install [template [backend [key=val[,key=val]]]]\n" @@ -364,23 +365,23 @@ # :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:431 ../roundup/admin.py:562 ../roundup/admin.py:635 -#: ../roundup/admin.py:728 ../roundup/admin.py:786 ../roundup/admin.py:872 -#: ../roundup/admin.py:931 ../roundup/admin.py:958 ../roundup/admin.py:985 -#: ../roundup/admin.py:1062 ../roundup/admin.py:1157 ../roundup/admin.py:1243 -#: ../roundup/admin.py:1304 ../roundup/admin.py:1331 ../roundup/admin.py:1367 -#: ../roundup/admin.py:1495 ../roundup/admin.py:1579 -#: ../roundup/admin.py:431:562 :1157 :1243:1304 :1331:1367 :1495:1579 :635:728 -#: :786:872 :931:958 :985:1062 +#: ../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:437 +#: ../roundup/admin.py:443 #, 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:446 +#: ../roundup/admin.py:452 #, python-format msgid "" "WARNING: There appears to be a tracker in \"%(tracker_home)s\"!\n" @@ -392,22 +393,22 @@ "Si vous le rinstallez, vous perdrez toutes les donnes!\n" "Supprimer le pisteur (Y/N)? " -#: ../roundup/admin.py:459 +#: ../roundup/admin.py:465 #, fuzzy msgid "Select template" msgstr "Slection du modle [classic]: " -#: ../roundup/admin.py:469 +#: ../roundup/admin.py:475 #, fuzzy msgid "Select backend" msgstr "Slection du moteur de stockage [anydbm]: " -#: ../roundup/admin.py:480 +#: ../roundup/admin.py:486 #, python-format msgid "Error in configuration settings: \"%s\"" msgstr "Erreur dans les paramtres de la configuration: %s" -#: ../roundup/admin.py:511 +#: ../roundup/admin.py:517 #, python-format msgid "" "\n" @@ -420,11 +421,11 @@ " Vous devez maintenant modifier le fichier de configuration du pisteur:\n" " %(config_file)s" -#: ../roundup/admin.py:521 +#: ../roundup/admin.py:527 msgid " ... at a minimum, you must set following options:" msgstr " ou au minimum, vous devez dfinir les options suivantes:" -#: ../roundup/admin.py:526 +#: ../roundup/admin.py:532 #, python-format msgid "" "\n" @@ -456,7 +457,7 @@ " que vous avez ralis les tapes prcdentes.\n" "---------------------------------------------------------------------------\n" -#: ../roundup/admin.py:557 +#: ../roundup/admin.py:563 #, fuzzy msgid "" "Usage: genconfig <filename>\n" @@ -469,7 +470,22 @@ " (au format ini) avec des valeurs par dfaut dans\n" " <nomfichier>" -#: ../roundup/admin.py:572 +#: ../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 #, fuzzy msgid "" "Usage: updateconfig <filename>\n" @@ -484,7 +500,7 @@ " <nomfichier>" #. password -#: ../roundup/admin.py:580 +#: ../roundup/admin.py:612 msgid "" "Usage: initialise [adminpw]\n" " Initialise a new Roundup tracker.\n" @@ -503,23 +519,23 @@ " Excute la fonction d'initialisation dbinit.init() du pisteur.\n" " " -#: ../roundup/admin.py:594 +#: ../roundup/admin.py:626 msgid "Admin Password: " msgstr "Mot de passe administrateur: " -#: ../roundup/admin.py:595 +#: ../roundup/admin.py:627 msgid " Confirm: " msgstr " Confirmez: " -#: ../roundup/admin.py:599 +#: ../roundup/admin.py:631 msgid "Instance home does not exist" msgstr "Le rpertoire racine de l'instance n'existe pas" -#: ../roundup/admin.py:603 +#: ../roundup/admin.py:635 msgid "Instance has not been installed" msgstr "L'instance n'a pas t installe" -#: ../roundup/admin.py:609 +#: ../roundup/admin.py:641 msgid "" "WARNING: The database is already initialised!\n" "If you re-initialise it, you will lose all the data!\n" @@ -529,7 +545,7 @@ "Si vous la rinitialisez, vous perdrez toutes les donnes!\n" "Supprimez la base de donnes (Y/N)? " -#: ../roundup/admin.py:625 +#: ../roundup/admin.py:661 #, fuzzy msgid "" "Usage: get property designator[,designator]*\n" @@ -551,7 +567,7 @@ # ../roundup/admin.py:558 :573 # ../roundup/admin.py:560 ../roundup/admin.py:575 ../roundup/admin.py:560:575 -#: ../roundup/admin.py:669 ../roundup/admin.py:687 ../roundup/admin.py:669:687 +#: ../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 "" @@ -560,19 +576,19 @@ # ../roundup/admin.py:581 :981 :1030 :1052 # ../roundup/admin.py:1054 ../roundup/admin.py:583:983 :1032:1054 -#: ../roundup/admin.py:697 ../roundup/admin.py:1261 ../roundup/admin.py:1316 -#: ../roundup/admin.py:697:1261:1316 +#: ../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 "le noeud %(nodeid)s de classe %(classname)s n'existe pas" -#: ../roundup/admin.py:700 +#: ../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:708 +#: ../roundup/admin.py:744 #, fuzzy msgid "" "Usage: set items property=value property=value ...\n" @@ -607,7 +623,7 @@ " ce lien sont indiqus comme des nombres spars par des\n" " virgules (par ex. 1,2,3)." -#: ../roundup/admin.py:776 +#: ../roundup/admin.py:812 #, fuzzy msgid "" "Usage: filter classname propname=value ...\n" @@ -631,21 +647,21 @@ # ../roundup/admin.py:699 :852 :864 :918 # ../roundup/admin.py:920 ../roundup/admin.py:701:854 :866:920 -#: ../roundup/admin.py:819 +#: ../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:857 ../roundup/admin.py:918 ../roundup/admin.py:1082 -#: ../roundup/admin.py:1094 ../roundup/admin.py:1177 -#: ../roundup/admin.py:857:918 :1082:1094:1177 +#: ../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:864 +#: ../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" @@ -664,7 +680,7 @@ " noeud li, ou sa valeur de cl.\n" " " -#: ../roundup/admin.py:925 +#: ../roundup/admin.py:961 msgid "" "Usage: specification classname\n" " Show the properties for a classname.\n" @@ -678,17 +694,17 @@ " Cette commande numre les proprits de la classe nomme.\n" " " -#: ../roundup/admin.py:941 +#: ../roundup/admin.py:977 #, fuzzy, python-format msgid "%(key)s: %(value)s (key property)\n" msgstr "%(key)s: %(value)s (proprit cl)" -#: ../roundup/admin.py:944 +#: ../roundup/admin.py:980 #, fuzzy, python-format msgid "%(key)s: %(value)s\n" msgstr "%(key)s: %(value)s" -#: ../roundup/admin.py:947 +#: ../roundup/admin.py:983 #, fuzzy msgid "" "Usage: display designator[,designator]*\n" @@ -709,12 +725,12 @@ " des noeuds indiqus.\n" " " -#: ../roundup/admin.py:974 +#: ../roundup/admin.py:1010 #, python-format msgid "%(key)s: %(value)s" msgstr "%(key)s: %(value)s" -#: ../roundup/admin.py:977 +#: ../roundup/admin.py:1013 msgid "" "Usage: create classname property=value ...\n" " Create a new entry of a given class.\n" @@ -734,31 +750,31 @@ " create.\n" " " -#: ../roundup/admin.py:1005 +#: ../roundup/admin.py:1041 #, python-format msgid "%(propname)s (Password): " msgstr "%(propname)s (mot de passe): " -#: ../roundup/admin.py:1008 +#: ../roundup/admin.py:1044 #, python-format msgid " %(propname)s (Again): " msgstr " %(propname)s ( nouveau): " -#: ../roundup/admin.py:1012 +#: ../roundup/admin.py:1048 msgid "Sorry, try again..." msgstr "Dsol, essayez nouveau..." -#: ../roundup/admin.py:1016 +#: ../roundup/admin.py:1052 #, python-format msgid "%(propname)s (%(proptype)s): " msgstr "%(propname)s (%(proptype)s): " -#: ../roundup/admin.py:1035 +#: ../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:1047 +#: ../roundup/admin.py:1083 msgid "" "Usage: list classname [property]\n" " List the instances of a class.\n" @@ -788,16 +804,16 @@ " proprit pour chaque instance de cette classe.\n" " " -#: ../roundup/admin.py:1060 +#: ../roundup/admin.py:1096 msgid "Too many arguments supplied" msgstr "Trop d'arguments fournis" -#: ../roundup/admin.py:1096 +#: ../roundup/admin.py:1132 #, python-format msgid "%(nodeid)4s: %(value)s" msgstr "%(nodeid)4s: %(value)s" -#: ../roundup/admin.py:1100 +#: ../roundup/admin.py:1136 msgid "" "Usage: templates [trace_search]\n" " List templates and their installed directories.\n" @@ -807,7 +823,7 @@ " " msgstr "" -#: ../roundup/admin.py:1128 +#: ../roundup/admin.py:1164 msgid "" "Usage: table classname [property[,property]*]\n" " List the instances of a class in tabular form.\n" @@ -869,17 +885,17 @@ " donnera une colonne Name large de 4 caractres.\n" " " -#: ../roundup/admin.py:1172 +#: ../roundup/admin.py:1208 #, python-format msgid "\"%(spec)s\" not name:width" msgstr "%(spec)s ne correspond pas au format nom:largeur" -#: ../roundup/admin.py:1194 +#: ../roundup/admin.py:1230 #, python-format msgid "\"%(spec)s\" does not have an integer width: \"%(width)s\"" msgstr "" -#: ../roundup/admin.py:1230 +#: ../roundup/admin.py:1266 msgid "" "Usage: history designator [skipquiet]\n" " Show the history entries of a designator.\n" @@ -894,7 +910,7 @@ " " msgstr "" -#: ../roundup/admin.py:1266 +#: ../roundup/admin.py:1302 msgid "" "Usage: commit\n" " Commit changes made to the database during an interactive session.\n" @@ -919,7 +935,7 @@ " automatiquement valides si elles russissent.\n" " " -#: ../roundup/admin.py:1281 +#: ../roundup/admin.py:1317 msgid "" "Usage: rollback\n" " Undo all changes that are pending commit to the database.\n" @@ -942,7 +958,7 @@ " base de donnes.\n" " " -#: ../roundup/admin.py:1294 +#: ../roundup/admin.py:1330 #, fuzzy msgid "" "Usage: retire designator[,designator]*\n" @@ -963,7 +979,7 @@ " valeur de cl peut tre r-utilise.\n" " " -#: ../roundup/admin.py:1322 +#: ../roundup/admin.py:1358 #, fuzzy msgid "" "Usage: restore designator[,designator]*\n" @@ -985,13 +1001,13 @@ # ../roundup/admin.py:581 :981 :1030 :1052 # ../roundup/admin.py:1054 ../roundup/admin.py:583:983 :1032:1054 -#: ../roundup/admin.py:1347 +#: ../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:1353 +#: ../roundup/admin.py:1389 #, fuzzy msgid "" "Usage: export [[-]class[,class]] export_dir\n" @@ -1018,7 +1034,7 @@ " format aux valeurs spares par des doubles-points.\n" " " -#: ../roundup/admin.py:1460 +#: ../roundup/admin.py:1496 #, fuzzy msgid "" "Usage: exporttables [[-]class[,class]] export_dir\n" @@ -1046,7 +1062,7 @@ " format aux valeurs spares par des doubles-points.\n" " " -#: ../roundup/admin.py:1475 +#: ../roundup/admin.py:1511 msgid "" "Usage: import import_dir\n" " Import a database from the directory containing CSV files,\n" @@ -1091,7 +1107,7 @@ " plus pniblement, abandonnez toutes les anciennes donnes).\n" " " -#: ../roundup/admin.py:1554 +#: ../roundup/admin.py:1590 msgid "" "Usage: importtables export_dir\n" "\n" @@ -1099,7 +1115,7 @@ " " msgstr "" -#: ../roundup/admin.py:1561 +#: ../roundup/admin.py:1597 msgid "" "Usage: pack period | date\n" "\n" @@ -1141,11 +1157,11 @@ "\n" " " -#: ../roundup/admin.py:1589 +#: ../roundup/admin.py:1625 msgid "Invalid format" msgstr "Format non valide" -#: ../roundup/admin.py:1602 +#: ../roundup/admin.py:1638 msgid "" "Usage: reindex [classname|designator]*\n" " Re-generate a tracker's search indexes.\n" @@ -1161,12 +1177,12 @@ " Cette opration est normalement effectuer automatiquement.\n" " " -#: ../roundup/admin.py:1616 +#: ../roundup/admin.py:1652 #, python-format msgid "no such item \"%(designator)s\"" msgstr "pas d'lment %(designator)s" -#: ../roundup/admin.py:1626 +#: ../roundup/admin.py:1662 #, fuzzy msgid "" "Usage: security [Role name]\n" @@ -1178,48 +1194,48 @@ " Affiche les permissions disponible pour un ou plusieurs rles.\n" " " -#: ../roundup/admin.py:1635 +#: ../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:1641 +#: ../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:1644 +#: ../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:1648 +#: ../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:1650 +#: ../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:1653 +#: ../roundup/admin.py:1689 #, fuzzy, python-format msgid "Role \"%(name)s\":\n" msgstr "Rle %(name)s:" -#: ../roundup/admin.py:1659 +#: ../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:1659 +#: ../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:1672 +#: ../roundup/admin.py:1708 #, python-format msgid "" "\n" @@ -1227,17 +1243,17 @@ "\n" msgstr "" -#: ../roundup/admin.py:1678 +#: ../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:1681 +#: ../roundup/admin.py:1717 #, fuzzy, python-format msgid " %(description)s (%(name)s)\n" msgstr " %(description)s (%(name)s)" -#: ../roundup/admin.py:1685 +#: ../roundup/admin.py:1721 msgid "" "Usage: migrate\n" "\n" @@ -1261,44 +1277,44 @@ " " msgstr "" -#: ../roundup/admin.py:1706 +#: ../roundup/admin.py:1742 #, fuzzy msgid "Tracker updated" msgstr "Accueil de Tracker" -#: ../roundup/admin.py:1709 +#: ../roundup/admin.py:1745 msgid "No migration action required" msgstr "" -#: ../roundup/admin.py:1735 +#: ../roundup/admin.py:1771 #, 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:1741 +#: ../roundup/admin.py:1777 #, python-format msgid "Multiple commands match \"%(command)s\": %(list)s" msgstr "Plusieurs commandes correspondent %(command)s: %(list)s" -#: ../roundup/admin.py:1750 +#: ../roundup/admin.py:1786 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:1759 ../roundup/admin.py:1765 ../roundup/admin.py:1802 -#: ../roundup/admin.py:1759:1765:1802 +#: ../roundup/admin.py:1795 ../roundup/admin.py:1801 ../roundup/admin.py:1838 +#: ../roundup/admin.py:1795:1801:1838 #, python-format msgid "Error: %(message)s" msgstr "Erreur: %(message)s" -#: ../roundup/admin.py:1775 ../roundup/admin.py:1779 -#: ../roundup/admin.py:1775:1779 +#: ../roundup/admin.py:1811 ../roundup/admin.py:1815 +#: ../roundup/admin.py:1811:1815 #, python-format msgid "Error: Couldn't open tracker: %(message)s" msgstr "Erreur: impossible d'ouvrir le pisteur, %(message)s" -#: ../roundup/admin.py:1815 +#: ../roundup/admin.py:1851 #, python-format msgid "" "Roundup %s ready for input.\n" @@ -1307,19 +1323,15 @@ "Roundup %s est prt pour la saisie.\n" "Saisissez help pour l'aide." -#: ../roundup/admin.py:1820 +#: ../roundup/admin.py:1856 msgid "Note: command history and editing not available" msgstr "Note: l'historique et l'dition des commandes n'est pas disponible" -#: ../roundup/admin.py:1824 -msgid "roundup> " -msgstr "roundup> " - -#: ../roundup/admin.py:1826 +#: ../roundup/admin.py:1862 msgid "exit..." msgstr "sortie..." -#: ../roundup/admin.py:1839 +#: ../roundup/admin.py:1875 msgid "There are unsaved changes. Commit them (y/N)? " msgstr "Des changements n'ont pas t enregistrs, les valider (y/N)?" @@ -1427,20 +1439,22 @@ msgid "restored" msgstr "restaur" -#: ../roundup/backends/sessions_redis.py:76 -#: ../roundup/backends/sessions_redis.py:95 -#: ../roundup/backends/sessions_redis.py:76:95 +#: ../roundup/backends/sessions_redis.py:78 +#: ../roundup/backends/sessions_redis.py:97 +#: ../roundup/backends/sessions_redis.py:78:97 #, python-format msgid "Key %(key)s not found in %(name)s database." msgstr "" -#: ../roundup/backends/sessions_redis.py:191 +#: ../roundup/backends/sessions_redis.py:193 #, python-format msgid "Key %(key)s changed in %(name)s db" msgstr "" -#: ../roundup/backends/sessions_redis.py:195 -msgid "Redis set failed afer 3 retries" +#: ../roundup/backends/sessions_redis.py:203 +#, python-format +msgid "" +"Redis set failed after %(retries)d retries for user %(user)s with key %(key)s" msgstr "" #: ../roundup/cgi/actions.py:97 @@ -1764,22 +1778,22 @@ # ../roundup/cgi/actions.py:930 :934 # ../roundup/cgi/actions.py:930:934 -#: ../roundup/cgi/actions.py:1383 ../roundup/cgi/actions.py:1387 -#: ../roundup/cgi/actions.py:1383:1387 +#: ../roundup/cgi/actions.py:1384 ../roundup/cgi/actions.py:1388 +#: ../roundup/cgi/actions.py:1384:1388 msgid "Invalid login" msgstr "Tentative de connexion non valide" -#: ../roundup/cgi/actions.py:1393 +#: ../roundup/cgi/actions.py:1394 msgid "You do not have permission to login" msgstr "Vous n'avez la permission de vous connecter" -#: ../roundup/cgi/actions.py:1437 ../roundup/cgi/actions.py:1616 -#: ../roundup/cgi/actions.py:1437:1616 +#: ../roundup/cgi/actions.py:1439 ../roundup/cgi/actions.py:1618 +#: ../roundup/cgi/actions.py:1439:1618 #, python-format msgid "Column \"%(column)s\" not found in %(class)s" msgstr "" -#: ../roundup/cgi/actions.py:1687 +#: ../roundup/cgi/actions.py:1689 #, fuzzy, python-format msgid "You do not have permission to view %(class)s" msgstr "Vous n'avez pas la permission de modifier %(class)s" @@ -1885,153 +1899,154 @@ "Les administrateurs du pisteur ont t notifis du problme.</p>\n" "</body></html>" -#: ../roundup/cgi/client.py:651 +#: ../roundup/cgi/client.py:670 ../roundup/cgi/client.py:1570 +#: ../roundup/cgi/client.py:670:1570 +msgid "Required Header Missing" +msgstr "" + +#: ../roundup/cgi/client.py:672 #, fuzzy msgid "Client is not allowed to use Rest Interface." msgstr "" "Les utilisateurs anonymes ne sont pas autoriss utiliser l'interface Web" -#: ../roundup/cgi/client.py:895 +#: ../roundup/cgi/client.py:921 msgid "Form Error: " msgstr "Erreur de formulaire: " -#: ../roundup/cgi/client.py:985 +#: ../roundup/cgi/client.py:1011 #, python-format msgid "Unrecognized charset: %r" msgstr "Jeu de caractres non reconnu: %r" -#: ../roundup/cgi/client.py:1238 ../roundup/cgi/client.py:2196 -#: ../roundup/cgi/client.py:1238:2196 +#: ../roundup/cgi/client.py:1264 ../roundup/cgi/client.py:2250 +#: ../roundup/cgi/client.py:1264:2250 msgid "broken form: multiple @action values submitted" msgstr "" -#: ../roundup/cgi/client.py:1253 +#: ../roundup/cgi/client.py:1279 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:1376 +#: ../roundup/cgi/client.py:1430 msgid "Referer header not available." msgstr "" -#: ../roundup/cgi/client.py:1380 +#: ../roundup/cgi/client.py:1434 #, python-format msgid "csrf key used with wrong method from: %s" msgstr "" -#: ../roundup/cgi/client.py:1409 +#: ../roundup/cgi/client.py:1463 #, python-format msgid "csrf header %(header)s required but missing for user%(userid)s." msgstr "" -#: ../roundup/cgi/client.py:1413 +#: ../roundup/cgi/client.py:1467 #, python-format msgid "Missing header: %s" msgstr "" -#: ../roundup/cgi/client.py:1421 +#: ../roundup/cgi/client.py:1475 #, 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:1426 +#: ../roundup/cgi/client.py:1480 #, fuzzy, python-format msgid "Invalid Referer: %s" msgstr "Tentative de connexion non valide" -#: ../roundup/cgi/client.py:1441 +#: ../roundup/cgi/client.py:1495 #, 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:1446 +#: ../roundup/cgi/client.py:1500 #, fuzzy, python-format msgid "Invalid Origin %s" msgstr "Tentative de connexion non valide" -#: ../roundup/cgi/client.py:1460 +#: ../roundup/cgi/client.py:1514 #, python-format msgid "" "csrf X-FORWARDED-HOST header check failed for user%(userid)s. Value=%(host)s" msgstr "" -#: ../roundup/cgi/client.py:1466 +#: ../roundup/cgi/client.py:1520 #, python-format msgid "Invalid X-FORWARDED-HOST %s" msgstr "" -#: ../roundup/cgi/client.py:1485 +#: ../roundup/cgi/client.py:1539 #, python-format msgid "csrf HOST header check failed for user%(userid)s. Value=%(host)s" msgstr "" -#: ../roundup/cgi/client.py:1490 +#: ../roundup/cgi/client.py:1544 #, python-format msgid "Invalid HOST %s" msgstr "" -#: ../roundup/cgi/client.py:1498 +#: ../roundup/cgi/client.py:1552 msgid "Csrf: unable to verify sufficient headers" msgstr "" -#: ../roundup/cgi/client.py:1499 +#: ../roundup/cgi/client.py:1553 msgid "Unable to verify sufficient headers" msgstr "" -#: ../roundup/cgi/client.py:1513 +#: ../roundup/cgi/client.py:1567 #, python-format msgid "csrf X-REQUESTED-WITH xmlrpc required header check failed for user%s." msgstr "" -#: ../roundup/cgi/client.py:1516 -msgid "Required Header Missing" -msgstr "" - -#: ../roundup/cgi/client.py:1554 +#: ../roundup/cgi/client.py:1608 #, python-format msgid "Required csrf field missing for user%s" msgstr "" -#: ../roundup/cgi/client.py:1556 ../roundup/cgi/client.py:1583 -#: ../roundup/cgi/client.py:1600 ../roundup/cgi/client.py:1556:1583:1600 +#: ../roundup/cgi/client.py:1610 ../roundup/cgi/client.py:1637 +#: ../roundup/cgi/client.py:1654 ../roundup/cgi/client.py:1610:1637:1654 msgid "" "We can't validate your session (csrf failure). Re-enter any unsaved data and " "try again." msgstr "" -#: ../roundup/cgi/client.py:1560 +#: ../roundup/cgi/client.py:1614 #, python-format msgid "csrf field not supplied by user%s" msgstr "" -#: ../roundup/cgi/client.py:1572 +#: ../roundup/cgi/client.py:1626 #, 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:1590 +#: ../roundup/cgi/client.py:1644 #, 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:1784 +#: ../roundup/cgi/client.py:1838 msgid "You are not allowed to view this file." msgstr "Vous n'tes pas autoris voir ce fichier" -#: ../roundup/cgi/client.py:2073 +#: ../roundup/cgi/client.py:2127 #, python-format msgid "%(starttag)sTime elapsed: %(seconds)fs%(endtag)s\n" msgstr "%(starttag)sTemps coul: %(seconds)fs%(endtag)s\n" -#: ../roundup/cgi/client.py:2077 +#: ../roundup/cgi/client.py:2131 #, python-format msgid "" "%(starttag)sCache hits: %(cache_hits)d, misses %(cache_misses)d. Loading " @@ -2041,7 +2056,7 @@ "Chargement d'lments: %(get_items)f secondes. Filtrage: %(filtering)f " "secondes.%(endtag)s\n" -#: ../roundup/cgi/client.py:2615 +#: ../roundup/cgi/client.py:2669 #, python-format msgid "" "Cache failure: compressed file %(compressed)s is older than its source file " @@ -2457,30 +2472,30 @@ msgid "\"%s\" not a node designator" msgstr "" -#: ../roundup/hyperdb.py:1492 ../roundup/hyperdb.py:1500 -#: ../roundup/hyperdb.py:1492:1500 +#: ../roundup/hyperdb.py:1493 ../roundup/hyperdb.py:1501 +#: ../roundup/hyperdb.py:1493:1501 #, python-format msgid "Not a property name: %s" msgstr "" -#: ../roundup/hyperdb.py:1977 +#: ../roundup/hyperdb.py:1978 #, 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:1983 +#: ../roundup/hyperdb.py:1984 #, python-format msgid "you may only enter ID values for property %s" msgstr "" -#: ../roundup/hyperdb.py:2018 +#: ../roundup/hyperdb.py:2019 #, python-format msgid "%(property)r is not a property of %(classname)s" msgstr "" -#: ../roundup/init.py:139 +#: ../roundup/init.py:141 #, python-format msgid "" "WARNING: directory '%s'\n" @@ -2780,7 +2795,7 @@ "corrigs:\n" " %(errors)s\n" -#: ../roundup/mailgw.py:1820 +#: ../roundup/mailgw.py:1821 #, fuzzy, python-format msgid "" "\n" @@ -2810,19 +2825,19 @@ msgid "Invalid attribute %s" msgstr "Tentative de connexion non valide" -#: ../roundup/rest.py:2078 +#: ../roundup/rest.py:2090 #, python-format msgid "Api rate limits exceeded. Please wait: %s seconds." msgstr "" -#: ../roundup/rest.py:2113 +#: ../roundup/rest.py:2125 #, python-format msgid "" "Unable to parse Accept Header. %(error)s. Acceptable types: " "%(acceptable_types)s" msgstr "" -#: ../roundup/rest.py:2262 +#: ../roundup/rest.py:2305 #, python-format msgid "" "Unrecognized api version: %s. See /rest without specifying api version for " @@ -2948,13 +2963,13 @@ msgid "No tracker templates found in directory %s" msgstr "Aucun modle de pisteur dans le rpertoire %s" -#: ../roundup/scripts/roundup_mailgw.py:185 +#: ../roundup/scripts/roundup_mailgw.py:182 msgid "" "\n" "Error: The instance home must be specified" msgstr "" -#: ../roundup/scripts/roundup_mailgw.py:203 +#: ../roundup/scripts/roundup_mailgw.py:200 #, fuzzy msgid "" "\n" @@ -2962,14 +2977,14 @@ msgstr "" "Erreur: pas suffisament d'informations dans la spcification de la source" -#: ../roundup/scripts/roundup_mailgw.py:234 +#: ../roundup/scripts/roundup_mailgw.py:231 #, fuzzy, python-format msgid "" "\n" "Error: %s specification not valid" msgstr "Erreur: la spcification pop n'est pas valide" -#: ../roundup/scripts/roundup_mailgw.py:258 +#: ../roundup/scripts/roundup_mailgw.py:254 #, fuzzy msgid "" "\n" @@ -2983,7 +2998,7 @@ msgid "WARNING: generating temporary SSL certificate" msgstr "" -#: ../roundup/scripts/roundup_server.py:329 +#: ../roundup/scripts/roundup_server.py:331 msgid "" "<html><head><title>Roundup trackers index</title></head>\n" "<body><h1>Roundup trackers index</h1><ol>\n" @@ -2991,64 +3006,64 @@ "<html><head><title>Index des pisteurs Roundup</title></head>\n" "<body><h1>Index des pisteurs Roundup</h1><ol>\n" -#: ../roundup/scripts/roundup_server.py:549 +#: ../roundup/scripts/roundup_server.py:551 #, fuzzy, python-format msgid "Error: %(type)s: %(value)s" msgstr "%(key)s: %(value)s" -#: ../roundup/scripts/roundup_server.py:561 +#: ../roundup/scripts/roundup_server.py:563 msgid "WARNING: ignoring \"-g\" argument, not root" msgstr "" "ATTENTION: le paramtre -g est ignor, vous n'tes pas superutilisateur " "(root)" -#: ../roundup/scripts/roundup_server.py:567 +#: ../roundup/scripts/roundup_server.py:569 msgid "Can't change groups - no grp module" msgstr "Impossible de changer les groupes - le module grp n'est pas prsent" -#: ../roundup/scripts/roundup_server.py:576 +#: ../roundup/scripts/roundup_server.py:578 #, python-format msgid "Group %(group)s doesn't exist" msgstr "Le groupe %(group)s n'existe pas" -#: ../roundup/scripts/roundup_server.py:588 +#: ../roundup/scripts/roundup_server.py:590 msgid "Can't run as root!" msgstr "Impossible d'excuter en tant que superutilisateur (\"root\")" -#: ../roundup/scripts/roundup_server.py:591 +#: ../roundup/scripts/roundup_server.py:593 msgid "WARNING: ignoring \"-u\" argument, not root" msgstr "" "ATTENTION: le paramtre \"-u\" est ignor, vous n'tes pas superutilisateur " "(\"root\")" -#: ../roundup/scripts/roundup_server.py:597 +#: ../roundup/scripts/roundup_server.py:599 msgid "Can't change users - no pwd module" msgstr "" "Impossible de changer les utilisateurs - le module pwd n'est pas prsent" -#: ../roundup/scripts/roundup_server.py:606 +#: ../roundup/scripts/roundup_server.py:608 #, python-format msgid "User %(user)s doesn't exist" msgstr "L'utilisateur %(user)s n'existe pas" -#: ../roundup/scripts/roundup_server.py:803 +#: ../roundup/scripts/roundup_server.py:805 #, 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:830 +#: ../roundup/scripts/roundup_server.py:832 #, 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:834 +#: ../roundup/scripts/roundup_server.py:836 #, 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:913 +#: ../roundup/scripts/roundup_server.py:915 msgid "" " -c <Command> Windows Service options.\n" " If you want to run the server as a Windows Service, you\n" @@ -3067,7 +3082,7 @@ " La commande roundup-server -c help donne les\n" " spcificits du service Windows." -#: ../roundup/scripts/roundup_server.py:920 +#: ../roundup/scripts/roundup_server.py:922 msgid "" " -u <UID> runs the Roundup web server as this UID\n" " -g <GID> runs the Roundup web server as this GID\n" @@ -3086,7 +3101,7 @@ "PID\n" " L'option -l option *doit* tre spcifie si -d est utilis." -#: ../roundup/scripts/roundup_server.py:927 +#: ../roundup/scripts/roundup_server.py:929 #, fuzzy, python-format msgid "" "\n" @@ -3207,22 +3222,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:1103 +#: ../roundup/scripts/roundup_server.py:1105 msgid "Instances must be name=home" msgstr "Les instances doivent tre nom=base-du-pisteur" -#: ../roundup/scripts/roundup_server.py:1117 +#: ../roundup/scripts/roundup_server.py:1119 #, python-format msgid "Configuration saved to %s" msgstr "Configuration sauvegarde dans %s" -#: ../roundup/scripts/roundup_server.py:1135 +#: ../roundup/scripts/roundup_server.py:1137 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:1155 +#: ../roundup/scripts/roundup_server.py:1157 #, python-format msgid "Roundup server started on %(HOST)s:%(PORT)s" msgstr "Le serveur Roundup est dmarr sur %(HOST)s:%(PORT)s" @@ -5724,6 +5739,9 @@ msgid "Password" msgstr "Mot de passe" +#~ msgid "roundup> " +#~ msgstr "roundup> " + #, fuzzy #~ msgid "" #~ "Usage: %(program)s [-v] [-c class] [[-C class] -S field=value]* [instance "
--- a/locale/hu.po Wed Mar 01 10:43:54 2023 -0500 +++ b/locale/hu.po Wed Mar 01 10:51:37 2023 -0500 @@ -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: 2022-11-23 22:28-0500\n" +"POT-Creation-Date: 2023-03-01 10:35-0500\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" @@ -24,31 +24,31 @@ "You do not have permission to retire or restore the %(classname)s class." msgstr "Nincs jogosultsága %(action)s műveletre a(z) %(classname)s osztályon." -#: ../roundup/actions.py:64 ../roundup/cgi/actions.py:240 +#: ../roundup/actions.py:65 ../roundup/cgi/actions.py:240 msgid "You may not retire the admin or anonymous user" msgstr "Az admin és anonymous felhasználókat nem lehet visszavonultatni" # ../roundup/admin.py:85 :981 :1030 :1052 -#: ../roundup/admin.py:106 ../roundup/admin.py:1259 ../roundup/admin.py:1314 -#: ../roundup/admin.py:1341 ../roundup/admin.py:106:1259 :1314:1341 +#: ../roundup/admin.py:112 ../roundup/admin.py:1295 ../roundup/admin.py:1350 +#: ../roundup/admin.py:1377 ../roundup/admin.py:112:1295 :1350:1377 #, python-format msgid "no such class \"%(classname)s\"" msgstr "nincs \"%(classname)s\" osztály" # ../roundup/admin.py:95 :99 -#: ../roundup/admin.py:118 +#: ../roundup/admin.py:124 #, python-format msgid "argument \"%(arg)s\" not propname=value" msgstr "A(z) \"%(arg)s\" argumentum nem név=érték alakú" -#: ../roundup/admin.py:131 +#: ../roundup/admin.py:137 #, python-format msgid "" "Problem: %(message)s\n" "\n" msgstr "Probléma: %(message)s\n" -#: ../roundup/admin.py:132 +#: ../roundup/admin.py:138 #, fuzzy, python-format msgid "" "%(message)sUsage: roundup-admin [options] [<command> <arguments>]\n" @@ -100,12 +100,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:159 +#: ../roundup/admin.py:165 #, fuzzy msgid "Commands: " msgstr "Parancsok:" -#: ../roundup/admin.py:166 +#: ../roundup/admin.py:172 msgid "" "Commands may be abbreviated as long as the abbreviation\n" "matches only one command, e.g. l == li == lis == list." @@ -113,7 +113,7 @@ "A parancsok rövidíthetők mindaddig, amíg csak egy parancsra illenek, pl. l " "== li == lis == list." -#: ../roundup/admin.py:195 +#: ../roundup/admin.py:201 msgid "" "\n" "All commands (except help) require a tracker specifier. This is just\n" @@ -165,7 +165,7 @@ " . ROUNDUP_LOGIN environment variable\n" " . the -u command-line option\n" "If either the name or password is not supplied, they are obtained from the\n" -"command-line.\n" +"command-line. (See admin guide before using -u.)\n" "\n" "Date format examples:\n" " \"2000-04-17.03:45\" means <Date 2000-04-17.08:45:00>\n" @@ -180,12 +180,12 @@ "Command help:\n" msgstr "" -#: ../roundup/admin.py:258 +#: ../roundup/admin.py:264 #, python-format msgid "%s:" msgstr "%s:" -#: ../roundup/admin.py:265 +#: ../roundup/admin.py:271 msgid "" "Usage: help topic\n" " Give help about topic.\n" @@ -205,22 +205,22 @@ " all -- minden elérhető segítség\n" " " -#: ../roundup/admin.py:287 +#: ../roundup/admin.py:293 #, 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:402 ../roundup/admin.py:458 ../roundup/admin.py:402:458 +#: ../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:405 ../roundup/admin.py:468 ../roundup/admin.py:405:468 +#: ../roundup/admin.py:411 ../roundup/admin.py:474 ../roundup/admin.py:411:474 msgid "Back ends:" msgstr "Adatbázis hátterek:" -#: ../roundup/admin.py:408 +#: ../roundup/admin.py:414 msgid "" "Usage: install [template [backend [key=val[,key=val]]]]\n" " Install a new Roundup tracker.\n" @@ -248,23 +248,23 @@ # ../roundup/admin.py:369 :466 :527 :606 :656 :714 :735 :763 :834 :901 :972 # :1020 :1042 :1069 :1136 :1207 -#: ../roundup/admin.py:431 ../roundup/admin.py:562 ../roundup/admin.py:635 -#: ../roundup/admin.py:728 ../roundup/admin.py:786 ../roundup/admin.py:872 -#: ../roundup/admin.py:931 ../roundup/admin.py:958 ../roundup/admin.py:985 -#: ../roundup/admin.py:1062 ../roundup/admin.py:1157 ../roundup/admin.py:1243 -#: ../roundup/admin.py:1304 ../roundup/admin.py:1331 ../roundup/admin.py:1367 -#: ../roundup/admin.py:1495 ../roundup/admin.py:1579 -#: ../roundup/admin.py:431:562 :1157 :1243:1304 :1331:1367 :1495:1579 :635:728 -#: :786:872 :931:958 :985:1062 +#: ../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:437 +#: ../roundup/admin.py:443 #, 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:446 +#: ../roundup/admin.py:452 #, python-format msgid "" "WARNING: There appears to be a tracker in \"%(tracker_home)s\"!\n" @@ -276,22 +276,22 @@ "Ha újra installálod, minden adat elveszik!\n" "Töröljem? Y/N: " -#: ../roundup/admin.py:459 +#: ../roundup/admin.py:465 #, fuzzy msgid "Select template" msgstr "Sablon választása [classic]: " -#: ../roundup/admin.py:469 +#: ../roundup/admin.py:475 #, fuzzy msgid "Select backend" msgstr "Adatbázis háttér választása [anydbm]: " -#: ../roundup/admin.py:480 +#: ../roundup/admin.py:486 #, python-format msgid "Error in configuration settings: \"%s\"" msgstr "Hiba a konfigurációs beállításokban: \"%s\"" -#: ../roundup/admin.py:511 +#: ../roundup/admin.py:517 #, python-format msgid "" "\n" @@ -304,11 +304,11 @@ " Most kell szerkesztened a konfigurációs fájlt:\n" " %(config_file)s" -#: ../roundup/admin.py:521 +#: ../roundup/admin.py:527 msgid " ... at a minimum, you must set following options:" msgstr " ... legalább a következő opciókat kell beállítani:" -#: ../roundup/admin.py:526 +#: ../roundup/admin.py:532 #, python-format msgid "" "\n" @@ -325,7 +325,7 @@ "---------------------------------------------------------------------------\n" msgstr "" -#: ../roundup/admin.py:557 +#: ../roundup/admin.py:563 #, fuzzy msgid "" "Usage: genconfig <filename>\n" @@ -339,7 +339,22 @@ " a <fájlnév> fájlba.\n" " " -#: ../roundup/admin.py:572 +#: ../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 #, fuzzy msgid "" "Usage: updateconfig <filename>\n" @@ -355,7 +370,7 @@ " " #. password -#: ../roundup/admin.py:580 +#: ../roundup/admin.py:612 msgid "" "Usage: initialise [adminpw]\n" " Initialise a new Roundup tracker.\n" @@ -373,23 +388,23 @@ " Végrehajtja az adatbázist inicializáló dbinit.init() rutint\n" " " -#: ../roundup/admin.py:594 +#: ../roundup/admin.py:626 msgid "Admin Password: " msgstr "Adminisztrátori jelszó: " -#: ../roundup/admin.py:595 +#: ../roundup/admin.py:627 msgid " Confirm: " msgstr " Megerősítés " -#: ../roundup/admin.py:599 +#: ../roundup/admin.py:631 msgid "Instance home does not exist" msgstr "A példány könyvtára nem létezik" -#: ../roundup/admin.py:603 +#: ../roundup/admin.py:635 msgid "Instance has not been installed" msgstr "A példány nem lett installálva" -#: ../roundup/admin.py:609 +#: ../roundup/admin.py:641 msgid "" "WARNING: The database is already initialised!\n" "If you re-initialise it, you will lose all the data!\n" @@ -399,7 +414,7 @@ "Újrainicializálás esetén minden adat elvész!\n" "Törli? Y/N: " -#: ../roundup/admin.py:625 +#: ../roundup/admin.py:661 #, fuzzy msgid "" "Usage: get property designator[,designator]*\n" @@ -420,7 +435,7 @@ " " # ../roundup/admin.py:560 :575 -#: ../roundup/admin.py:669 ../roundup/admin.py:687 ../roundup/admin.py:669:687 +#: ../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 "" @@ -428,18 +443,18 @@ "alkalmazható." # ../roundup/admin.py:583 :983 :1032 :1054 -#: ../roundup/admin.py:697 ../roundup/admin.py:1261 ../roundup/admin.py:1316 -#: ../roundup/admin.py:697:1261:1316 +#: ../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 "nincs \"%(nodeid)s\" %(classname)s csomópont" -#: ../roundup/admin.py:700 +#: ../roundup/admin.py:736 #, python-format msgid "no such %(classname)s property \"%(propname)s\"" msgstr "nincs \"%(propname)s\" %(classname)s tulajdonság" -#: ../roundup/admin.py:708 +#: ../roundup/admin.py:744 msgid "" "Usage: set items property=value property=value ...\n" " Set the given properties of one or more items(s).\n" @@ -460,7 +475,7 @@ " " msgstr "" -#: ../roundup/admin.py:776 +#: ../roundup/admin.py:812 msgid "" "Usage: filter classname propname=value ...\n" " Find the nodes of the given class with a given property value.\n" @@ -474,20 +489,20 @@ msgstr "" # ../roundup/admin.py:701 :854 :866 :920 -#: ../roundup/admin.py:819 +#: ../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:857 ../roundup/admin.py:918 ../roundup/admin.py:1082 -#: ../roundup/admin.py:1094 ../roundup/admin.py:1177 -#: ../roundup/admin.py:857:918 :1082:1094:1177 +#: ../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:864 +#: ../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" @@ -498,7 +513,7 @@ " " msgstr "" -#: ../roundup/admin.py:925 +#: ../roundup/admin.py:961 msgid "" "Usage: specification classname\n" " Show the properties for a classname.\n" @@ -512,17 +527,17 @@ " Listázza az adott osztály tulajdonságait.\n" " " -#: ../roundup/admin.py:941 +#: ../roundup/admin.py:977 #, fuzzy, python-format msgid "%(key)s: %(value)s (key property)\n" msgstr "%(key)s: %(value)s (kulcs tulajdonság)" -#: ../roundup/admin.py:944 +#: ../roundup/admin.py:980 #, fuzzy, python-format msgid "%(key)s: %(value)s\n" msgstr "%(key)s: %(value)s" -#: ../roundup/admin.py:947 +#: ../roundup/admin.py:983 #, fuzzy msgid "" "Usage: display designator[,designator]*\n" @@ -543,12 +558,12 @@ " csomópont értékét.\n" " " -#: ../roundup/admin.py:974 +#: ../roundup/admin.py:1010 #, python-format msgid "%(key)s: %(value)s" msgstr "%(key)s: %(value)s" -#: ../roundup/admin.py:977 +#: ../roundup/admin.py:1013 msgid "" "Usage: create classname property=value ...\n" " Create a new entry of a given class.\n" @@ -560,31 +575,31 @@ " " msgstr "" -#: ../roundup/admin.py:1005 +#: ../roundup/admin.py:1041 #, python-format msgid "%(propname)s (Password): " msgstr "%(propname)s (Jelszó): " -#: ../roundup/admin.py:1008 +#: ../roundup/admin.py:1044 #, python-format msgid " %(propname)s (Again): " msgstr " %(propname)s (Ismét): " -#: ../roundup/admin.py:1012 +#: ../roundup/admin.py:1048 msgid "Sorry, try again..." msgstr "Sajnálom, próbálja újra..." -#: ../roundup/admin.py:1016 +#: ../roundup/admin.py:1052 #, python-format msgid "%(propname)s (%(proptype)s): " msgstr "%(propname)s (%(proptype)s): " -#: ../roundup/admin.py:1035 +#: ../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:1047 +#: ../roundup/admin.py:1083 msgid "" "Usage: list classname [property]\n" " List the instances of a class.\n" @@ -600,16 +615,16 @@ " " msgstr "" -#: ../roundup/admin.py:1060 +#: ../roundup/admin.py:1096 msgid "Too many arguments supplied" msgstr "Túl sok argumentum került megadásra" -#: ../roundup/admin.py:1096 +#: ../roundup/admin.py:1132 #, python-format msgid "%(nodeid)4s: %(value)s" msgstr "%(nodeid)4s: %(value)s" -#: ../roundup/admin.py:1100 +#: ../roundup/admin.py:1136 msgid "" "Usage: templates [trace_search]\n" " List templates and their installed directories.\n" @@ -619,7 +634,7 @@ " " msgstr "" -#: ../roundup/admin.py:1128 +#: ../roundup/admin.py:1164 msgid "" "Usage: table classname [property[,property]*]\n" " List the instances of a class in tabular form.\n" @@ -651,17 +666,17 @@ " " msgstr "" -#: ../roundup/admin.py:1172 +#: ../roundup/admin.py:1208 #, python-format msgid "\"%(spec)s\" not name:width" msgstr "\"%(spec)s\" nem név:hossz formátumú" -#: ../roundup/admin.py:1194 +#: ../roundup/admin.py:1230 #, python-format msgid "\"%(spec)s\" does not have an integer width: \"%(width)s\"" msgstr "" -#: ../roundup/admin.py:1230 +#: ../roundup/admin.py:1266 msgid "" "Usage: history designator [skipquiet]\n" " Show the history entries of a designator.\n" @@ -676,7 +691,7 @@ " " msgstr "" -#: ../roundup/admin.py:1266 +#: ../roundup/admin.py:1302 msgid "" "Usage: commit\n" " Commit changes made to the database during an interactive session.\n" @@ -690,7 +705,7 @@ " " msgstr "" -#: ../roundup/admin.py:1281 +#: ../roundup/admin.py:1317 msgid "" "Usage: rollback\n" " Undo all changes that are pending commit to the database.\n" @@ -702,7 +717,7 @@ " " msgstr "" -#: ../roundup/admin.py:1294 +#: ../roundup/admin.py:1330 msgid "" "Usage: retire designator[,designator]*\n" " Retire the node specified by designator.\n" @@ -715,7 +730,7 @@ " " msgstr "" -#: ../roundup/admin.py:1322 +#: ../roundup/admin.py:1358 msgid "" "Usage: restore designator[,designator]*\n" " Restore the retired node specified by designator.\n" @@ -728,13 +743,13 @@ msgstr "" # ../roundup/admin.py:583 :983 :1032 :1054 -#: ../roundup/admin.py:1347 +#: ../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:1353 +#: ../roundup/admin.py:1389 msgid "" "Usage: export [[-]class[,class]] export_dir\n" " Export the database to colon-separated-value files.\n" @@ -750,7 +765,7 @@ " " msgstr "" -#: ../roundup/admin.py:1460 +#: ../roundup/admin.py:1496 msgid "" "Usage: exporttables [[-]class[,class]] export_dir\n" " Export the database to colon-separated-value files, excluding the\n" @@ -767,7 +782,7 @@ " " msgstr "" -#: ../roundup/admin.py:1475 +#: ../roundup/admin.py:1511 msgid "" "Usage: import import_dir\n" " Import a database from the directory containing CSV files,\n" @@ -790,7 +805,7 @@ " " msgstr "" -#: ../roundup/admin.py:1554 +#: ../roundup/admin.py:1590 msgid "" "Usage: importtables export_dir\n" "\n" @@ -798,7 +813,7 @@ " " msgstr "" -#: ../roundup/admin.py:1561 +#: ../roundup/admin.py:1597 msgid "" "Usage: pack period | date\n" "\n" @@ -820,11 +835,11 @@ " " msgstr "" -#: ../roundup/admin.py:1589 +#: ../roundup/admin.py:1625 msgid "Invalid format" msgstr "Hibás formátum" -#: ../roundup/admin.py:1602 +#: ../roundup/admin.py:1638 msgid "" "Usage: reindex [classname|designator]*\n" " Re-generate a tracker's search indexes.\n" @@ -834,12 +849,12 @@ " " msgstr "" -#: ../roundup/admin.py:1616 +#: ../roundup/admin.py:1652 #, python-format msgid "no such item \"%(designator)s\"" msgstr "nincs ilyen elem: \"%(designator)s\"" -#: ../roundup/admin.py:1626 +#: ../roundup/admin.py:1662 #, fuzzy msgid "" "Usage: security [Role name]\n" @@ -851,47 +866,47 @@ " Megjeleníti a megadott vagy az összes szerepkör jogosultságait.\n" " " -#: ../roundup/admin.py:1635 +#: ../roundup/admin.py:1671 #, fuzzy, python-format msgid "No such Role \"%(role)s\"\n" msgstr "Nincs ilyen szerepkör: \"%(role)s\"" -#: ../roundup/admin.py:1641 +#: ../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:1644 +#: ../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:1648 +#: ../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:1650 +#: ../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:1653 +#: ../roundup/admin.py:1689 #, fuzzy, python-format msgid "Role \"%(name)s\":\n" msgstr "\"%(name)s\" szerepkör:" -#: ../roundup/admin.py:1659 +#: ../roundup/admin.py:1695 #, fuzzy msgid " %(description)s (%(name)s for \"%(klass)s\"" msgstr " %(description)s (%(name)s)" -#: ../roundup/admin.py:1659 +#: ../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:1672 +#: ../roundup/admin.py:1708 #, python-format msgid "" "\n" @@ -899,17 +914,17 @@ "\n" msgstr "" -#: ../roundup/admin.py:1678 +#: ../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:1681 +#: ../roundup/admin.py:1717 #, fuzzy, python-format msgid " %(description)s (%(name)s)\n" msgstr " %(description)s (%(name)s)" -#: ../roundup/admin.py:1685 +#: ../roundup/admin.py:1721 msgid "" "Usage: migrate\n" "\n" @@ -933,46 +948,46 @@ " " msgstr "" -#: ../roundup/admin.py:1706 +#: ../roundup/admin.py:1742 #, fuzzy msgid "Tracker updated" msgstr "Hibakövető" -#: ../roundup/admin.py:1709 +#: ../roundup/admin.py:1745 msgid "No migration action required" msgstr "" -#: ../roundup/admin.py:1735 +#: ../roundup/admin.py:1771 #, 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:1741 +#: ../roundup/admin.py:1777 #, 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:1750 +#: ../roundup/admin.py:1786 msgid "Enter tracker home: " msgstr "Adja meg a hibakövető könyvtárát: " # ../roundup/admin.py:1335 :1341 :1361 -#: ../roundup/admin.py:1759 ../roundup/admin.py:1765 ../roundup/admin.py:1802 -#: ../roundup/admin.py:1759:1765:1802 +#: ../roundup/admin.py:1795 ../roundup/admin.py:1801 ../roundup/admin.py:1838 +#: ../roundup/admin.py:1795:1801:1838 #, python-format msgid "Error: %(message)s" msgstr "Hiba: %(message)s" -#: ../roundup/admin.py:1775 ../roundup/admin.py:1779 -#: ../roundup/admin.py:1775:1779 +#: ../roundup/admin.py:1811 ../roundup/admin.py:1815 +#: ../roundup/admin.py:1811:1815 #, python-format msgid "Error: Couldn't open tracker: %(message)s" msgstr "Hiba: Hibakövető megnyitása sikertelen: %(message)s" -#: ../roundup/admin.py:1815 +#: ../roundup/admin.py:1851 #, python-format msgid "" "Roundup %s ready for input.\n" @@ -981,19 +996,15 @@ "A Roundup %s fogadókész.\n" "Segítségért gépeljen \"help\"-et." -#: ../roundup/admin.py:1820 +#: ../roundup/admin.py:1856 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:1824 -msgid "roundup> " -msgstr "roundup> " - -#: ../roundup/admin.py:1826 +#: ../roundup/admin.py:1862 msgid "exit..." msgstr "kilépés..." -#: ../roundup/admin.py:1839 +#: ../roundup/admin.py:1875 msgid "There are unsaved changes. Commit them (y/N)? " msgstr "Vannak nem mentett változtatások. Elmenti őket (y/N)? " @@ -1105,20 +1116,22 @@ msgid "restored" msgstr "visszaállított" -#: ../roundup/backends/sessions_redis.py:76 -#: ../roundup/backends/sessions_redis.py:95 -#: ../roundup/backends/sessions_redis.py:76:95 +#: ../roundup/backends/sessions_redis.py:78 +#: ../roundup/backends/sessions_redis.py:97 +#: ../roundup/backends/sessions_redis.py:78:97 #, python-format msgid "Key %(key)s not found in %(name)s database." msgstr "" -#: ../roundup/backends/sessions_redis.py:191 +#: ../roundup/backends/sessions_redis.py:193 #, python-format msgid "Key %(key)s changed in %(name)s db" msgstr "" -#: ../roundup/backends/sessions_redis.py:195 -msgid "Redis set failed afer 3 retries" +#: ../roundup/backends/sessions_redis.py:203 +#, python-format +msgid "" +"Redis set failed after %(retries)d retries for user %(user)s with key %(key)s" msgstr "" #: ../roundup/cgi/actions.py:97 @@ -1431,22 +1444,22 @@ msgstr "" # ../roundup/cgi/actions.py:930 :934 -#: ../roundup/cgi/actions.py:1383 ../roundup/cgi/actions.py:1387 -#: ../roundup/cgi/actions.py:1383:1387 +#: ../roundup/cgi/actions.py:1384 ../roundup/cgi/actions.py:1388 +#: ../roundup/cgi/actions.py:1384:1388 msgid "Invalid login" msgstr "Hibás bejelentkezés" -#: ../roundup/cgi/actions.py:1393 +#: ../roundup/cgi/actions.py:1394 msgid "You do not have permission to login" msgstr "Nincs jogosultsága bejelentkezni" -#: ../roundup/cgi/actions.py:1437 ../roundup/cgi/actions.py:1616 -#: ../roundup/cgi/actions.py:1437:1616 +#: ../roundup/cgi/actions.py:1439 ../roundup/cgi/actions.py:1618 +#: ../roundup/cgi/actions.py:1439:1618 #, python-format msgid "Column \"%(column)s\" not found in %(class)s" msgstr "" -#: ../roundup/cgi/actions.py:1687 +#: ../roundup/cgi/actions.py:1689 #, fuzzy, python-format msgid "You do not have permission to view %(class)s" msgstr "Nincs jogosultsága szerkeszteni %(class)s-t" @@ -1544,149 +1557,150 @@ "A hibakövető karbantartói értesítést kaptak a problémáról.</p>\n" "</body></html>" -#: ../roundup/cgi/client.py:651 +#: ../roundup/cgi/client.py:670 ../roundup/cgi/client.py:1570 +#: ../roundup/cgi/client.py:670:1570 +msgid "Required Header Missing" +msgstr "" + +#: ../roundup/cgi/client.py:672 #, fuzzy 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:895 +#: ../roundup/cgi/client.py:921 msgid "Form Error: " msgstr "Űrlap hiba: " -#: ../roundup/cgi/client.py:985 +#: ../roundup/cgi/client.py:1011 #, python-format msgid "Unrecognized charset: %r" msgstr "Ismeretlen karakterkészlet: %r" -#: ../roundup/cgi/client.py:1238 ../roundup/cgi/client.py:2196 -#: ../roundup/cgi/client.py:1238:2196 +#: ../roundup/cgi/client.py:1264 ../roundup/cgi/client.py:2250 +#: ../roundup/cgi/client.py:1264:2250 msgid "broken form: multiple @action values submitted" msgstr "" -#: ../roundup/cgi/client.py:1253 +#: ../roundup/cgi/client.py:1279 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:1376 +#: ../roundup/cgi/client.py:1430 msgid "Referer header not available." msgstr "" -#: ../roundup/cgi/client.py:1380 +#: ../roundup/cgi/client.py:1434 #, python-format msgid "csrf key used with wrong method from: %s" msgstr "" -#: ../roundup/cgi/client.py:1409 +#: ../roundup/cgi/client.py:1463 #, python-format msgid "csrf header %(header)s required but missing for user%(userid)s." msgstr "" -#: ../roundup/cgi/client.py:1413 +#: ../roundup/cgi/client.py:1467 #, python-format msgid "Missing header: %s" msgstr "" -#: ../roundup/cgi/client.py:1421 +#: ../roundup/cgi/client.py:1475 #, 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:1426 +#: ../roundup/cgi/client.py:1480 #, fuzzy, python-format msgid "Invalid Referer: %s" msgstr "Hibás bejelentkezés" -#: ../roundup/cgi/client.py:1441 +#: ../roundup/cgi/client.py:1495 #, 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:1446 +#: ../roundup/cgi/client.py:1500 #, fuzzy, python-format msgid "Invalid Origin %s" msgstr "Hibás bejelentkezés" -#: ../roundup/cgi/client.py:1460 +#: ../roundup/cgi/client.py:1514 #, python-format msgid "" "csrf X-FORWARDED-HOST header check failed for user%(userid)s. Value=%(host)s" msgstr "" -#: ../roundup/cgi/client.py:1466 +#: ../roundup/cgi/client.py:1520 #, python-format msgid "Invalid X-FORWARDED-HOST %s" msgstr "" -#: ../roundup/cgi/client.py:1485 +#: ../roundup/cgi/client.py:1539 #, python-format msgid "csrf HOST header check failed for user%(userid)s. Value=%(host)s" msgstr "" -#: ../roundup/cgi/client.py:1490 +#: ../roundup/cgi/client.py:1544 #, python-format msgid "Invalid HOST %s" msgstr "" -#: ../roundup/cgi/client.py:1498 +#: ../roundup/cgi/client.py:1552 msgid "Csrf: unable to verify sufficient headers" msgstr "" -#: ../roundup/cgi/client.py:1499 +#: ../roundup/cgi/client.py:1553 msgid "Unable to verify sufficient headers" msgstr "" -#: ../roundup/cgi/client.py:1513 +#: ../roundup/cgi/client.py:1567 #, python-format msgid "csrf X-REQUESTED-WITH xmlrpc required header check failed for user%s." msgstr "" -#: ../roundup/cgi/client.py:1516 -msgid "Required Header Missing" -msgstr "" - -#: ../roundup/cgi/client.py:1554 +#: ../roundup/cgi/client.py:1608 #, python-format msgid "Required csrf field missing for user%s" msgstr "" -#: ../roundup/cgi/client.py:1556 ../roundup/cgi/client.py:1583 -#: ../roundup/cgi/client.py:1600 ../roundup/cgi/client.py:1556:1583:1600 +#: ../roundup/cgi/client.py:1610 ../roundup/cgi/client.py:1637 +#: ../roundup/cgi/client.py:1654 ../roundup/cgi/client.py:1610:1637:1654 msgid "" "We can't validate your session (csrf failure). Re-enter any unsaved data and " "try again." msgstr "" -#: ../roundup/cgi/client.py:1560 +#: ../roundup/cgi/client.py:1614 #, python-format msgid "csrf field not supplied by user%s" msgstr "" -#: ../roundup/cgi/client.py:1572 +#: ../roundup/cgi/client.py:1626 #, 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:1590 +#: ../roundup/cgi/client.py:1644 #, 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:1784 +#: ../roundup/cgi/client.py:1838 msgid "You are not allowed to view this file." msgstr "Nem nézheti meg ezt a fájlt." -#: ../roundup/cgi/client.py:2073 +#: ../roundup/cgi/client.py:2127 #, python-format msgid "%(starttag)sTime elapsed: %(seconds)fs%(endtag)s\n" msgstr "%(starttag)sEltelt idő: %(seconds)fs%(endtag)s\n" -#: ../roundup/cgi/client.py:2077 +#: ../roundup/cgi/client.py:2131 #, python-format msgid "" "%(starttag)sCache hits: %(cache_hits)d, misses %(cache_misses)d. Loading " @@ -1695,7 +1709,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:2615 +#: ../roundup/cgi/client.py:2669 #, python-format msgid "" "Cache failure: compressed file %(compressed)s is older than its source file " @@ -2095,28 +2109,28 @@ msgstr "" # ../roundup/hyperdb.py:949:957 -#: ../roundup/hyperdb.py:1492 ../roundup/hyperdb.py:1500 -#: ../roundup/hyperdb.py:1492:1500 +#: ../roundup/hyperdb.py:1493 ../roundup/hyperdb.py:1501 +#: ../roundup/hyperdb.py:1493:1501 #, python-format msgid "Not a property name: %s" msgstr "" -#: ../roundup/hyperdb.py:1977 +#: ../roundup/hyperdb.py:1978 #, 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:1983 +#: ../roundup/hyperdb.py:1984 #, python-format msgid "you may only enter ID values for property %s" msgstr "" -#: ../roundup/hyperdb.py:2018 +#: ../roundup/hyperdb.py:2019 #, python-format msgid "%(property)r is not a property of %(classname)s" msgstr "" -#: ../roundup/init.py:139 +#: ../roundup/init.py:141 #, python-format msgid "" "WARNING: directory '%s'\n" @@ -2385,7 +2399,7 @@ "%(mailadmin)s-nal és javíttassa ki a hibás tulajdonságokat:\n" " %(errors)s\n" -#: ../roundup/mailgw.py:1820 +#: ../roundup/mailgw.py:1821 #, fuzzy, python-format msgid "" "\n" @@ -2413,19 +2427,19 @@ msgid "Invalid attribute %s" msgstr "Hibás bejelentkezés" -#: ../roundup/rest.py:2078 +#: ../roundup/rest.py:2090 #, python-format msgid "Api rate limits exceeded. Please wait: %s seconds." msgstr "" -#: ../roundup/rest.py:2113 +#: ../roundup/rest.py:2125 #, python-format msgid "" "Unable to parse Accept Header. %(error)s. Acceptable types: " "%(acceptable_types)s" msgstr "" -#: ../roundup/rest.py:2262 +#: ../roundup/rest.py:2305 #, python-format msgid "" "Unrecognized api version: %s. See /rest without specifying api version for " @@ -2549,27 +2563,27 @@ msgid "No tracker templates found in directory %s" msgstr "Nem található tracker sablon a(z) %s könyvtárban" -#: ../roundup/scripts/roundup_mailgw.py:185 +#: ../roundup/scripts/roundup_mailgw.py:182 msgid "" "\n" "Error: The instance home must be specified" msgstr "" -#: ../roundup/scripts/roundup_mailgw.py:203 +#: ../roundup/scripts/roundup_mailgw.py:200 #, fuzzy msgid "" "\n" "Error: not enough source specification information" msgstr "Hiba: nincs elég forrás specifikációs információ" -#: ../roundup/scripts/roundup_mailgw.py:234 +#: ../roundup/scripts/roundup_mailgw.py:231 #, fuzzy, python-format msgid "" "\n" "Error: %s specification not valid" msgstr "Hiba: a pop specifikáció nem érvényes" -#: ../roundup/scripts/roundup_mailgw.py:258 +#: ../roundup/scripts/roundup_mailgw.py:254 #, fuzzy msgid "" "\n" @@ -2583,7 +2597,7 @@ msgid "WARNING: generating temporary SSL certificate" msgstr "" -#: ../roundup/scripts/roundup_server.py:329 +#: ../roundup/scripts/roundup_server.py:331 msgid "" "<html><head><title>Roundup trackers index</title></head>\n" "<body><h1>Roundup trackers index</h1><ol>\n" @@ -2591,58 +2605,58 @@ "<html><head><title>Roundup hibakövetők listája</title></head>\n" "<body><h1>Roundup hibakövetők listája</h1><ol>\n" -#: ../roundup/scripts/roundup_server.py:549 +#: ../roundup/scripts/roundup_server.py:551 #, fuzzy, python-format msgid "Error: %(type)s: %(value)s" msgstr "%(key)s: %(value)s" -#: ../roundup/scripts/roundup_server.py:561 +#: ../roundup/scripts/roundup_server.py:563 msgid "WARNING: ignoring \"-g\" argument, not root" msgstr "FIGYELEM: \"-g\" opció figyelmen kívül hagyásra került, nem root" -#: ../roundup/scripts/roundup_server.py:567 +#: ../roundup/scripts/roundup_server.py:569 msgid "Can't change groups - no grp module" msgstr "Nem lehet csoportot váltani - nincs meg a grp modul" -#: ../roundup/scripts/roundup_server.py:576 +#: ../roundup/scripts/roundup_server.py:578 #, python-format msgid "Group %(group)s doesn't exist" msgstr "%(group)s csoport nem létezik" -#: ../roundup/scripts/roundup_server.py:588 +#: ../roundup/scripts/roundup_server.py:590 msgid "Can't run as root!" msgstr "Nem futhat root-ként!" -#: ../roundup/scripts/roundup_server.py:591 +#: ../roundup/scripts/roundup_server.py:593 msgid "WARNING: ignoring \"-u\" argument, not root" msgstr "FIGYELEM: \"-u\" opció figyelmen kívül hagyásra került, nem root" -#: ../roundup/scripts/roundup_server.py:597 +#: ../roundup/scripts/roundup_server.py:599 msgid "Can't change users - no pwd module" msgstr "Felhasználóváltás nem sikerült - nincs pwd modul" -#: ../roundup/scripts/roundup_server.py:606 +#: ../roundup/scripts/roundup_server.py:608 #, python-format msgid "User %(user)s doesn't exist" msgstr "A(z) %(user)s felhasználó nem létezik" -#: ../roundup/scripts/roundup_server.py:803 +#: ../roundup/scripts/roundup_server.py:805 #, 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:830 +#: ../roundup/scripts/roundup_server.py:832 #, 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:834 +#: ../roundup/scripts/roundup_server.py:836 #, 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:913 +#: ../roundup/scripts/roundup_server.py:915 msgid "" " -c <Command> Windows Service options.\n" " If you want to run the server as a Windows Service, you\n" @@ -2652,7 +2666,7 @@ " specifics." msgstr "" -#: ../roundup/scripts/roundup_server.py:920 +#: ../roundup/scripts/roundup_server.py:922 msgid "" " -u <UID> runs the Roundup web server as this UID\n" " -g <GID> runs the Roundup web server as this GID\n" @@ -2661,7 +2675,7 @@ " specified if -d is used." msgstr "" -#: ../roundup/scripts/roundup_server.py:927 +#: ../roundup/scripts/roundup_server.py:929 #, python-format msgid "" "\n" @@ -2728,21 +2742,21 @@ " any url-unsafe characters like spaces, as these confuse IE.\n" msgstr "" -#: ../roundup/scripts/roundup_server.py:1103 +#: ../roundup/scripts/roundup_server.py:1105 msgid "Instances must be name=home" msgstr "A példányoknak név=home formában kell lenniük" -#: ../roundup/scripts/roundup_server.py:1117 +#: ../roundup/scripts/roundup_server.py:1119 #, python-format msgid "Configuration saved to %s" msgstr "Beállítások elmentve ide: %s" -#: ../roundup/scripts/roundup_server.py:1135 +#: ../roundup/scripts/roundup_server.py:1137 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:1155 +#: ../roundup/scripts/roundup_server.py:1157 #, python-format msgid "Roundup server started on %(HOST)s:%(PORT)s" msgstr "Roundup server elindítva a(z) %(HOST)s:%(PORT)s gépen" @@ -5205,6 +5219,9 @@ msgid "Password" msgstr "Bejelentkezési jelszó" +#~ msgid "roundup> " +#~ msgstr "roundup> " + #~ msgid "<em>%s: %s</em>\n" #~ msgstr "<em>%s: %s</em>\n"
--- a/locale/it.po Wed Mar 01 10:43:54 2023 -0500 +++ b/locale/it.po Wed Mar 01 10:51:37 2023 -0500 @@ -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: 2022-11-23 22:28-0500\n" +"POT-Creation-Date: 2023-03-01 10:35-0500\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" @@ -23,24 +23,24 @@ "You do not have permission to retire or restore the %(classname)s class." msgstr "Non hai i permessi per %(action)s la classe %(classname)s." -#: ../roundup/actions.py:64 ../roundup/cgi/actions.py:240 +#: ../roundup/actions.py:65 ../roundup/cgi/actions.py:240 msgid "You may not retire the admin or anonymous user" msgstr "Non è possibile ritirare l'utente amministratore o l'utente anonimo" # ../roundup/admin.py:1052 ../roundup/admin.py:85:981 :1030:1052 -#: ../roundup/admin.py:106 ../roundup/admin.py:1259 ../roundup/admin.py:1314 -#: ../roundup/admin.py:1341 ../roundup/admin.py:106:1259 :1314:1341 +#: ../roundup/admin.py:112 ../roundup/admin.py:1295 ../roundup/admin.py:1350 +#: ../roundup/admin.py:1377 ../roundup/admin.py:112:1295 :1350:1377 #, 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:118 +#: ../roundup/admin.py:124 #, python-format msgid "argument \"%(arg)s\" not propname=value" msgstr "argomento \"%(arg)s\" non nel formato nome=valore" -#: ../roundup/admin.py:131 +#: ../roundup/admin.py:137 #, python-format msgid "" "Problem: %(message)s\n" @@ -49,7 +49,7 @@ "Problema: %(message)s\n" "\n" -#: ../roundup/admin.py:132 +#: ../roundup/admin.py:138 #, python-format msgid "" "%(message)sUsage: roundup-admin [options] [<command> <arguments>]\n" @@ -77,12 +77,12 @@ " roundup-admin help all -- all available help\n" msgstr "" -#: ../roundup/admin.py:159 +#: ../roundup/admin.py:165 #, fuzzy msgid "Commands: " msgstr "Comandi:" -#: ../roundup/admin.py:166 +#: ../roundup/admin.py:172 msgid "" "Commands may be abbreviated as long as the abbreviation\n" "matches only one command, e.g. l == li == lis == list." @@ -90,7 +90,7 @@ "I comandi possono essere abbreviati finchè l'abbreviazione rimane univoca\n" "es: l == li == lis == list." -#: ../roundup/admin.py:195 +#: ../roundup/admin.py:201 msgid "" "\n" "All commands (except help) require a tracker specifier. This is just\n" @@ -142,7 +142,7 @@ " . ROUNDUP_LOGIN environment variable\n" " . the -u command-line option\n" "If either the name or password is not supplied, they are obtained from the\n" -"command-line.\n" +"command-line. (See admin guide before using -u.)\n" "\n" "Date format examples:\n" " \"2000-04-17.03:45\" means <Date 2000-04-17.08:45:00>\n" @@ -157,12 +157,12 @@ "Command help:\n" msgstr "" -#: ../roundup/admin.py:258 +#: ../roundup/admin.py:264 #, python-format msgid "%s:" msgstr "%s:" -#: ../roundup/admin.py:265 +#: ../roundup/admin.py:271 msgid "" "Usage: help topic\n" " Give help about topic.\n" @@ -174,22 +174,22 @@ " " msgstr "" -#: ../roundup/admin.py:287 +#: ../roundup/admin.py:293 #, 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:402 ../roundup/admin.py:458 ../roundup/admin.py:402:458 +#: ../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:405 ../roundup/admin.py:468 ../roundup/admin.py:405:468 +#: ../roundup/admin.py:411 ../roundup/admin.py:474 ../roundup/admin.py:411:474 msgid "Back ends:" msgstr "Back ends:" -#: ../roundup/admin.py:408 +#: ../roundup/admin.py:414 msgid "" "Usage: install [template [backend [key=val[,key=val]]]]\n" " Install a new Roundup tracker.\n" @@ -217,23 +217,23 @@ # ../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:431 ../roundup/admin.py:562 ../roundup/admin.py:635 -#: ../roundup/admin.py:728 ../roundup/admin.py:786 ../roundup/admin.py:872 -#: ../roundup/admin.py:931 ../roundup/admin.py:958 ../roundup/admin.py:985 -#: ../roundup/admin.py:1062 ../roundup/admin.py:1157 ../roundup/admin.py:1243 -#: ../roundup/admin.py:1304 ../roundup/admin.py:1331 ../roundup/admin.py:1367 -#: ../roundup/admin.py:1495 ../roundup/admin.py:1579 -#: ../roundup/admin.py:431:562 :1157 :1243:1304 :1331:1367 :1495:1579 :635:728 -#: :786:872 :931:958 :985:1062 +#: ../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:437 +#: ../roundup/admin.py:443 #, 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:446 +#: ../roundup/admin.py:452 #, python-format msgid "" "WARNING: There appears to be a tracker in \"%(tracker_home)s\"!\n" @@ -244,22 +244,22 @@ "Se verrà reinstallata, tutti i dati precedentemente salvati andranno persi\n" "Cancellare la directory specificata? Y/N: " -#: ../roundup/admin.py:459 +#: ../roundup/admin.py:465 #, fuzzy msgid "Select template" msgstr "Seleziona il modello predefinito [classic]: " -#: ../roundup/admin.py:469 +#: ../roundup/admin.py:475 #, fuzzy msgid "Select backend" msgstr "Seleziona il backend [anydbm]: " -#: ../roundup/admin.py:480 +#: ../roundup/admin.py:486 #, python-format msgid "Error in configuration settings: \"%s\"" msgstr "Erorre nei settaggi di configurazione: \"%s\"" -#: ../roundup/admin.py:511 +#: ../roundup/admin.py:517 #, python-format msgid "" "\n" @@ -268,11 +268,11 @@ " %(config_file)s" msgstr "" -#: ../roundup/admin.py:521 +#: ../roundup/admin.py:527 msgid " ... at a minimum, you must set following options:" msgstr " ... devono essere configurate almeno le seguenti opzioni:" -#: ../roundup/admin.py:526 +#: ../roundup/admin.py:532 #, python-format msgid "" "\n" @@ -289,7 +289,7 @@ "---------------------------------------------------------------------------\n" msgstr "" -#: ../roundup/admin.py:557 +#: ../roundup/admin.py:563 msgid "" "Usage: genconfig <filename>\n" " Generate a new tracker config file (ini style) with default\n" @@ -297,7 +297,22 @@ " " msgstr "" -#: ../roundup/admin.py:572 +#: ../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 msgid "" "Usage: updateconfig <filename>\n" " Generate an updated tracker config file (ini style) in\n" @@ -307,7 +322,7 @@ msgstr "" #. password -#: ../roundup/admin.py:580 +#: ../roundup/admin.py:612 msgid "" "Usage: initialise [adminpw]\n" " Initialise a new Roundup tracker.\n" @@ -318,30 +333,30 @@ " " msgstr "" -#: ../roundup/admin.py:594 +#: ../roundup/admin.py:626 msgid "Admin Password: " msgstr "Password dell'amministratore" -#: ../roundup/admin.py:595 +#: ../roundup/admin.py:627 msgid " Confirm: " msgstr " Conferma: " -#: ../roundup/admin.py:599 +#: ../roundup/admin.py:631 msgid "Instance home does not exist" msgstr "La home dell'istanza non esiste" -#: ../roundup/admin.py:603 +#: ../roundup/admin.py:635 msgid "Instance has not been installed" msgstr "L'istanza non è stata installata" -#: ../roundup/admin.py:609 +#: ../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 "" -#: ../roundup/admin.py:625 +#: ../roundup/admin.py:661 msgid "" "Usage: get property designator[,designator]*\n" " Get the given property of one or more designator(s).\n" @@ -355,24 +370,24 @@ msgstr "" # ../roundup/admin.py:560 ../roundup/admin.py:575 ../roundup/admin.py:560:575 -#: ../roundup/admin.py:669 ../roundup/admin.py:687 ../roundup/admin.py:669:687 +#: ../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:1054 ../roundup/admin.py:583:983 :1032:1054 -#: ../roundup/admin.py:697 ../roundup/admin.py:1261 ../roundup/admin.py:1316 -#: ../roundup/admin.py:697:1261:1316 +#: ../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:700 +#: ../roundup/admin.py:736 #, python-format msgid "no such %(classname)s property \"%(propname)s\"" msgstr "" -#: ../roundup/admin.py:708 +#: ../roundup/admin.py:744 msgid "" "Usage: set items property=value property=value ...\n" " Set the given properties of one or more items(s).\n" @@ -393,7 +408,7 @@ " " msgstr "" -#: ../roundup/admin.py:776 +#: ../roundup/admin.py:812 msgid "" "Usage: filter classname propname=value ...\n" " Find the nodes of the given class with a given property value.\n" @@ -407,20 +422,20 @@ msgstr "" # ../roundup/admin.py:920 ../roundup/admin.py:701:854 :866:920 -#: ../roundup/admin.py:819 +#: ../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:857 ../roundup/admin.py:918 ../roundup/admin.py:1082 -#: ../roundup/admin.py:1094 ../roundup/admin.py:1177 -#: ../roundup/admin.py:857:918 :1082:1094:1177 +#: ../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:864 +#: ../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" @@ -431,7 +446,7 @@ " " msgstr "" -#: ../roundup/admin.py:925 +#: ../roundup/admin.py:961 msgid "" "Usage: specification classname\n" " Show the properties for a classname.\n" @@ -440,17 +455,17 @@ " " msgstr "" -#: ../roundup/admin.py:941 +#: ../roundup/admin.py:977 #, fuzzy, python-format msgid "%(key)s: %(value)s (key property)\n" msgstr "%(key)s %(value)s (chiave)" -#: ../roundup/admin.py:944 +#: ../roundup/admin.py:980 #, fuzzy, python-format msgid "%(key)s: %(value)s\n" msgstr "%(key)s:·%(value)s" -#: ../roundup/admin.py:947 +#: ../roundup/admin.py:983 msgid "" "Usage: display designator[,designator]*\n" "\n" @@ -464,12 +479,12 @@ " " msgstr "" -#: ../roundup/admin.py:974 +#: ../roundup/admin.py:1010 #, python-format msgid "%(key)s: %(value)s" msgstr "%(key)s:·%(value)s" -#: ../roundup/admin.py:977 +#: ../roundup/admin.py:1013 msgid "" "Usage: create classname property=value ...\n" " Create a new entry of a given class.\n" @@ -481,31 +496,31 @@ " " msgstr "" -#: ../roundup/admin.py:1005 +#: ../roundup/admin.py:1041 #, python-format msgid "%(propname)s (Password): " msgstr "%(propname)s·(Password):·" -#: ../roundup/admin.py:1008 +#: ../roundup/admin.py:1044 #, python-format msgid " %(propname)s (Again): " msgstr " %(propname)s (Ripeti password): " -#: ../roundup/admin.py:1012 +#: ../roundup/admin.py:1048 msgid "Sorry, try again..." msgstr "Mi dispiace, riprova..." -#: ../roundup/admin.py:1016 +#: ../roundup/admin.py:1052 #, python-format msgid "%(propname)s (%(proptype)s): " msgstr "%(propname)s (%(proptype)s): " -#: ../roundup/admin.py:1035 +#: ../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:1047 +#: ../roundup/admin.py:1083 msgid "" "Usage: list classname [property]\n" " List the instances of a class.\n" @@ -521,16 +536,16 @@ " " msgstr "" -#: ../roundup/admin.py:1060 +#: ../roundup/admin.py:1096 msgid "Too many arguments supplied" msgstr "" -#: ../roundup/admin.py:1096 +#: ../roundup/admin.py:1132 #, python-format msgid "%(nodeid)4s: %(value)s" msgstr "" -#: ../roundup/admin.py:1100 +#: ../roundup/admin.py:1136 msgid "" "Usage: templates [trace_search]\n" " List templates and their installed directories.\n" @@ -540,7 +555,7 @@ " " msgstr "" -#: ../roundup/admin.py:1128 +#: ../roundup/admin.py:1164 msgid "" "Usage: table classname [property[,property]*]\n" " List the instances of a class in tabular form.\n" @@ -572,17 +587,17 @@ " " msgstr "" -#: ../roundup/admin.py:1172 +#: ../roundup/admin.py:1208 #, python-format msgid "\"%(spec)s\" not name:width" msgstr "" -#: ../roundup/admin.py:1194 -#, python-format -msgid "\"%(spec)s\" does not have an integer width: \"%(width)s\"" -msgstr "" - #: ../roundup/admin.py:1230 +#, 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" @@ -597,7 +612,7 @@ " " msgstr "" -#: ../roundup/admin.py:1266 +#: ../roundup/admin.py:1302 msgid "" "Usage: commit\n" " Commit changes made to the database during an interactive session.\n" @@ -611,7 +626,7 @@ " " msgstr "" -#: ../roundup/admin.py:1281 +#: ../roundup/admin.py:1317 msgid "" "Usage: rollback\n" " Undo all changes that are pending commit to the database.\n" @@ -623,7 +638,7 @@ " " msgstr "" -#: ../roundup/admin.py:1294 +#: ../roundup/admin.py:1330 msgid "" "Usage: retire designator[,designator]*\n" " Retire the node specified by designator.\n" @@ -636,7 +651,7 @@ " " msgstr "" -#: ../roundup/admin.py:1322 +#: ../roundup/admin.py:1358 msgid "" "Usage: restore designator[,designator]*\n" " Restore the retired node specified by designator.\n" @@ -649,13 +664,13 @@ msgstr "" # ../roundup/admin.py:1052 ../roundup/admin.py:85:981 :1030:1052 -#: ../roundup/admin.py:1347 +#: ../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:1353 +#: ../roundup/admin.py:1389 msgid "" "Usage: export [[-]class[,class]] export_dir\n" " Export the database to colon-separated-value files.\n" @@ -671,7 +686,7 @@ " " msgstr "" -#: ../roundup/admin.py:1460 +#: ../roundup/admin.py:1496 msgid "" "Usage: exporttables [[-]class[,class]] export_dir\n" " Export the database to colon-separated-value files, excluding the\n" @@ -688,7 +703,7 @@ " " msgstr "" -#: ../roundup/admin.py:1475 +#: ../roundup/admin.py:1511 msgid "" "Usage: import import_dir\n" " Import a database from the directory containing CSV files,\n" @@ -711,7 +726,7 @@ " " msgstr "" -#: ../roundup/admin.py:1554 +#: ../roundup/admin.py:1590 msgid "" "Usage: importtables export_dir\n" "\n" @@ -719,7 +734,7 @@ " " msgstr "" -#: ../roundup/admin.py:1561 +#: ../roundup/admin.py:1597 msgid "" "Usage: pack period | date\n" "\n" @@ -741,11 +756,11 @@ " " msgstr "" -#: ../roundup/admin.py:1589 +#: ../roundup/admin.py:1625 msgid "Invalid format" msgstr "" -#: ../roundup/admin.py:1602 +#: ../roundup/admin.py:1638 msgid "" "Usage: reindex [classname|designator]*\n" " Re-generate a tracker's search indexes.\n" @@ -755,12 +770,12 @@ " " msgstr "" -#: ../roundup/admin.py:1616 +#: ../roundup/admin.py:1652 #, python-format msgid "no such item \"%(designator)s\"" msgstr "" -#: ../roundup/admin.py:1626 +#: ../roundup/admin.py:1662 msgid "" "Usage: security [Role name]\n" "\n" @@ -768,46 +783,46 @@ " " msgstr "" -#: ../roundup/admin.py:1635 +#: ../roundup/admin.py:1671 #, fuzzy, python-format msgid "No such Role \"%(role)s\"\n" msgstr "Non è presente il ruolo \"%(role)s\"" -#: ../roundup/admin.py:1641 +#: ../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:1644 +#: ../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:1648 +#: ../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:1650 +#: ../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:1653 +#: ../roundup/admin.py:1689 #, fuzzy, python-format msgid "Role \"%(name)s\":\n" msgstr "Ruolo \"%(name)s\":" -#: ../roundup/admin.py:1659 +#: ../roundup/admin.py:1695 msgid " %(description)s (%(name)s for \"%(klass)s\"" msgstr "" -#: ../roundup/admin.py:1659 +#: ../roundup/admin.py:1695 #, python-format msgid " %(description)s (%(name)s for \"%(klass)s\": %(properties)s only)\n" msgstr "" -#: ../roundup/admin.py:1672 +#: ../roundup/admin.py:1708 #, python-format msgid "" "\n" @@ -815,17 +830,17 @@ "\n" msgstr "" -#: ../roundup/admin.py:1678 +#: ../roundup/admin.py:1714 #, python-format msgid " %(description)s (%(name)s for \"%(klass)s\" only)\n" msgstr "" -#: ../roundup/admin.py:1681 +#: ../roundup/admin.py:1717 #, python-format msgid " %(description)s (%(name)s)\n" msgstr "" -#: ../roundup/admin.py:1685 +#: ../roundup/admin.py:1721 msgid "" "Usage: migrate\n" "\n" @@ -849,61 +864,57 @@ " " msgstr "" -#: ../roundup/admin.py:1706 +#: ../roundup/admin.py:1742 msgid "Tracker updated" msgstr "" -#: ../roundup/admin.py:1709 +#: ../roundup/admin.py:1745 msgid "No migration action required" msgstr "" -#: ../roundup/admin.py:1735 +#: ../roundup/admin.py:1771 #, python-format msgid "Unknown command \"%(command)s\" (\"help commands\" for a list)" msgstr "" -#: ../roundup/admin.py:1741 +#: ../roundup/admin.py:1777 #, python-format msgid "Multiple commands match \"%(command)s\": %(list)s" msgstr "" -#: ../roundup/admin.py:1750 +#: ../roundup/admin.py:1786 msgid "Enter tracker home: " msgstr "" # ../roundup/admin.py:1371:1377 :1397 -#: ../roundup/admin.py:1759 ../roundup/admin.py:1765 ../roundup/admin.py:1802 -#: ../roundup/admin.py:1759:1765:1802 +#: ../roundup/admin.py:1795 ../roundup/admin.py:1801 ../roundup/admin.py:1838 +#: ../roundup/admin.py:1795:1801:1838 #, python-format msgid "Error: %(message)s" msgstr "" -#: ../roundup/admin.py:1775 ../roundup/admin.py:1779 -#: ../roundup/admin.py:1775:1779 +#: ../roundup/admin.py:1811 ../roundup/admin.py:1815 +#: ../roundup/admin.py:1811:1815 #, python-format msgid "Error: Couldn't open tracker: %(message)s" msgstr "" -#: ../roundup/admin.py:1815 +#: ../roundup/admin.py:1851 #, python-format msgid "" "Roundup %s ready for input.\n" "Type \"help\" for help." msgstr "" -#: ../roundup/admin.py:1820 +#: ../roundup/admin.py:1856 msgid "Note: command history and editing not available" msgstr "" -#: ../roundup/admin.py:1824 -msgid "roundup> " -msgstr "" - -#: ../roundup/admin.py:1826 +#: ../roundup/admin.py:1862 msgid "exit..." msgstr "" -#: ../roundup/admin.py:1839 +#: ../roundup/admin.py:1875 msgid "There are unsaved changes. Commit them (y/N)? " msgstr "" @@ -1011,20 +1022,22 @@ msgid "restored" msgstr "ripristina" -#: ../roundup/backends/sessions_redis.py:76 -#: ../roundup/backends/sessions_redis.py:95 -#: ../roundup/backends/sessions_redis.py:76:95 +#: ../roundup/backends/sessions_redis.py:78 +#: ../roundup/backends/sessions_redis.py:97 +#: ../roundup/backends/sessions_redis.py:78:97 #, python-format msgid "Key %(key)s not found in %(name)s database." msgstr "" -#: ../roundup/backends/sessions_redis.py:191 +#: ../roundup/backends/sessions_redis.py:193 #, python-format msgid "Key %(key)s changed in %(name)s db" msgstr "" -#: ../roundup/backends/sessions_redis.py:195 -msgid "Redis set failed afer 3 retries" +#: ../roundup/backends/sessions_redis.py:203 +#, python-format +msgid "" +"Redis set failed after %(retries)d retries for user %(user)s with key %(key)s" msgstr "" #: ../roundup/cgi/actions.py:97 @@ -1340,22 +1353,22 @@ msgstr "" # ../roundup/cgi/actions.py:931:935 -#: ../roundup/cgi/actions.py:1383 ../roundup/cgi/actions.py:1387 -#: ../roundup/cgi/actions.py:1383:1387 +#: ../roundup/cgi/actions.py:1384 ../roundup/cgi/actions.py:1388 +#: ../roundup/cgi/actions.py:1384:1388 msgid "Invalid login" msgstr "Login invalida" -#: ../roundup/cgi/actions.py:1393 +#: ../roundup/cgi/actions.py:1394 msgid "You do not have permission to login" msgstr "Non hai il permesso per eseguire la login" -#: ../roundup/cgi/actions.py:1437 ../roundup/cgi/actions.py:1616 -#: ../roundup/cgi/actions.py:1437:1616 +#: ../roundup/cgi/actions.py:1439 ../roundup/cgi/actions.py:1618 +#: ../roundup/cgi/actions.py:1439:1618 #, python-format msgid "Column \"%(column)s\" not found in %(class)s" msgstr "" -#: ../roundup/cgi/actions.py:1687 +#: ../roundup/cgi/actions.py:1689 #, fuzzy, python-format msgid "You do not have permission to view %(class)s" msgstr "Non hai i permessi per modificare i %(class)s" @@ -1459,158 +1472,159 @@ "La notifica del problema è stata notificata al manutentore del tracker.</p>\n" "</body></html>" -#: ../roundup/cgi/client.py:651 +#: ../roundup/cgi/client.py:670 ../roundup/cgi/client.py:1570 +#: ../roundup/cgi/client.py:670:1570 +msgid "Required Header Missing" +msgstr "" + +#: ../roundup/cgi/client.py:672 #, fuzzy msgid "Client is not allowed to use Rest Interface." msgstr "" "Gli utenti anonimi non hanno il permesso di utilizzare l'interfaccia web" -#: ../roundup/cgi/client.py:895 +#: ../roundup/cgi/client.py:921 msgid "Form Error: " msgstr "Errore nella Form: " -#: ../roundup/cgi/client.py:985 +#: ../roundup/cgi/client.py:1011 #, python-format msgid "Unrecognized charset: %r" msgstr "Codice di carattere sconosciuto: %r" -#: ../roundup/cgi/client.py:1238 ../roundup/cgi/client.py:2196 -#: ../roundup/cgi/client.py:1238:2196 +#: ../roundup/cgi/client.py:1264 ../roundup/cgi/client.py:2250 +#: ../roundup/cgi/client.py:1264:2250 msgid "broken form: multiple @action values submitted" msgstr "" -#: ../roundup/cgi/client.py:1253 +#: ../roundup/cgi/client.py:1279 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:1376 +#: ../roundup/cgi/client.py:1430 msgid "Referer header not available." msgstr "" -#: ../roundup/cgi/client.py:1380 +#: ../roundup/cgi/client.py:1434 #, python-format msgid "csrf key used with wrong method from: %s" msgstr "" -#: ../roundup/cgi/client.py:1409 +#: ../roundup/cgi/client.py:1463 #, python-format msgid "csrf header %(header)s required but missing for user%(userid)s." msgstr "" -#: ../roundup/cgi/client.py:1413 +#: ../roundup/cgi/client.py:1467 #, python-format msgid "Missing header: %s" msgstr "" -#: ../roundup/cgi/client.py:1421 +#: ../roundup/cgi/client.py:1475 #, 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:1426 +#: ../roundup/cgi/client.py:1480 #, fuzzy, python-format msgid "Invalid Referer: %s" msgstr "Login invalida" -#: ../roundup/cgi/client.py:1441 +#: ../roundup/cgi/client.py:1495 #, 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:1446 +#: ../roundup/cgi/client.py:1500 #, fuzzy, python-format msgid "Invalid Origin %s" msgstr "Login invalida" -#: ../roundup/cgi/client.py:1460 +#: ../roundup/cgi/client.py:1514 #, python-format msgid "" "csrf X-FORWARDED-HOST header check failed for user%(userid)s. Value=%(host)s" msgstr "" -#: ../roundup/cgi/client.py:1466 +#: ../roundup/cgi/client.py:1520 #, python-format msgid "Invalid X-FORWARDED-HOST %s" msgstr "" -#: ../roundup/cgi/client.py:1485 +#: ../roundup/cgi/client.py:1539 #, python-format msgid "csrf HOST header check failed for user%(userid)s. Value=%(host)s" msgstr "" -#: ../roundup/cgi/client.py:1490 +#: ../roundup/cgi/client.py:1544 #, python-format msgid "Invalid HOST %s" msgstr "" -#: ../roundup/cgi/client.py:1498 +#: ../roundup/cgi/client.py:1552 msgid "Csrf: unable to verify sufficient headers" msgstr "" -#: ../roundup/cgi/client.py:1499 +#: ../roundup/cgi/client.py:1553 msgid "Unable to verify sufficient headers" msgstr "" -#: ../roundup/cgi/client.py:1513 +#: ../roundup/cgi/client.py:1567 #, python-format msgid "csrf X-REQUESTED-WITH xmlrpc required header check failed for user%s." msgstr "" -#: ../roundup/cgi/client.py:1516 -msgid "Required Header Missing" -msgstr "" - -#: ../roundup/cgi/client.py:1554 +#: ../roundup/cgi/client.py:1608 #, python-format msgid "Required csrf field missing for user%s" msgstr "" -#: ../roundup/cgi/client.py:1556 ../roundup/cgi/client.py:1583 -#: ../roundup/cgi/client.py:1600 ../roundup/cgi/client.py:1556:1583:1600 +#: ../roundup/cgi/client.py:1610 ../roundup/cgi/client.py:1637 +#: ../roundup/cgi/client.py:1654 ../roundup/cgi/client.py:1610:1637:1654 msgid "" "We can't validate your session (csrf failure). Re-enter any unsaved data and " "try again." msgstr "" -#: ../roundup/cgi/client.py:1560 +#: ../roundup/cgi/client.py:1614 #, python-format msgid "csrf field not supplied by user%s" msgstr "" -#: ../roundup/cgi/client.py:1572 +#: ../roundup/cgi/client.py:1626 #, 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:1590 +#: ../roundup/cgi/client.py:1644 #, 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:1784 +#: ../roundup/cgi/client.py:1838 msgid "You are not allowed to view this file." msgstr "Non si dispone dei permessi per visualizzare questo file." -#: ../roundup/cgi/client.py:2073 +#: ../roundup/cgi/client.py:2127 #, python-format msgid "%(starttag)sTime elapsed: %(seconds)fs%(endtag)s\n" msgstr "%(starttag)sTempo trascorso: %(seconds)fs%(endtag)s\n" -#: ../roundup/cgi/client.py:2077 +#: ../roundup/cgi/client.py:2131 #, 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:2615 +#: ../roundup/cgi/client.py:2669 #, python-format msgid "" "Cache failure: compressed file %(compressed)s is older than its source file " @@ -2016,29 +2030,29 @@ msgid "\"%s\" not a node designator" msgstr "" -#: ../roundup/hyperdb.py:1492 ../roundup/hyperdb.py:1500 -#: ../roundup/hyperdb.py:1492:1500 +#: ../roundup/hyperdb.py:1493 ../roundup/hyperdb.py:1501 +#: ../roundup/hyperdb.py:1493:1501 #, python-format msgid "Not a property name: %s" msgstr "" -#: ../roundup/hyperdb.py:1977 +#: ../roundup/hyperdb.py:1978 #, 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:1983 +#: ../roundup/hyperdb.py:1984 #, python-format msgid "you may only enter ID values for property %s" msgstr "" -#: ../roundup/hyperdb.py:2018 +#: ../roundup/hyperdb.py:2019 #, python-format msgid "%(property)r is not a property of %(classname)s" msgstr "" -#: ../roundup/init.py:139 +#: ../roundup/init.py:141 #, python-format msgid "" "WARNING: directory '%s'\n" @@ -2327,7 +2341,7 @@ "%(mailadmin)s e segnala che la proprietà scorretta:\n" " %(errors)s\n" -#: ../roundup/mailgw.py:1820 +#: ../roundup/mailgw.py:1821 #, fuzzy, python-format msgid "" "\n" @@ -2355,19 +2369,19 @@ msgid "Invalid attribute %s" msgstr "Login invalida" -#: ../roundup/rest.py:2078 +#: ../roundup/rest.py:2090 #, python-format msgid "Api rate limits exceeded. Please wait: %s seconds." msgstr "" -#: ../roundup/rest.py:2113 +#: ../roundup/rest.py:2125 #, python-format msgid "" "Unable to parse Accept Header. %(error)s. Acceptable types: " "%(acceptable_types)s" msgstr "" -#: ../roundup/rest.py:2262 +#: ../roundup/rest.py:2305 #, python-format msgid "" "Unrecognized api version: %s. See /rest without specifying api version for " @@ -2500,27 +2514,27 @@ msgid "No tracker templates found in directory %s" msgstr "" -#: ../roundup/scripts/roundup_mailgw.py:185 +#: ../roundup/scripts/roundup_mailgw.py:182 msgid "" "\n" "Error: The instance home must be specified" msgstr "" -#: ../roundup/scripts/roundup_mailgw.py:203 +#: ../roundup/scripts/roundup_mailgw.py:200 #, fuzzy msgid "" "\n" "Error: not enough source specification information" msgstr "Errore: insufficienti informazioni sul sorgente" -#: ../roundup/scripts/roundup_mailgw.py:234 +#: ../roundup/scripts/roundup_mailgw.py:231 #, fuzzy, python-format msgid "" "\n" "Error: %s specification not valid" msgstr "Errore: il pop server specificato non è valido." -#: ../roundup/scripts/roundup_mailgw.py:258 +#: ../roundup/scripts/roundup_mailgw.py:254 #, fuzzy msgid "" "\n" @@ -2534,7 +2548,7 @@ msgid "WARNING: generating temporary SSL certificate" msgstr "" -#: ../roundup/scripts/roundup_server.py:329 +#: ../roundup/scripts/roundup_server.py:331 msgid "" "<html><head><title>Roundup trackers index</title></head>\n" "<body><h1>Roundup trackers index</h1><ol>\n" @@ -2542,60 +2556,60 @@ "<html><head><title>indice dei ticket Roundup</title></head>\n" "<body><h1>indice dei ticket Roundup</h1><ol>\n" -#: ../roundup/scripts/roundup_server.py:549 +#: ../roundup/scripts/roundup_server.py:551 #, fuzzy, python-format msgid "Error: %(type)s: %(value)s" msgstr "%(key)s:·%(value)s" -#: ../roundup/scripts/roundup_server.py:561 +#: ../roundup/scripts/roundup_server.py:563 msgid "WARNING: ignoring \"-g\" argument, not root" msgstr "ATTENZIONE: ignoro il parametro \"-g\", non sei root" -#: ../roundup/scripts/roundup_server.py:567 +#: ../roundup/scripts/roundup_server.py:569 msgid "Can't change groups - no grp module" msgstr "Non è possibile cambiare gruppo - nessun modulo grp" -#: ../roundup/scripts/roundup_server.py:576 +#: ../roundup/scripts/roundup_server.py:578 #, python-format msgid "Group %(group)s doesn't exist" msgstr "Il gruppo %(group)s non esiste" -#: ../roundup/scripts/roundup_server.py:588 +#: ../roundup/scripts/roundup_server.py:590 msgid "Can't run as root!" msgstr "Non può essere eseguito come root!" -#: ../roundup/scripts/roundup_server.py:591 +#: ../roundup/scripts/roundup_server.py:593 msgid "WARNING: ignoring \"-u\" argument, not root" msgstr "" -#: ../roundup/scripts/roundup_server.py:597 +#: ../roundup/scripts/roundup_server.py:599 msgid "Can't change users - no pwd module" msgstr "Non è possibile cambiare utente - nessun modulo pwd" -#: ../roundup/scripts/roundup_server.py:606 +#: ../roundup/scripts/roundup_server.py:608 #, python-format msgid "User %(user)s doesn't exist" msgstr "L'utente %(user)s non esiste" -#: ../roundup/scripts/roundup_server.py:803 +#: ../roundup/scripts/roundup_server.py:805 #, 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:830 +#: ../roundup/scripts/roundup_server.py:832 #, 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:834 +#: ../roundup/scripts/roundup_server.py:836 #, 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:913 +#: ../roundup/scripts/roundup_server.py:915 msgid "" " -c <Command> Windows Service options.\n" " If you want to run the server as a Windows Service, you\n" @@ -2605,7 +2619,7 @@ " specifics." msgstr "" -#: ../roundup/scripts/roundup_server.py:920 +#: ../roundup/scripts/roundup_server.py:922 msgid "" " -u <UID> runs the Roundup web server as this UID\n" " -g <GID> runs the Roundup web server as this GID\n" @@ -2614,7 +2628,7 @@ " specified if -d is used." msgstr "" -#: ../roundup/scripts/roundup_server.py:927 +#: ../roundup/scripts/roundup_server.py:929 #, python-format msgid "" "\n" @@ -2681,22 +2695,22 @@ " any url-unsafe characters like spaces, as these confuse IE.\n" msgstr "" -#: ../roundup/scripts/roundup_server.py:1103 +#: ../roundup/scripts/roundup_server.py:1105 msgid "Instances must be name=home" msgstr "L'istanza deve essere nel formato nome=home" -#: ../roundup/scripts/roundup_server.py:1117 +#: ../roundup/scripts/roundup_server.py:1119 #, python-format msgid "Configuration saved to %s" msgstr "Configurazione salvata in %s" -#: ../roundup/scripts/roundup_server.py:1135 +#: ../roundup/scripts/roundup_server.py:1137 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:1155 +#: ../roundup/scripts/roundup_server.py:1157 #, 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 Mar 01 10:43:54 2023 -0500 +++ b/locale/ja.po Wed Mar 01 10:51:37 2023 -0500 @@ -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: 2022-11-23 22:28-0500\n" +"POT-Creation-Date: 2023-03-01 10:35-0500\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" @@ -23,29 +23,29 @@ "You do not have permission to retire or restore the %(classname)s class." msgstr "%(classname)s の %(action)s を実行する権限がありません。" -#: ../roundup/actions.py:64 ../roundup/cgi/actions.py:240 +#: ../roundup/actions.py:65 ../roundup/cgi/actions.py:240 msgid "You may not retire the admin or anonymous user" msgstr "ユーザー admin と anonymous を無効にすることはできません" -#: ../roundup/admin.py:106 ../roundup/admin.py:1259 ../roundup/admin.py:1314 -#: ../roundup/admin.py:1341 ../roundup/admin.py:106:1259 :1314:1341 +#: ../roundup/admin.py:112 ../roundup/admin.py:1295 ../roundup/admin.py:1350 +#: ../roundup/admin.py:1377 ../roundup/admin.py:112:1295 :1350:1377 #, python-format msgid "no such class \"%(classname)s\"" msgstr "" -#: ../roundup/admin.py:118 +#: ../roundup/admin.py:124 #, python-format msgid "argument \"%(arg)s\" not propname=value" msgstr "" -#: ../roundup/admin.py:131 +#: ../roundup/admin.py:137 #, python-format msgid "" "Problem: %(message)s\n" "\n" msgstr "" -#: ../roundup/admin.py:132 +#: ../roundup/admin.py:138 #, python-format msgid "" "%(message)sUsage: roundup-admin [options] [<command> <arguments>]\n" @@ -73,17 +73,17 @@ " roundup-admin help all -- all available help\n" msgstr "" -#: ../roundup/admin.py:159 +#: ../roundup/admin.py:165 msgid "Commands: " msgstr "" -#: ../roundup/admin.py:166 +#: ../roundup/admin.py:172 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:195 +#: ../roundup/admin.py:201 msgid "" "\n" "All commands (except help) require a tracker specifier. This is just\n" @@ -135,7 +135,7 @@ " . ROUNDUP_LOGIN environment variable\n" " . the -u command-line option\n" "If either the name or password is not supplied, they are obtained from the\n" -"command-line.\n" +"command-line. (See admin guide before using -u.)\n" "\n" "Date format examples:\n" " \"2000-04-17.03:45\" means <Date 2000-04-17.08:45:00>\n" @@ -150,12 +150,12 @@ "Command help:\n" msgstr "" -#: ../roundup/admin.py:258 +#: ../roundup/admin.py:264 #, python-format msgid "%s:" msgstr "" -#: ../roundup/admin.py:265 +#: ../roundup/admin.py:271 msgid "" "Usage: help topic\n" " Give help about topic.\n" @@ -167,20 +167,20 @@ " " msgstr "" -#: ../roundup/admin.py:287 +#: ../roundup/admin.py:293 #, python-format msgid "Sorry, no help for \"%(topic)s\"" msgstr "" -#: ../roundup/admin.py:402 ../roundup/admin.py:458 ../roundup/admin.py:402:458 +#: ../roundup/admin.py:408 ../roundup/admin.py:464 ../roundup/admin.py:408:464 msgid "Templates:" msgstr "" -#: ../roundup/admin.py:405 ../roundup/admin.py:468 ../roundup/admin.py:405:468 +#: ../roundup/admin.py:411 ../roundup/admin.py:474 ../roundup/admin.py:411:474 msgid "Back ends:" msgstr "" -#: ../roundup/admin.py:408 +#: ../roundup/admin.py:414 msgid "" "Usage: install [template [backend [key=val[,key=val]]]]\n" " Install a new Roundup tracker.\n" @@ -206,23 +206,23 @@ " " msgstr "" -#: ../roundup/admin.py:431 ../roundup/admin.py:562 ../roundup/admin.py:635 -#: ../roundup/admin.py:728 ../roundup/admin.py:786 ../roundup/admin.py:872 -#: ../roundup/admin.py:931 ../roundup/admin.py:958 ../roundup/admin.py:985 -#: ../roundup/admin.py:1062 ../roundup/admin.py:1157 ../roundup/admin.py:1243 -#: ../roundup/admin.py:1304 ../roundup/admin.py:1331 ../roundup/admin.py:1367 -#: ../roundup/admin.py:1495 ../roundup/admin.py:1579 -#: ../roundup/admin.py:431:562 :1157 :1243:1304 :1331:1367 :1495:1579 :635:728 -#: :786:872 :931:958 :985:1062 +#: ../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:437 +#: ../roundup/admin.py:443 #, python-format msgid "Instance home parent directory \"%(parent)s\" does not exist" msgstr "" -#: ../roundup/admin.py:446 +#: ../roundup/admin.py:452 #, python-format msgid "" "WARNING: There appears to be a tracker in \"%(tracker_home)s\"!\n" @@ -230,20 +230,20 @@ "Erase it? Y/N: " msgstr "" -#: ../roundup/admin.py:459 +#: ../roundup/admin.py:465 msgid "Select template" msgstr "" -#: ../roundup/admin.py:469 +#: ../roundup/admin.py:475 msgid "Select backend" msgstr "" -#: ../roundup/admin.py:480 +#: ../roundup/admin.py:486 #, python-format msgid "Error in configuration settings: \"%s\"" msgstr "" -#: ../roundup/admin.py:511 +#: ../roundup/admin.py:517 #, python-format msgid "" "\n" @@ -252,11 +252,11 @@ " %(config_file)s" msgstr "" -#: ../roundup/admin.py:521 +#: ../roundup/admin.py:527 msgid " ... at a minimum, you must set following options:" msgstr "" -#: ../roundup/admin.py:526 +#: ../roundup/admin.py:532 #, python-format msgid "" "\n" @@ -273,7 +273,7 @@ "---------------------------------------------------------------------------\n" msgstr "" -#: ../roundup/admin.py:557 +#: ../roundup/admin.py:563 msgid "" "Usage: genconfig <filename>\n" " Generate a new tracker config file (ini style) with default\n" @@ -281,7 +281,22 @@ " " msgstr "" -#: ../roundup/admin.py:572 +#: ../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 msgid "" "Usage: updateconfig <filename>\n" " Generate an updated tracker config file (ini style) in\n" @@ -291,7 +306,7 @@ msgstr "" #. password -#: ../roundup/admin.py:580 +#: ../roundup/admin.py:612 msgid "" "Usage: initialise [adminpw]\n" " Initialise a new Roundup tracker.\n" @@ -302,30 +317,30 @@ " " msgstr "" -#: ../roundup/admin.py:594 +#: ../roundup/admin.py:626 msgid "Admin Password: " msgstr "" -#: ../roundup/admin.py:595 +#: ../roundup/admin.py:627 msgid " Confirm: " msgstr "" -#: ../roundup/admin.py:599 +#: ../roundup/admin.py:631 msgid "Instance home does not exist" msgstr "" -#: ../roundup/admin.py:603 +#: ../roundup/admin.py:635 msgid "Instance has not been installed" msgstr "" -#: ../roundup/admin.py:609 +#: ../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 "" -#: ../roundup/admin.py:625 +#: ../roundup/admin.py:661 msgid "" "Usage: get property designator[,designator]*\n" " Get the given property of one or more designator(s).\n" @@ -338,23 +353,23 @@ " " msgstr "" -#: ../roundup/admin.py:669 ../roundup/admin.py:687 ../roundup/admin.py:669:687 +#: ../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:697 ../roundup/admin.py:1261 ../roundup/admin.py:1316 -#: ../roundup/admin.py:697:1261:1316 +#: ../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:700 +#: ../roundup/admin.py:736 #, python-format msgid "no such %(classname)s property \"%(propname)s\"" msgstr "" -#: ../roundup/admin.py:708 +#: ../roundup/admin.py:744 msgid "" "Usage: set items property=value property=value ...\n" " Set the given properties of one or more items(s).\n" @@ -375,7 +390,7 @@ " " msgstr "" -#: ../roundup/admin.py:776 +#: ../roundup/admin.py:812 msgid "" "Usage: filter classname propname=value ...\n" " Find the nodes of the given class with a given property value.\n" @@ -388,19 +403,19 @@ " " msgstr "" -#: ../roundup/admin.py:819 +#: ../roundup/admin.py:855 #, python-format msgid "Class %(curclassname)s has no property %(pn)s in %(propname)s." msgstr "" -#: ../roundup/admin.py:857 ../roundup/admin.py:918 ../roundup/admin.py:1082 -#: ../roundup/admin.py:1094 ../roundup/admin.py:1177 -#: ../roundup/admin.py:857:918 :1082:1094:1177 +#: ../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:864 +#: ../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" @@ -411,7 +426,7 @@ " " msgstr "" -#: ../roundup/admin.py:925 +#: ../roundup/admin.py:961 msgid "" "Usage: specification classname\n" " Show the properties for a classname.\n" @@ -420,17 +435,17 @@ " " msgstr "" -#: ../roundup/admin.py:941 +#: ../roundup/admin.py:977 #, python-format msgid "%(key)s: %(value)s (key property)\n" msgstr "" -#: ../roundup/admin.py:944 +#: ../roundup/admin.py:980 #, python-format msgid "%(key)s: %(value)s\n" msgstr "" -#: ../roundup/admin.py:947 +#: ../roundup/admin.py:983 msgid "" "Usage: display designator[,designator]*\n" "\n" @@ -444,12 +459,12 @@ " " msgstr "" -#: ../roundup/admin.py:974 +#: ../roundup/admin.py:1010 #, python-format msgid "%(key)s: %(value)s" msgstr "" -#: ../roundup/admin.py:977 +#: ../roundup/admin.py:1013 msgid "" "Usage: create classname property=value ...\n" " Create a new entry of a given class.\n" @@ -461,31 +476,31 @@ " " msgstr "" -#: ../roundup/admin.py:1005 +#: ../roundup/admin.py:1041 #, python-format msgid "%(propname)s (Password): " msgstr "" -#: ../roundup/admin.py:1008 +#: ../roundup/admin.py:1044 #, python-format msgid " %(propname)s (Again): " msgstr "" -#: ../roundup/admin.py:1012 +#: ../roundup/admin.py:1048 msgid "Sorry, try again..." msgstr "" -#: ../roundup/admin.py:1016 +#: ../roundup/admin.py:1052 #, python-format msgid "%(propname)s (%(proptype)s): " msgstr "" -#: ../roundup/admin.py:1035 +#: ../roundup/admin.py:1071 #, python-format msgid "you must provide the \"%(propname)s\" property." msgstr "" -#: ../roundup/admin.py:1047 +#: ../roundup/admin.py:1083 msgid "" "Usage: list classname [property]\n" " List the instances of a class.\n" @@ -501,16 +516,16 @@ " " msgstr "" -#: ../roundup/admin.py:1060 +#: ../roundup/admin.py:1096 msgid "Too many arguments supplied" msgstr "" -#: ../roundup/admin.py:1096 +#: ../roundup/admin.py:1132 #, python-format msgid "%(nodeid)4s: %(value)s" msgstr "" -#: ../roundup/admin.py:1100 +#: ../roundup/admin.py:1136 msgid "" "Usage: templates [trace_search]\n" " List templates and their installed directories.\n" @@ -520,7 +535,7 @@ " " msgstr "" -#: ../roundup/admin.py:1128 +#: ../roundup/admin.py:1164 msgid "" "Usage: table classname [property[,property]*]\n" " List the instances of a class in tabular form.\n" @@ -552,17 +567,17 @@ " " msgstr "" -#: ../roundup/admin.py:1172 +#: ../roundup/admin.py:1208 #, python-format msgid "\"%(spec)s\" not name:width" msgstr "" -#: ../roundup/admin.py:1194 -#, python-format -msgid "\"%(spec)s\" does not have an integer width: \"%(width)s\"" -msgstr "" - #: ../roundup/admin.py:1230 +#, 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" @@ -577,7 +592,7 @@ " " msgstr "" -#: ../roundup/admin.py:1266 +#: ../roundup/admin.py:1302 msgid "" "Usage: commit\n" " Commit changes made to the database during an interactive session.\n" @@ -591,7 +606,7 @@ " " msgstr "" -#: ../roundup/admin.py:1281 +#: ../roundup/admin.py:1317 msgid "" "Usage: rollback\n" " Undo all changes that are pending commit to the database.\n" @@ -603,7 +618,7 @@ " " msgstr "" -#: ../roundup/admin.py:1294 +#: ../roundup/admin.py:1330 msgid "" "Usage: retire designator[,designator]*\n" " Retire the node specified by designator.\n" @@ -616,7 +631,7 @@ " " msgstr "" -#: ../roundup/admin.py:1322 +#: ../roundup/admin.py:1358 msgid "" "Usage: restore designator[,designator]*\n" " Restore the retired node specified by designator.\n" @@ -628,12 +643,12 @@ " " msgstr "" -#: ../roundup/admin.py:1347 +#: ../roundup/admin.py:1383 msgid "no such %(classname)s node \" % (nodeid)s\"" msgstr "" #. grab the directory to export to -#: ../roundup/admin.py:1353 +#: ../roundup/admin.py:1389 msgid "" "Usage: export [[-]class[,class]] export_dir\n" " Export the database to colon-separated-value files.\n" @@ -649,7 +664,7 @@ " " msgstr "" -#: ../roundup/admin.py:1460 +#: ../roundup/admin.py:1496 msgid "" "Usage: exporttables [[-]class[,class]] export_dir\n" " Export the database to colon-separated-value files, excluding the\n" @@ -666,7 +681,7 @@ " " msgstr "" -#: ../roundup/admin.py:1475 +#: ../roundup/admin.py:1511 msgid "" "Usage: import import_dir\n" " Import a database from the directory containing CSV files,\n" @@ -689,7 +704,7 @@ " " msgstr "" -#: ../roundup/admin.py:1554 +#: ../roundup/admin.py:1590 msgid "" "Usage: importtables export_dir\n" "\n" @@ -697,7 +712,7 @@ " " msgstr "" -#: ../roundup/admin.py:1561 +#: ../roundup/admin.py:1597 msgid "" "Usage: pack period | date\n" "\n" @@ -719,11 +734,11 @@ " " msgstr "" -#: ../roundup/admin.py:1589 +#: ../roundup/admin.py:1625 msgid "Invalid format" msgstr "" -#: ../roundup/admin.py:1602 +#: ../roundup/admin.py:1638 msgid "" "Usage: reindex [classname|designator]*\n" " Re-generate a tracker's search indexes.\n" @@ -733,12 +748,12 @@ " " msgstr "" -#: ../roundup/admin.py:1616 +#: ../roundup/admin.py:1652 #, python-format msgid "no such item \"%(designator)s\"" msgstr "" -#: ../roundup/admin.py:1626 +#: ../roundup/admin.py:1662 msgid "" "Usage: security [Role name]\n" "\n" @@ -746,46 +761,46 @@ " " msgstr "" -#: ../roundup/admin.py:1635 +#: ../roundup/admin.py:1671 #, python-format msgid "No such Role \"%(role)s\"\n" msgstr "" -#: ../roundup/admin.py:1641 +#: ../roundup/admin.py:1677 #, python-format msgid "New Web users get the Roles \"%(role)s\"\n" msgstr "" -#: ../roundup/admin.py:1644 +#: ../roundup/admin.py:1680 #, python-format msgid "New Web users get the Role \"%(role)s\"\n" msgstr "" -#: ../roundup/admin.py:1648 +#: ../roundup/admin.py:1684 #, python-format msgid "New Email users get the Roles \"%(role)s\"\n" msgstr "" -#: ../roundup/admin.py:1650 +#: ../roundup/admin.py:1686 #, python-format msgid "New Email users get the Role \"%(role)s\"\n" msgstr "" -#: ../roundup/admin.py:1653 +#: ../roundup/admin.py:1689 #, python-format msgid "Role \"%(name)s\":\n" msgstr "" -#: ../roundup/admin.py:1659 +#: ../roundup/admin.py:1695 msgid " %(description)s (%(name)s for \"%(klass)s\"" msgstr "" -#: ../roundup/admin.py:1659 +#: ../roundup/admin.py:1695 #, python-format msgid " %(description)s (%(name)s for \"%(klass)s\": %(properties)s only)\n" msgstr "" -#: ../roundup/admin.py:1672 +#: ../roundup/admin.py:1708 #, python-format msgid "" "\n" @@ -793,17 +808,17 @@ "\n" msgstr "" -#: ../roundup/admin.py:1678 +#: ../roundup/admin.py:1714 #, python-format msgid " %(description)s (%(name)s for \"%(klass)s\" only)\n" msgstr "" -#: ../roundup/admin.py:1681 +#: ../roundup/admin.py:1717 #, python-format msgid " %(description)s (%(name)s)\n" msgstr "" -#: ../roundup/admin.py:1685 +#: ../roundup/admin.py:1721 msgid "" "Usage: migrate\n" "\n" @@ -827,60 +842,56 @@ " " msgstr "" -#: ../roundup/admin.py:1706 +#: ../roundup/admin.py:1742 msgid "Tracker updated" msgstr "" -#: ../roundup/admin.py:1709 +#: ../roundup/admin.py:1745 msgid "No migration action required" msgstr "" -#: ../roundup/admin.py:1735 +#: ../roundup/admin.py:1771 #, python-format msgid "Unknown command \"%(command)s\" (\"help commands\" for a list)" msgstr "" -#: ../roundup/admin.py:1741 +#: ../roundup/admin.py:1777 #, python-format msgid "Multiple commands match \"%(command)s\": %(list)s" msgstr "" -#: ../roundup/admin.py:1750 +#: ../roundup/admin.py:1786 msgid "Enter tracker home: " msgstr "" -#: ../roundup/admin.py:1759 ../roundup/admin.py:1765 ../roundup/admin.py:1802 -#: ../roundup/admin.py:1759:1765:1802 +#: ../roundup/admin.py:1795 ../roundup/admin.py:1801 ../roundup/admin.py:1838 +#: ../roundup/admin.py:1795:1801:1838 #, python-format msgid "Error: %(message)s" msgstr "" -#: ../roundup/admin.py:1775 ../roundup/admin.py:1779 -#: ../roundup/admin.py:1775:1779 +#: ../roundup/admin.py:1811 ../roundup/admin.py:1815 +#: ../roundup/admin.py:1811:1815 #, python-format msgid "Error: Couldn't open tracker: %(message)s" msgstr "" -#: ../roundup/admin.py:1815 +#: ../roundup/admin.py:1851 #, python-format msgid "" "Roundup %s ready for input.\n" "Type \"help\" for help." msgstr "" -#: ../roundup/admin.py:1820 +#: ../roundup/admin.py:1856 msgid "Note: command history and editing not available" msgstr "" -#: ../roundup/admin.py:1824 -msgid "roundup> " -msgstr "" - -#: ../roundup/admin.py:1826 +#: ../roundup/admin.py:1862 msgid "exit..." msgstr "" -#: ../roundup/admin.py:1839 +#: ../roundup/admin.py:1875 msgid "There are unsaved changes. Commit them (y/N)? " msgstr "" @@ -988,20 +999,22 @@ msgid "restored" msgstr "" -#: ../roundup/backends/sessions_redis.py:76 -#: ../roundup/backends/sessions_redis.py:95 -#: ../roundup/backends/sessions_redis.py:76:95 +#: ../roundup/backends/sessions_redis.py:78 +#: ../roundup/backends/sessions_redis.py:97 +#: ../roundup/backends/sessions_redis.py:78:97 #, python-format msgid "Key %(key)s not found in %(name)s database." msgstr "" -#: ../roundup/backends/sessions_redis.py:191 +#: ../roundup/backends/sessions_redis.py:193 #, python-format msgid "Key %(key)s changed in %(name)s db" msgstr "" -#: ../roundup/backends/sessions_redis.py:195 -msgid "Redis set failed afer 3 retries" +#: ../roundup/backends/sessions_redis.py:203 +#, python-format +msgid "" +"Redis set failed after %(retries)d retries for user %(user)s with key %(key)s" msgstr "" #: ../roundup/cgi/actions.py:97 @@ -1307,22 +1320,22 @@ msgid "Welcome %(username)s!" msgstr "" -#: ../roundup/cgi/actions.py:1383 ../roundup/cgi/actions.py:1387 -#: ../roundup/cgi/actions.py:1383:1387 +#: ../roundup/cgi/actions.py:1384 ../roundup/cgi/actions.py:1388 +#: ../roundup/cgi/actions.py:1384:1388 msgid "Invalid login" msgstr "" -#: ../roundup/cgi/actions.py:1393 +#: ../roundup/cgi/actions.py:1394 msgid "You do not have permission to login" msgstr "" -#: ../roundup/cgi/actions.py:1437 ../roundup/cgi/actions.py:1616 -#: ../roundup/cgi/actions.py:1437:1616 +#: ../roundup/cgi/actions.py:1439 ../roundup/cgi/actions.py:1618 +#: ../roundup/cgi/actions.py:1439:1618 #, python-format msgid "Column \"%(column)s\" not found in %(class)s" msgstr "" -#: ../roundup/cgi/actions.py:1687 +#: ../roundup/cgi/actions.py:1689 #, python-format msgid "You do not have permission to view %(class)s" msgstr "%(class)s を表示する権限がありません" @@ -1408,154 +1421,155 @@ "</body></html>" msgstr "" -#: ../roundup/cgi/client.py:651 +#: ../roundup/cgi/client.py:670 ../roundup/cgi/client.py:1570 +#: ../roundup/cgi/client.py:670:1570 +msgid "Required Header Missing" +msgstr "" + +#: ../roundup/cgi/client.py:672 #, fuzzy msgid "Client is not allowed to use Rest Interface." msgstr "クエリー編集の権限がありません。" -#: ../roundup/cgi/client.py:895 +#: ../roundup/cgi/client.py:921 msgid "Form Error: " msgstr "" -#: ../roundup/cgi/client.py:985 +#: ../roundup/cgi/client.py:1011 #, python-format msgid "Unrecognized charset: %r" msgstr "" -#: ../roundup/cgi/client.py:1238 ../roundup/cgi/client.py:2196 -#: ../roundup/cgi/client.py:1238:2196 +#: ../roundup/cgi/client.py:1264 ../roundup/cgi/client.py:2250 +#: ../roundup/cgi/client.py:1264:2250 msgid "broken form: multiple @action values submitted" msgstr "" -#: ../roundup/cgi/client.py:1253 +#: ../roundup/cgi/client.py:1279 msgid "Anonymous users are not allowed to use the web interface" msgstr "" -#: ../roundup/cgi/client.py:1376 +#: ../roundup/cgi/client.py:1430 msgid "Referer header not available." msgstr "" -#: ../roundup/cgi/client.py:1380 +#: ../roundup/cgi/client.py:1434 #, python-format msgid "csrf key used with wrong method from: %s" msgstr "" -#: ../roundup/cgi/client.py:1409 +#: ../roundup/cgi/client.py:1463 #, python-format msgid "csrf header %(header)s required but missing for user%(userid)s." msgstr "" -#: ../roundup/cgi/client.py:1413 +#: ../roundup/cgi/client.py:1467 #, python-format msgid "Missing header: %s" msgstr "" -#: ../roundup/cgi/client.py:1421 +#: ../roundup/cgi/client.py:1475 #, python-format msgid "csrf Referer header check failed for user%(userid)s. Value=%(referer)s" msgstr "" -#: ../roundup/cgi/client.py:1426 +#: ../roundup/cgi/client.py:1480 #, fuzzy, python-format msgid "Invalid Referer: %s" msgstr "不正なリクエスト" -#: ../roundup/cgi/client.py:1441 +#: ../roundup/cgi/client.py:1495 #, python-format msgid "csrf Origin header check failed for user%(userid)s. Value=%(origin)s" msgstr "" -#: ../roundup/cgi/client.py:1446 +#: ../roundup/cgi/client.py:1500 #, fuzzy, python-format msgid "Invalid Origin %s" msgstr "不正なリクエスト" -#: ../roundup/cgi/client.py:1460 +#: ../roundup/cgi/client.py:1514 #, python-format msgid "" "csrf X-FORWARDED-HOST header check failed for user%(userid)s. Value=%(host)s" msgstr "" -#: ../roundup/cgi/client.py:1466 +#: ../roundup/cgi/client.py:1520 #, python-format msgid "Invalid X-FORWARDED-HOST %s" msgstr "" -#: ../roundup/cgi/client.py:1485 +#: ../roundup/cgi/client.py:1539 #, python-format msgid "csrf HOST header check failed for user%(userid)s. Value=%(host)s" msgstr "" -#: ../roundup/cgi/client.py:1490 +#: ../roundup/cgi/client.py:1544 #, fuzzy, python-format msgid "Invalid HOST %s" msgstr "不正なリクエスト" -#: ../roundup/cgi/client.py:1498 +#: ../roundup/cgi/client.py:1552 msgid "Csrf: unable to verify sufficient headers" msgstr "" -#: ../roundup/cgi/client.py:1499 +#: ../roundup/cgi/client.py:1553 msgid "Unable to verify sufficient headers" msgstr "" -#: ../roundup/cgi/client.py:1513 +#: ../roundup/cgi/client.py:1567 #, python-format msgid "csrf X-REQUESTED-WITH xmlrpc required header check failed for user%s." msgstr "" -#: ../roundup/cgi/client.py:1516 -msgid "Required Header Missing" -msgstr "" - -#: ../roundup/cgi/client.py:1554 +#: ../roundup/cgi/client.py:1608 #, python-format msgid "Required csrf field missing for user%s" msgstr "" -#: ../roundup/cgi/client.py:1556 ../roundup/cgi/client.py:1583 -#: ../roundup/cgi/client.py:1600 ../roundup/cgi/client.py:1556:1583:1600 +#: ../roundup/cgi/client.py:1610 ../roundup/cgi/client.py:1637 +#: ../roundup/cgi/client.py:1654 ../roundup/cgi/client.py:1610:1637:1654 msgid "" "We can't validate your session (csrf failure). Re-enter any unsaved data and " "try again." msgstr "" -#: ../roundup/cgi/client.py:1560 +#: ../roundup/cgi/client.py:1614 #, python-format msgid "csrf field not supplied by user%s" msgstr "" -#: ../roundup/cgi/client.py:1572 +#: ../roundup/cgi/client.py:1626 #, 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:1590 +#: ../roundup/cgi/client.py:1644 #, 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:1784 +#: ../roundup/cgi/client.py:1838 msgid "You are not allowed to view this file." msgstr "" -#: ../roundup/cgi/client.py:2073 +#: ../roundup/cgi/client.py:2127 #, python-format msgid "%(starttag)sTime elapsed: %(seconds)fs%(endtag)s\n" msgstr "" -#: ../roundup/cgi/client.py:2077 +#: ../roundup/cgi/client.py:2131 #, 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:2615 +#: ../roundup/cgi/client.py:2669 #, python-format msgid "" "Cache failure: compressed file %(compressed)s is older than its source file " @@ -1937,28 +1951,28 @@ msgid "\"%s\" not a node designator" msgstr "" -#: ../roundup/hyperdb.py:1492 ../roundup/hyperdb.py:1500 -#: ../roundup/hyperdb.py:1492:1500 +#: ../roundup/hyperdb.py:1493 ../roundup/hyperdb.py:1501 +#: ../roundup/hyperdb.py:1493:1501 #, python-format msgid "Not a property name: %s" msgstr "" -#: ../roundup/hyperdb.py:1977 +#: ../roundup/hyperdb.py:1978 #, fuzzy, python-format msgid "property %(property)s: %(value)r is not a %(classname)s." msgstr "プロパティ \"%(propname)s\": \"%(value)s\" がリストの中にありません" -#: ../roundup/hyperdb.py:1983 +#: ../roundup/hyperdb.py:1984 #, python-format msgid "you may only enter ID values for property %s" msgstr "" -#: ../roundup/hyperdb.py:2018 +#: ../roundup/hyperdb.py:2019 #, python-format msgid "%(property)r is not a property of %(classname)s" msgstr "" -#: ../roundup/init.py:139 +#: ../roundup/init.py:141 #, python-format msgid "" "WARNING: directory '%s'\n" @@ -2179,7 +2193,7 @@ " %(errors)s\n" msgstr "" -#: ../roundup/mailgw.py:1820 +#: ../roundup/mailgw.py:1821 #, python-format msgid "" "\n" @@ -2202,19 +2216,19 @@ msgid "Invalid attribute %s" msgstr "不正なリクエスト" -#: ../roundup/rest.py:2078 +#: ../roundup/rest.py:2090 #, python-format msgid "Api rate limits exceeded. Please wait: %s seconds." msgstr "" -#: ../roundup/rest.py:2113 +#: ../roundup/rest.py:2125 #, python-format msgid "" "Unable to parse Accept Header. %(error)s. Acceptable types: " "%(acceptable_types)s" msgstr "" -#: ../roundup/rest.py:2262 +#: ../roundup/rest.py:2305 #, python-format msgid "" "Unrecognized api version: %s. See /rest without specifying api version for " @@ -2337,26 +2351,26 @@ msgid "No tracker templates found in directory %s" msgstr "" -#: ../roundup/scripts/roundup_mailgw.py:185 +#: ../roundup/scripts/roundup_mailgw.py:182 msgid "" "\n" "Error: The instance home must be specified" msgstr "" -#: ../roundup/scripts/roundup_mailgw.py:203 +#: ../roundup/scripts/roundup_mailgw.py:200 msgid "" "\n" "Error: not enough source specification information" msgstr "" -#: ../roundup/scripts/roundup_mailgw.py:234 +#: ../roundup/scripts/roundup_mailgw.py:231 #, python-format msgid "" "\n" "Error: %s specification not valid" msgstr "" -#: ../roundup/scripts/roundup_mailgw.py:258 +#: ../roundup/scripts/roundup_mailgw.py:254 msgid "" "\n" "Error: The source must be either \"mailbox\", \"pop\", \"pops\", \"apop\", " @@ -2367,64 +2381,64 @@ msgid "WARNING: generating temporary SSL certificate" msgstr "" -#: ../roundup/scripts/roundup_server.py:329 +#: ../roundup/scripts/roundup_server.py:331 msgid "" "<html><head><title>Roundup trackers index</title></head>\n" "<body><h1>Roundup trackers index</h1><ol>\n" msgstr "" -#: ../roundup/scripts/roundup_server.py:549 +#: ../roundup/scripts/roundup_server.py:551 #, python-format msgid "Error: %(type)s: %(value)s" msgstr "" -#: ../roundup/scripts/roundup_server.py:561 +#: ../roundup/scripts/roundup_server.py:563 msgid "WARNING: ignoring \"-g\" argument, not root" msgstr "" -#: ../roundup/scripts/roundup_server.py:567 +#: ../roundup/scripts/roundup_server.py:569 msgid "Can't change groups - no grp module" msgstr "" -#: ../roundup/scripts/roundup_server.py:576 +#: ../roundup/scripts/roundup_server.py:578 #, python-format msgid "Group %(group)s doesn't exist" msgstr "" -#: ../roundup/scripts/roundup_server.py:588 +#: ../roundup/scripts/roundup_server.py:590 msgid "Can't run as root!" msgstr "" -#: ../roundup/scripts/roundup_server.py:591 +#: ../roundup/scripts/roundup_server.py:593 msgid "WARNING: ignoring \"-u\" argument, not root" msgstr "" -#: ../roundup/scripts/roundup_server.py:597 +#: ../roundup/scripts/roundup_server.py:599 msgid "Can't change users - no pwd module" msgstr "" -#: ../roundup/scripts/roundup_server.py:606 +#: ../roundup/scripts/roundup_server.py:608 #, python-format msgid "User %(user)s doesn't exist" msgstr "" -#: ../roundup/scripts/roundup_server.py:803 +#: ../roundup/scripts/roundup_server.py:805 #, python-format msgid "Multiprocess mode \"%s\" is not available, switching to single-process" msgstr "" -#: ../roundup/scripts/roundup_server.py:830 +#: ../roundup/scripts/roundup_server.py:832 #, python-format msgid "Unable to bind to port %s, port already in use." msgstr "" -#: ../roundup/scripts/roundup_server.py:834 +#: ../roundup/scripts/roundup_server.py:836 #, python-format msgid "" "Unable to bind to port %(port)s, access not allowed, errno: %(errno)s %(msg)s" msgstr "" -#: ../roundup/scripts/roundup_server.py:913 +#: ../roundup/scripts/roundup_server.py:915 msgid "" " -c <Command> Windows Service options.\n" " If you want to run the server as a Windows Service, you\n" @@ -2434,7 +2448,7 @@ " specifics." msgstr "" -#: ../roundup/scripts/roundup_server.py:920 +#: ../roundup/scripts/roundup_server.py:922 msgid "" " -u <UID> runs the Roundup web server as this UID\n" " -g <GID> runs the Roundup web server as this GID\n" @@ -2443,7 +2457,7 @@ " specified if -d is used." msgstr "" -#: ../roundup/scripts/roundup_server.py:927 +#: ../roundup/scripts/roundup_server.py:929 #, python-format msgid "" "\n" @@ -2510,20 +2524,20 @@ " any url-unsafe characters like spaces, as these confuse IE.\n" msgstr "" -#: ../roundup/scripts/roundup_server.py:1103 +#: ../roundup/scripts/roundup_server.py:1105 msgid "Instances must be name=home" msgstr "" -#: ../roundup/scripts/roundup_server.py:1117 +#: ../roundup/scripts/roundup_server.py:1119 #, python-format msgid "Configuration saved to %s" msgstr "" -#: ../roundup/scripts/roundup_server.py:1135 +#: ../roundup/scripts/roundup_server.py:1137 msgid "Sorry, you can't run the server as a daemon on this Operating System" msgstr "" -#: ../roundup/scripts/roundup_server.py:1155 +#: ../roundup/scripts/roundup_server.py:1157 #, python-format msgid "Roundup server started on %(HOST)s:%(PORT)s" msgstr ""
--- a/locale/lt.po Wed Mar 01 10:43:54 2023 -0500 +++ b/locale/lt.po Wed Mar 01 10:51:37 2023 -0500 @@ -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: 2022-11-23 22:28-0500\n" +"POT-Creation-Date: 2023-03-01 10:35-0500\n" "PO-Revision-Date: 2013-10-31 12:21+0100\n" "Last-Translator: Nerijus Baliunas <nerijus@users.sourceforge.net>\n" "Language-Team: \n" @@ -24,24 +24,24 @@ "You do not have permission to retire or restore the %(classname)s class." msgstr "Jūs neturite leidimo %(action)s %(classname)s klasę." -#: ../roundup/actions.py:64 ../roundup/cgi/actions.py:240 +#: ../roundup/actions.py:65 ../roundup/cgi/actions.py:240 msgid "You may not retire the admin or anonymous user" msgstr "Negalite deaktyvuoti administratoriaus ar anoniminio vartotojo" # ../roundup/admin.py:85 :962 :1011 :1033 -#: ../roundup/admin.py:106 ../roundup/admin.py:1259 ../roundup/admin.py:1314 -#: ../roundup/admin.py:1341 ../roundup/admin.py:106:1259 :1314:1341 +#: ../roundup/admin.py:112 ../roundup/admin.py:1295 ../roundup/admin.py:1350 +#: ../roundup/admin.py:1377 ../roundup/admin.py:112:1295 :1350:1377 #, python-format msgid "no such class \"%(classname)s\"" msgstr "nėra klasės \"%(classname)s\"" # ../roundup/admin.py:95 :99 -#: ../roundup/admin.py:118 +#: ../roundup/admin.py:124 #, python-format msgid "argument \"%(arg)s\" not propname=value" msgstr "argumentas \"%(arg)s\" nėra parinktis=reikšmė formato" -#: ../roundup/admin.py:131 +#: ../roundup/admin.py:137 #, python-format msgid "" "Problem: %(message)s\n" @@ -50,7 +50,7 @@ "Problema: %(message)s\n" "\n" -#: ../roundup/admin.py:132 +#: ../roundup/admin.py:138 #, fuzzy, python-format msgid "" "%(message)sUsage: roundup-admin [options] [<command> <arguments>]\n" @@ -100,12 +100,12 @@ " roundup-admin help <komanda> -- specifinė pagalba komandoms\n" " roundup-admin help all -- visa įmanoma pagalba\n" -#: ../roundup/admin.py:159 +#: ../roundup/admin.py:165 #, fuzzy msgid "Commands: " msgstr "Komandos:" -#: ../roundup/admin.py:166 +#: ../roundup/admin.py:172 msgid "" "Commands may be abbreviated as long as the abbreviation\n" "matches only one command, e.g. l == li == lis == list." @@ -113,7 +113,8 @@ "Komandos gali būti sutrumpintos, tačiau sutrumpinimas turi atitikti tik\n" "vieną komandą, pvz. l == li == lis == list." -#: ../roundup/admin.py:195 +#: ../roundup/admin.py:201 +#, fuzzy msgid "" "\n" "All commands (except help) require a tracker specifier. This is just\n" @@ -165,7 +166,7 @@ " . ROUNDUP_LOGIN environment variable\n" " . the -u command-line option\n" "If either the name or password is not supplied, they are obtained from the\n" -"command-line.\n" +"command-line. (See admin guide before using -u.)\n" "\n" "Date format examples:\n" " \"2000-04-17.03:45\" means <Date 2000-04-17.08:45:00>\n" @@ -246,12 +247,12 @@ "\n" "Komandų pagalba:\n" -#: ../roundup/admin.py:258 +#: ../roundup/admin.py:264 #, python-format msgid "%s:" msgstr "%s:" -#: ../roundup/admin.py:265 +#: ../roundup/admin.py:271 msgid "" "Usage: help topic\n" " Give help about topic.\n" @@ -271,22 +272,22 @@ " all -- visa įmanoma pagalba\n" " " -#: ../roundup/admin.py:287 +#: ../roundup/admin.py:293 #, 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:402 ../roundup/admin.py:458 ../roundup/admin.py:402:458 +#: ../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:405 ../roundup/admin.py:468 ../roundup/admin.py:405:468 +#: ../roundup/admin.py:411 ../roundup/admin.py:474 ../roundup/admin.py:411:474 msgid "Back ends:" msgstr "Duomenų saugyklos:" -#: ../roundup/admin.py:408 +#: ../roundup/admin.py:414 msgid "" "Usage: install [template [backend [key=val[,key=val]]]]\n" " Install a new Roundup tracker.\n" @@ -336,23 +337,23 @@ # ../roundup/admin.py:360 :447 :508 :587 :637 :695 :716 :744 :815 :882 :953 # :1001 :1023 :1050 :1117 :1184 -#: ../roundup/admin.py:431 ../roundup/admin.py:562 ../roundup/admin.py:635 -#: ../roundup/admin.py:728 ../roundup/admin.py:786 ../roundup/admin.py:872 -#: ../roundup/admin.py:931 ../roundup/admin.py:958 ../roundup/admin.py:985 -#: ../roundup/admin.py:1062 ../roundup/admin.py:1157 ../roundup/admin.py:1243 -#: ../roundup/admin.py:1304 ../roundup/admin.py:1331 ../roundup/admin.py:1367 -#: ../roundup/admin.py:1495 ../roundup/admin.py:1579 -#: ../roundup/admin.py:431:562 :1157 :1243:1304 :1331:1367 :1495:1579 :635:728 -#: :786:872 :931:958 :985:1062 +#: ../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:437 +#: ../roundup/admin.py:443 #, python-format msgid "Instance home parent directory \"%(parent)s\" does not exist" msgstr "Namų direktorijos tėvinė direktorija \"%(parent)s\" neegzistuoja" -#: ../roundup/admin.py:446 +#: ../roundup/admin.py:452 #, python-format msgid "" "WARNING: There appears to be a tracker in \"%(tracker_home)s\"!\n" @@ -363,22 +364,22 @@ "Jei jūs jį perdiegsite, prarasite visus duomenis!\n" "Ištrinti jį? Y/N: " -#: ../roundup/admin.py:459 +#: ../roundup/admin.py:465 #, fuzzy msgid "Select template" msgstr "Pasirinkite šabloną [klasikinis]: " -#: ../roundup/admin.py:469 +#: ../roundup/admin.py:475 #, fuzzy msgid "Select backend" msgstr "Pasirinkite duomenų saugyklą [anydbm]: " -#: ../roundup/admin.py:480 +#: ../roundup/admin.py:486 #, python-format msgid "Error in configuration settings: \"%s\"" msgstr "Klaida konfigūracijos nustatymuose: \"%s\"" -#: ../roundup/admin.py:511 +#: ../roundup/admin.py:517 #, python-format msgid "" "\n" @@ -391,11 +392,11 @@ " Dabar jūs turėtumėte pakeisti tracker'io konfigūracijos failą:\n" " %(config_file)s" -#: ../roundup/admin.py:521 +#: ../roundup/admin.py:527 msgid " ... at a minimum, you must set following options:" msgstr " ... mažiausiai turėtumėte nustalyti šias parinktis:" -#: ../roundup/admin.py:526 +#: ../roundup/admin.py:532 #, python-format msgid "" "\n" @@ -424,7 +425,7 @@ " aukščiau minėtus žingsnius.\n" "---------------------------------------------------------------------------\n" -#: ../roundup/admin.py:557 +#: ../roundup/admin.py:563 #, fuzzy msgid "" "Usage: genconfig <filename>\n" @@ -437,7 +438,22 @@ " įprastomis reikšmėmis faile <failovardas>.\n" " " -#: ../roundup/admin.py:572 +#: ../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 #, fuzzy msgid "" "Usage: updateconfig <filename>\n" @@ -452,7 +468,7 @@ " " #. password -#: ../roundup/admin.py:580 +#: ../roundup/admin.py:612 msgid "" "Usage: initialise [adminpw]\n" " Initialise a new Roundup tracker.\n" @@ -470,23 +486,23 @@ " Vykdyti tracker'io inicializacijos funkciją dbinit.init()\n" " " -#: ../roundup/admin.py:594 +#: ../roundup/admin.py:626 msgid "Admin Password: " msgstr "Administratoriaus slaptažodis: " -#: ../roundup/admin.py:595 +#: ../roundup/admin.py:627 msgid " Confirm: " msgstr " Patvirtinkite: " -#: ../roundup/admin.py:599 +#: ../roundup/admin.py:631 msgid "Instance home does not exist" msgstr "Namų direktorija neegzistuoja" -#: ../roundup/admin.py:603 +#: ../roundup/admin.py:635 msgid "Instance has not been installed" msgstr "Egzempliorius nebuvo įdiegtas" -#: ../roundup/admin.py:609 +#: ../roundup/admin.py:641 msgid "" "WARNING: The database is already initialised!\n" "If you re-initialise it, you will lose all the data!\n" @@ -496,7 +512,7 @@ "Jei jūs ją inicializuosite dar kartą, prarasite visus duomenis!\n" "Ištrinti duomenų bazę? Y/N: " -#: ../roundup/admin.py:625 +#: ../roundup/admin.py:661 #, fuzzy msgid "" "Usage: get property designator[,designator]*\n" @@ -516,7 +532,7 @@ " " # ../roundup/admin.py:541 :556 -#: ../roundup/admin.py:669 ../roundup/admin.py:687 ../roundup/admin.py:669:687 +#: ../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 "" @@ -524,18 +540,18 @@ "-d netinkamas." # ../roundup/admin.py:564 :964 :1013 :1035 -#: ../roundup/admin.py:697 ../roundup/admin.py:1261 ../roundup/admin.py:1316 -#: ../roundup/admin.py:697:1261:1316 +#: ../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 "nėra tokio %(classname)s elemento \"%(nodeid)s\"" -#: ../roundup/admin.py:700 +#: ../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:708 +#: ../roundup/admin.py:744 #, fuzzy msgid "" "Usage: set items property=value property=value ...\n" @@ -570,7 +586,7 @@ " reikšmės (t.y. \"1,2,3\").\n" " " -#: ../roundup/admin.py:776 +#: ../roundup/admin.py:812 #, fuzzy msgid "" "Usage: filter classname propname=value ...\n" @@ -593,20 +609,20 @@ " " # ../roundup/admin.py:682 :835 :847 :901 -#: ../roundup/admin.py:819 +#: ../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:857 ../roundup/admin.py:918 ../roundup/admin.py:1082 -#: ../roundup/admin.py:1094 ../roundup/admin.py:1177 -#: ../roundup/admin.py:857:918 :1082:1094:1177 +#: ../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:864 +#: ../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" @@ -625,7 +641,7 @@ " arba jo raktinė reikšmė.\n" " " -#: ../roundup/admin.py:925 +#: ../roundup/admin.py:961 msgid "" "Usage: specification classname\n" " Show the properties for a classname.\n" @@ -639,17 +655,17 @@ " Ši komanda išvardina duotos klasės parinktis.\n" " " -#: ../roundup/admin.py:941 +#: ../roundup/admin.py:977 #, fuzzy, python-format msgid "%(key)s: %(value)s (key property)\n" msgstr "%(key)s: %(value)s (key property)" -#: ../roundup/admin.py:944 +#: ../roundup/admin.py:980 #, fuzzy, python-format msgid "%(key)s: %(value)s\n" msgstr "%(key)s: %(value)s" -#: ../roundup/admin.py:947 +#: ../roundup/admin.py:983 #, fuzzy msgid "" "Usage: display designator[,designator]*\n" @@ -669,12 +685,12 @@ " Ši komanda išvardina parinktis ir jų reikšmes duotam elementui.\n" " " -#: ../roundup/admin.py:974 +#: ../roundup/admin.py:1010 #, python-format msgid "%(key)s: %(value)s" msgstr "%(key)s: %(value)s" -#: ../roundup/admin.py:977 +#: ../roundup/admin.py:1013 msgid "" "Usage: create classname property=value ...\n" " Create a new entry of a given class.\n" @@ -693,31 +709,31 @@ " eilutėje po \"create\" komandos.\n" " " -#: ../roundup/admin.py:1005 +#: ../roundup/admin.py:1041 #, python-format msgid "%(propname)s (Password): " msgstr "%(propname)s (Slaptažodis): " -#: ../roundup/admin.py:1008 +#: ../roundup/admin.py:1044 #, python-format msgid " %(propname)s (Again): " msgstr " %(propname)s (Pakartoti): " -#: ../roundup/admin.py:1012 +#: ../roundup/admin.py:1048 msgid "Sorry, try again..." msgstr "Bandykite dar kartą..." -#: ../roundup/admin.py:1016 +#: ../roundup/admin.py:1052 #, python-format msgid "%(propname)s (%(proptype)s): " msgstr "%(propname)s (%(proptype)s): " -#: ../roundup/admin.py:1035 +#: ../roundup/admin.py:1071 #, python-format msgid "you must provide the \"%(propname)s\" property." msgstr "turite pateikti parinktį \"%(propname)s\"." -#: ../roundup/admin.py:1047 +#: ../roundup/admin.py:1083 msgid "" "Usage: list classname [property]\n" " List the instances of a class.\n" @@ -745,16 +761,16 @@ " parinkties sąrašas kiekvienam klasės egzemplioriui.\n" " " -#: ../roundup/admin.py:1060 +#: ../roundup/admin.py:1096 msgid "Too many arguments supplied" msgstr "Pateikta per daug argumentų" -#: ../roundup/admin.py:1096 +#: ../roundup/admin.py:1132 #, python-format msgid "%(nodeid)4s: %(value)s" msgstr "%(nodeid)4s: %(value)s" -#: ../roundup/admin.py:1100 +#: ../roundup/admin.py:1136 msgid "" "Usage: templates [trace_search]\n" " List templates and their installed directories.\n" @@ -764,7 +780,7 @@ " " msgstr "" -#: ../roundup/admin.py:1128 +#: ../roundup/admin.py:1164 msgid "" "Usage: table classname [property[,property]*]\n" " List the instances of a class in tabular form.\n" @@ -826,17 +842,17 @@ " pateiks 4 simbolių ilgio \"Name\" stulpelį.\n" " " -#: ../roundup/admin.py:1172 +#: ../roundup/admin.py:1208 #, python-format msgid "\"%(spec)s\" not name:width" msgstr "\"%(spec)s\" ne vardas:plotis" -#: ../roundup/admin.py:1194 +#: ../roundup/admin.py:1230 #, python-format msgid "\"%(spec)s\" does not have an integer width: \"%(width)s\"" msgstr "" -#: ../roundup/admin.py:1230 +#: ../roundup/admin.py:1266 msgid "" "Usage: history designator [skipquiet]\n" " Show the history entries of a designator.\n" @@ -851,7 +867,7 @@ " " msgstr "" -#: ../roundup/admin.py:1266 +#: ../roundup/admin.py:1302 msgid "" "Usage: commit\n" " Commit changes made to the database during an interactive session.\n" @@ -876,7 +892,7 @@ " išsaugomos, jei jos įvykdomos sėkmingai.\n" " " -#: ../roundup/admin.py:1281 +#: ../roundup/admin.py:1317 msgid "" "Usage: rollback\n" " Undo all changes that are pending commit to the database.\n" @@ -898,7 +914,7 @@ " nepadarys jokių pakeitimų duomenų bazėje.\n" " " -#: ../roundup/admin.py:1294 +#: ../roundup/admin.py:1330 #, fuzzy msgid "" "Usage: retire designator[,designator]*\n" @@ -919,7 +935,7 @@ " kartą.\n" " " -#: ../roundup/admin.py:1322 +#: ../roundup/admin.py:1358 #, fuzzy msgid "" "Usage: restore designator[,designator]*\n" @@ -938,13 +954,13 @@ " " # ../roundup/admin.py:564 :964 :1013 :1035 -#: ../roundup/admin.py:1347 +#: ../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:1353 +#: ../roundup/admin.py:1389 msgid "" "Usage: export [[-]class[,class]] export_dir\n" " Export the database to colon-separated-value files.\n" @@ -972,7 +988,7 @@ " direktorijoje.\n" " " -#: ../roundup/admin.py:1460 +#: ../roundup/admin.py:1496 msgid "" "Usage: exporttables [[-]class[,class]] export_dir\n" " Export the database to colon-separated-value files, excluding the\n" @@ -1002,7 +1018,7 @@ " direktorijoje.\n" " " -#: ../roundup/admin.py:1475 +#: ../roundup/admin.py:1511 msgid "" "Usage: import import_dir\n" " Import a database from the directory containing CSV files,\n" @@ -1047,7 +1063,7 @@ " veiksmas).\n" " " -#: ../roundup/admin.py:1554 +#: ../roundup/admin.py:1590 msgid "" "Usage: importtables export_dir\n" "\n" @@ -1055,7 +1071,7 @@ " " msgstr "" -#: ../roundup/admin.py:1561 +#: ../roundup/admin.py:1597 msgid "" "Usage: pack period | date\n" "\n" @@ -1094,11 +1110,11 @@ "\n" " " -#: ../roundup/admin.py:1589 +#: ../roundup/admin.py:1625 msgid "Invalid format" msgstr "Netinkamas formatas" -#: ../roundup/admin.py:1602 +#: ../roundup/admin.py:1638 msgid "" "Usage: reindex [classname|designator]*\n" " Re-generate a tracker's search indexes.\n" @@ -1114,12 +1130,12 @@ " Paprastai tai įvyksta automatiškai.\n" " " -#: ../roundup/admin.py:1616 +#: ../roundup/admin.py:1652 #, python-format msgid "no such item \"%(designator)s\"" msgstr "nėra elemento \"%(designator)s\"" -#: ../roundup/admin.py:1626 +#: ../roundup/admin.py:1662 #, fuzzy msgid "" "Usage: security [Role name]\n" @@ -1131,47 +1147,47 @@ " Parodo vienos ar kelių rolių permisijas.\n" " " -#: ../roundup/admin.py:1635 +#: ../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:1641 +#: ../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:1644 +#: ../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:1648 +#: ../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:1650 +#: ../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:1653 +#: ../roundup/admin.py:1689 #, fuzzy, python-format msgid "Role \"%(name)s\":\n" msgstr "Rolė \"%(name)s\":" -#: ../roundup/admin.py:1659 +#: ../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:1659 +#: ../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:1672 +#: ../roundup/admin.py:1708 #, python-format msgid "" "\n" @@ -1179,17 +1195,17 @@ "\n" msgstr "" -#: ../roundup/admin.py:1678 +#: ../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:1681 +#: ../roundup/admin.py:1717 #, fuzzy, python-format msgid " %(description)s (%(name)s)\n" msgstr " %(description)s (%(name)s)" -#: ../roundup/admin.py:1685 +#: ../roundup/admin.py:1721 msgid "" "Usage: migrate\n" "\n" @@ -1213,45 +1229,45 @@ " " msgstr "" -#: ../roundup/admin.py:1706 +#: ../roundup/admin.py:1742 #, fuzzy msgid "Tracker updated" msgstr "Tracker'io namų direktorija" -#: ../roundup/admin.py:1709 +#: ../roundup/admin.py:1745 msgid "No migration action required" msgstr "" -#: ../roundup/admin.py:1735 +#: ../roundup/admin.py:1771 #, 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:1741 +#: ../roundup/admin.py:1777 #, python-format msgid "Multiple commands match \"%(command)s\": %(list)s" msgstr "Kelios komandos atitinka \"%(command)s\": %(list)s" -#: ../roundup/admin.py:1750 +#: ../roundup/admin.py:1786 msgid "Enter tracker home: " msgstr "Įveskite tracker'io namų direktoriją: " # ../roundup/admin.py:1312 :1318 :1338 -#: ../roundup/admin.py:1759 ../roundup/admin.py:1765 ../roundup/admin.py:1802 -#: ../roundup/admin.py:1759:1765:1802 +#: ../roundup/admin.py:1795 ../roundup/admin.py:1801 ../roundup/admin.py:1838 +#: ../roundup/admin.py:1795:1801:1838 #, python-format msgid "Error: %(message)s" msgstr "Klaida: %(message)s" -#: ../roundup/admin.py:1775 ../roundup/admin.py:1779 -#: ../roundup/admin.py:1775:1779 +#: ../roundup/admin.py:1811 ../roundup/admin.py:1815 +#: ../roundup/admin.py:1811:1815 #, python-format msgid "Error: Couldn't open tracker: %(message)s" msgstr "Klaida: Negaliu atidaryti tracker'io: %(message)s" -#: ../roundup/admin.py:1815 +#: ../roundup/admin.py:1851 #, python-format msgid "" "Roundup %s ready for input.\n" @@ -1260,19 +1276,15 @@ "Roundup %s pasiruošęs priimti duomenis.\n" "Norėdami iškviesti pagalbą įveskite \"help\"." -#: ../roundup/admin.py:1820 +#: ../roundup/admin.py:1856 msgid "Note: command history and editing not available" msgstr "Pastaba: komandų archyvas ir redagavimas neprieinami" -#: ../roundup/admin.py:1824 -msgid "roundup> " -msgstr "roundup> " - -#: ../roundup/admin.py:1826 +#: ../roundup/admin.py:1862 msgid "exit..." msgstr "išeiti..." -#: ../roundup/admin.py:1839 +#: ../roundup/admin.py:1875 msgid "There are unsaved changes. Commit them (y/N)? " msgstr "Yra neišsaugotų pakeitimų. Išsaugoti juos (y/N)? " @@ -1380,20 +1392,22 @@ msgid "restored" msgstr "aktyvuotas" -#: ../roundup/backends/sessions_redis.py:76 -#: ../roundup/backends/sessions_redis.py:95 -#: ../roundup/backends/sessions_redis.py:76:95 +#: ../roundup/backends/sessions_redis.py:78 +#: ../roundup/backends/sessions_redis.py:97 +#: ../roundup/backends/sessions_redis.py:78:97 #, python-format msgid "Key %(key)s not found in %(name)s database." msgstr "" -#: ../roundup/backends/sessions_redis.py:191 +#: ../roundup/backends/sessions_redis.py:193 #, python-format msgid "Key %(key)s changed in %(name)s db" msgstr "" -#: ../roundup/backends/sessions_redis.py:195 -msgid "Redis set failed afer 3 retries" +#: ../roundup/backends/sessions_redis.py:203 +#, python-format +msgid "" +"Redis set failed after %(retries)d retries for user %(user)s with key %(key)s" msgstr "" #: ../roundup/cgi/actions.py:97 @@ -1709,22 +1723,22 @@ msgstr "" # ../roundup/cgi/actions.py:897 :901 -#: ../roundup/cgi/actions.py:1383 ../roundup/cgi/actions.py:1387 -#: ../roundup/cgi/actions.py:1383:1387 +#: ../roundup/cgi/actions.py:1384 ../roundup/cgi/actions.py:1388 +#: ../roundup/cgi/actions.py:1384:1388 msgid "Invalid login" msgstr "Neteisingas vartotojo vardas ar slaptažodis" -#: ../roundup/cgi/actions.py:1393 +#: ../roundup/cgi/actions.py:1394 msgid "You do not have permission to login" msgstr "Neturite prisijungimo teisių" -#: ../roundup/cgi/actions.py:1437 ../roundup/cgi/actions.py:1616 -#: ../roundup/cgi/actions.py:1437:1616 +#: ../roundup/cgi/actions.py:1439 ../roundup/cgi/actions.py:1618 +#: ../roundup/cgi/actions.py:1439:1618 #, python-format msgid "Column \"%(column)s\" not found in %(class)s" msgstr "" -#: ../roundup/cgi/actions.py:1687 +#: ../roundup/cgi/actions.py:1689 #, fuzzy, python-format msgid "You do not have permission to view %(class)s" msgstr "Neturite leidimo redaguoti %(class)s" @@ -1828,149 +1842,150 @@ "Apie klaidą pranešėme tracker'io administratoriui.</p>\n" "</body></html>" -#: ../roundup/cgi/client.py:651 +#: ../roundup/cgi/client.py:670 ../roundup/cgi/client.py:1570 +#: ../roundup/cgi/client.py:670:1570 +msgid "Required Header Missing" +msgstr "" + +#: ../roundup/cgi/client.py:672 #, fuzzy msgid "Client is not allowed to use Rest Interface." msgstr "Anoniminiai vartotojai neturi teisių naudoti web interfeisą" -#: ../roundup/cgi/client.py:895 +#: ../roundup/cgi/client.py:921 msgid "Form Error: " msgstr "Formos klaida: " -#: ../roundup/cgi/client.py:985 +#: ../roundup/cgi/client.py:1011 #, python-format msgid "Unrecognized charset: %r" msgstr "Neatpažinta koduotė: %r" -#: ../roundup/cgi/client.py:1238 ../roundup/cgi/client.py:2196 -#: ../roundup/cgi/client.py:1238:2196 +#: ../roundup/cgi/client.py:1264 ../roundup/cgi/client.py:2250 +#: ../roundup/cgi/client.py:1264:2250 msgid "broken form: multiple @action values submitted" msgstr "" -#: ../roundup/cgi/client.py:1253 +#: ../roundup/cgi/client.py:1279 msgid "Anonymous users are not allowed to use the web interface" msgstr "Anoniminiai vartotojai neturi teisių naudoti web interfeisą" -#: ../roundup/cgi/client.py:1376 +#: ../roundup/cgi/client.py:1430 msgid "Referer header not available." msgstr "" -#: ../roundup/cgi/client.py:1380 +#: ../roundup/cgi/client.py:1434 #, python-format msgid "csrf key used with wrong method from: %s" msgstr "" -#: ../roundup/cgi/client.py:1409 +#: ../roundup/cgi/client.py:1463 #, python-format msgid "csrf header %(header)s required but missing for user%(userid)s." msgstr "" -#: ../roundup/cgi/client.py:1413 +#: ../roundup/cgi/client.py:1467 #, python-format msgid "Missing header: %s" msgstr "" -#: ../roundup/cgi/client.py:1421 +#: ../roundup/cgi/client.py:1475 #, 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:1426 +#: ../roundup/cgi/client.py:1480 #, fuzzy, python-format msgid "Invalid Referer: %s" msgstr "Neteisingas vartotojo vardas ar slaptažodis" -#: ../roundup/cgi/client.py:1441 +#: ../roundup/cgi/client.py:1495 #, 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:1446 +#: ../roundup/cgi/client.py:1500 #, fuzzy, python-format msgid "Invalid Origin %s" msgstr "Neteisingas vartotojo vardas ar slaptažodis" -#: ../roundup/cgi/client.py:1460 +#: ../roundup/cgi/client.py:1514 #, python-format msgid "" "csrf X-FORWARDED-HOST header check failed for user%(userid)s. Value=%(host)s" msgstr "" -#: ../roundup/cgi/client.py:1466 +#: ../roundup/cgi/client.py:1520 #, python-format msgid "Invalid X-FORWARDED-HOST %s" msgstr "" -#: ../roundup/cgi/client.py:1485 +#: ../roundup/cgi/client.py:1539 #, python-format msgid "csrf HOST header check failed for user%(userid)s. Value=%(host)s" msgstr "" -#: ../roundup/cgi/client.py:1490 +#: ../roundup/cgi/client.py:1544 #, python-format msgid "Invalid HOST %s" msgstr "" -#: ../roundup/cgi/client.py:1498 +#: ../roundup/cgi/client.py:1552 msgid "Csrf: unable to verify sufficient headers" msgstr "" -#: ../roundup/cgi/client.py:1499 +#: ../roundup/cgi/client.py:1553 msgid "Unable to verify sufficient headers" msgstr "" -#: ../roundup/cgi/client.py:1513 +#: ../roundup/cgi/client.py:1567 #, python-format msgid "csrf X-REQUESTED-WITH xmlrpc required header check failed for user%s." msgstr "" -#: ../roundup/cgi/client.py:1516 -msgid "Required Header Missing" -msgstr "" - -#: ../roundup/cgi/client.py:1554 +#: ../roundup/cgi/client.py:1608 #, python-format msgid "Required csrf field missing for user%s" msgstr "" -#: ../roundup/cgi/client.py:1556 ../roundup/cgi/client.py:1583 -#: ../roundup/cgi/client.py:1600 ../roundup/cgi/client.py:1556:1583:1600 +#: ../roundup/cgi/client.py:1610 ../roundup/cgi/client.py:1637 +#: ../roundup/cgi/client.py:1654 ../roundup/cgi/client.py:1610:1637:1654 msgid "" "We can't validate your session (csrf failure). Re-enter any unsaved data and " "try again." msgstr "" -#: ../roundup/cgi/client.py:1560 +#: ../roundup/cgi/client.py:1614 #, python-format msgid "csrf field not supplied by user%s" msgstr "" -#: ../roundup/cgi/client.py:1572 +#: ../roundup/cgi/client.py:1626 #, 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:1590 +#: ../roundup/cgi/client.py:1644 #, 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:1784 +#: ../roundup/cgi/client.py:1838 msgid "You are not allowed to view this file." msgstr "Jūs neturite teisių žiūrėti šį failą." -#: ../roundup/cgi/client.py:2073 +#: ../roundup/cgi/client.py:2127 #, 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:2077 +#: ../roundup/cgi/client.py:2131 #, python-format msgid "" "%(starttag)sCache hits: %(cache_hits)d, misses %(cache_misses)d. Loading " @@ -1980,7 +1995,7 @@ "%(cache_misses)d. Įkeliami elementai: %(get_items)f sek. Filtruojama: " "%(filtering)f sek.%(endtag)s\n" -#: ../roundup/cgi/client.py:2615 +#: ../roundup/cgi/client.py:2669 #, python-format msgid "" "Cache failure: compressed file %(compressed)s is older than its source file " @@ -2384,28 +2399,28 @@ msgid "\"%s\" not a node designator" msgstr "" -#: ../roundup/hyperdb.py:1492 ../roundup/hyperdb.py:1500 -#: ../roundup/hyperdb.py:1492:1500 +#: ../roundup/hyperdb.py:1493 ../roundup/hyperdb.py:1501 +#: ../roundup/hyperdb.py:1493:1501 #, python-format msgid "Not a property name: %s" msgstr "" -#: ../roundup/hyperdb.py:1977 +#: ../roundup/hyperdb.py:1978 #, 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:1983 +#: ../roundup/hyperdb.py:1984 #, python-format msgid "you may only enter ID values for property %s" msgstr "" -#: ../roundup/hyperdb.py:2018 +#: ../roundup/hyperdb.py:2019 #, python-format msgid "%(property)r is not a property of %(classname)s" msgstr "" -#: ../roundup/init.py:139 +#: ../roundup/init.py:141 #, python-format msgid "" "WARNING: directory '%s'\n" @@ -2688,7 +2703,7 @@ "%(mailadmin)s, kad pataisytų neteisingus atributus:\n" " %(errors)s\n" -#: ../roundup/mailgw.py:1820 +#: ../roundup/mailgw.py:1821 #, fuzzy, python-format msgid "" "\n" @@ -2716,19 +2731,19 @@ msgid "Invalid attribute %s" msgstr "Neteisingas vartotojo vardas ar slaptažodis" -#: ../roundup/rest.py:2078 +#: ../roundup/rest.py:2090 #, python-format msgid "Api rate limits exceeded. Please wait: %s seconds." msgstr "" -#: ../roundup/rest.py:2113 +#: ../roundup/rest.py:2125 #, python-format msgid "" "Unable to parse Accept Header. %(error)s. Acceptable types: " "%(acceptable_types)s" msgstr "" -#: ../roundup/rest.py:2262 +#: ../roundup/rest.py:2305 #, python-format msgid "" "Unrecognized api version: %s. See /rest without specifying api version for " @@ -2857,27 +2872,27 @@ msgid "No tracker templates found in directory %s" msgstr "Direktorijoje %s nėra tracker'io šablonų" -#: ../roundup/scripts/roundup_mailgw.py:185 +#: ../roundup/scripts/roundup_mailgw.py:182 msgid "" "\n" "Error: The instance home must be specified" msgstr "" -#: ../roundup/scripts/roundup_mailgw.py:203 +#: ../roundup/scripts/roundup_mailgw.py:200 #, fuzzy msgid "" "\n" "Error: not enough source specification information" msgstr "Klaida: nepakankamai šaltinio specifikacijos informacijos" -#: ../roundup/scripts/roundup_mailgw.py:234 +#: ../roundup/scripts/roundup_mailgw.py:231 #, fuzzy, python-format msgid "" "\n" "Error: %s specification not valid" msgstr "Klaida: pop specifikacija netinkama" -#: ../roundup/scripts/roundup_mailgw.py:258 +#: ../roundup/scripts/roundup_mailgw.py:254 #, fuzzy msgid "" "\n" @@ -2889,7 +2904,7 @@ msgid "WARNING: generating temporary SSL certificate" msgstr "" -#: ../roundup/scripts/roundup_server.py:329 +#: ../roundup/scripts/roundup_server.py:331 msgid "" "<html><head><title>Roundup trackers index</title></head>\n" "<body><h1>Roundup trackers index</h1><ol>\n" @@ -2897,58 +2912,58 @@ "<html><head><title>Roundup tracker'io indeksas</title></head>\n" "<body><h1>Roundup tracker'io indeksas</h1><ol>\n" -#: ../roundup/scripts/roundup_server.py:549 +#: ../roundup/scripts/roundup_server.py:551 #, fuzzy, python-format msgid "Error: %(type)s: %(value)s" msgstr "%(key)s: %(value)s" -#: ../roundup/scripts/roundup_server.py:561 +#: ../roundup/scripts/roundup_server.py:563 msgid "WARNING: ignoring \"-g\" argument, not root" msgstr "PERSPĖJIMAS: \"-g\" argumentas ignoruojamas, nėra root teisių" -#: ../roundup/scripts/roundup_server.py:567 +#: ../roundup/scripts/roundup_server.py:569 msgid "Can't change groups - no grp module" msgstr "Negaliu pakeisti grupių -- nėra grp modulio" -#: ../roundup/scripts/roundup_server.py:576 +#: ../roundup/scripts/roundup_server.py:578 #, python-format msgid "Group %(group)s doesn't exist" msgstr "Grupės %(group)s nėra" -#: ../roundup/scripts/roundup_server.py:588 +#: ../roundup/scripts/roundup_server.py:590 msgid "Can't run as root!" msgstr "Negaliu paleisti root teisėmis!" -#: ../roundup/scripts/roundup_server.py:591 +#: ../roundup/scripts/roundup_server.py:593 msgid "WARNING: ignoring \"-u\" argument, not root" msgstr "PERSPĖJIMAS: \"-u\" argumentas ignoruojamas, nėra root teisių" -#: ../roundup/scripts/roundup_server.py:597 +#: ../roundup/scripts/roundup_server.py:599 msgid "Can't change users - no pwd module" msgstr "Negaliu pakesiti vartotojų - nėra pwd modulio" -#: ../roundup/scripts/roundup_server.py:606 +#: ../roundup/scripts/roundup_server.py:608 #, python-format msgid "User %(user)s doesn't exist" msgstr "Vartotojo %(user)s nėra" -#: ../roundup/scripts/roundup_server.py:803 +#: ../roundup/scripts/roundup_server.py:805 #, 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:830 +#: ../roundup/scripts/roundup_server.py:832 #, 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:834 +#: ../roundup/scripts/roundup_server.py:836 #, 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:913 +#: ../roundup/scripts/roundup_server.py:915 msgid "" " -c <Command> Windows Service options.\n" " If you want to run the server as a Windows Service, you\n" @@ -2965,7 +2980,7 @@ " Įvedę \"roundup-server -c help\" pamatysite Windows Services\n" " specifiką." -#: ../roundup/scripts/roundup_server.py:920 +#: ../roundup/scripts/roundup_server.py:922 msgid "" " -u <UID> runs the Roundup web server as this UID\n" " -g <GID> runs the Roundup web server as this GID\n" @@ -2979,7 +2994,7 @@ " nurodytą PIDfaile. Parinktis -l *privalo* būti nurodyta\n" " jei naudojama -d." -#: ../roundup/scripts/roundup_server.py:927 +#: ../roundup/scripts/roundup_server.py:929 #, fuzzy, python-format msgid "" "\n" @@ -3099,21 +3114,21 @@ " nesupras.\n" "\n" -#: ../roundup/scripts/roundup_server.py:1103 +#: ../roundup/scripts/roundup_server.py:1105 msgid "Instances must be name=home" msgstr "Egzempliorius turi būti nurodomas taip: vardas=namų_direktorija" -#: ../roundup/scripts/roundup_server.py:1117 +#: ../roundup/scripts/roundup_server.py:1119 #, python-format msgid "Configuration saved to %s" msgstr "Konfigūracija išsaugota %s" -#: ../roundup/scripts/roundup_server.py:1135 +#: ../roundup/scripts/roundup_server.py:1137 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:1155 +#: ../roundup/scripts/roundup_server.py:1157 #, python-format msgid "Roundup server started on %(HOST)s:%(PORT)s" msgstr "Roundup serveris paleistas ant %(HOST)s:%(PORT)s" @@ -5599,6 +5614,9 @@ msgid "Password" msgstr "Prisijungimo slaptažodis" +#~ msgid "roundup> " +#~ msgstr "roundup> " + #, fuzzy #~ msgid "" #~ "Usage: %(program)s [-v] [-c class] [[-C class] -S field=value]* [instance "
--- a/locale/roundup.pot Wed Mar 01 10:43:54 2023 -0500 +++ b/locale/roundup.pot Wed Mar 01 10:51:37 2023 -0500 @@ -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: 2022-11-23 22:28-0500\n" +"POT-Creation-Date: 2023-03-01 10:35-0500\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" @@ -23,29 +23,29 @@ msgid "You do not have permission to retire or restore the %(classname)s class." msgstr "" -#: ../roundup/actions.py:64 ../roundup/cgi/actions.py:240 +#: ../roundup/actions.py:65 ../roundup/cgi/actions.py:240 msgid "You may not retire the admin or anonymous user" msgstr "" -#: ../roundup/admin.py:106 ../roundup/admin.py:1259 ../roundup/admin.py:1314 -#: ../roundup/admin.py:1341 ../roundup/admin.py:106:1259 :1314:1341 +#: ../roundup/admin.py:112 ../roundup/admin.py:1295 ../roundup/admin.py:1350 +#: ../roundup/admin.py:1377 ../roundup/admin.py:112:1295 :1350:1377 #, python-format msgid "no such class \"%(classname)s\"" msgstr "" -#: ../roundup/admin.py:118 +#: ../roundup/admin.py:124 #, python-format msgid "argument \"%(arg)s\" not propname=value" msgstr "" -#: ../roundup/admin.py:131 +#: ../roundup/admin.py:137 #, python-format msgid "" "Problem: %(message)s\n" "\n" msgstr "" -#: ../roundup/admin.py:132 +#: ../roundup/admin.py:138 #, python-format msgid "" "%(message)sUsage: roundup-admin [options] [<command> <arguments>]\n" @@ -73,17 +73,17 @@ " roundup-admin help all -- all available help\n" msgstr "" -#: ../roundup/admin.py:159 +#: ../roundup/admin.py:165 msgid "Commands: " msgstr "" -#: ../roundup/admin.py:166 +#: ../roundup/admin.py:172 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:195 +#: ../roundup/admin.py:201 msgid "" "\n" "All commands (except help) require a tracker specifier. This is just\n" @@ -133,7 +133,7 @@ " . ROUNDUP_LOGIN environment variable\n" " . the -u command-line option\n" "If either the name or password is not supplied, they are obtained from the\n" -"command-line.\n" +"command-line. (See admin guide before using -u.)\n" "\n" "Date format examples:\n" " \"2000-04-17.03:45\" means <Date 2000-04-17.08:45:00>\n" @@ -148,12 +148,12 @@ "Command help:\n" msgstr "" -#: ../roundup/admin.py:258 +#: ../roundup/admin.py:264 #, python-format msgid "%s:" msgstr "" -#: ../roundup/admin.py:265 +#: ../roundup/admin.py:271 msgid "" "Usage: help topic\n" " Give help about topic.\n" @@ -165,20 +165,20 @@ " " msgstr "" -#: ../roundup/admin.py:287 +#: ../roundup/admin.py:293 #, python-format msgid "Sorry, no help for \"%(topic)s\"" msgstr "" -#: ../roundup/admin.py:402 ../roundup/admin.py:458 ../roundup/admin.py:402:458 +#: ../roundup/admin.py:408 ../roundup/admin.py:464 ../roundup/admin.py:408:464 msgid "Templates:" msgstr "" -#: ../roundup/admin.py:405 ../roundup/admin.py:468 ../roundup/admin.py:405:468 +#: ../roundup/admin.py:411 ../roundup/admin.py:474 ../roundup/admin.py:411:474 msgid "Back ends:" msgstr "" -#: ../roundup/admin.py:408 +#: ../roundup/admin.py:414 msgid "" "Usage: install [template [backend [key=val[,key=val]]]]\n" " Install a new Roundup tracker.\n" @@ -204,22 +204,22 @@ " " msgstr "" -#: ../roundup/admin.py:431 ../roundup/admin.py:562 ../roundup/admin.py:635 -#: ../roundup/admin.py:728 ../roundup/admin.py:786 ../roundup/admin.py:872 -#: ../roundup/admin.py:931 ../roundup/admin.py:958 ../roundup/admin.py:985 -#: ../roundup/admin.py:1062 ../roundup/admin.py:1157 ../roundup/admin.py:1243 -#: ../roundup/admin.py:1304 ../roundup/admin.py:1331 ../roundup/admin.py:1367 -#: ../roundup/admin.py:1495 ../roundup/admin.py:1579 ../roundup/admin.py:431:562 -#: :1157 :1243:1304 :1331:1367 :1495:1579 :635:728 :786:872 :931:958 :985:1062 +#: ../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:437 +#: ../roundup/admin.py:443 #, python-format msgid "Instance home parent directory \"%(parent)s\" does not exist" msgstr "" -#: ../roundup/admin.py:446 +#: ../roundup/admin.py:452 #, python-format msgid "" "WARNING: There appears to be a tracker in \"%(tracker_home)s\"!\n" @@ -227,20 +227,20 @@ "Erase it? Y/N: " msgstr "" -#: ../roundup/admin.py:459 +#: ../roundup/admin.py:465 msgid "Select template" msgstr "" -#: ../roundup/admin.py:469 +#: ../roundup/admin.py:475 msgid "Select backend" msgstr "" -#: ../roundup/admin.py:480 +#: ../roundup/admin.py:486 #, python-format msgid "Error in configuration settings: \"%s\"" msgstr "" -#: ../roundup/admin.py:511 +#: ../roundup/admin.py:517 #, python-format msgid "" "\n" @@ -249,11 +249,11 @@ " %(config_file)s" msgstr "" -#: ../roundup/admin.py:521 +#: ../roundup/admin.py:527 msgid " ... at a minimum, you must set following options:" msgstr "" -#: ../roundup/admin.py:526 +#: ../roundup/admin.py:532 #, python-format msgid "" "\n" @@ -269,7 +269,7 @@ "---------------------------------------------------------------------------\n" msgstr "" -#: ../roundup/admin.py:557 +#: ../roundup/admin.py:563 msgid "" "Usage: genconfig <filename>\n" " Generate a new tracker config file (ini style) with default\n" @@ -277,7 +277,22 @@ " " msgstr "" -#: ../roundup/admin.py:572 +#: ../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 msgid "" "Usage: updateconfig <filename>\n" " Generate an updated tracker config file (ini style) in\n" @@ -287,7 +302,7 @@ msgstr "" #. password -#: ../roundup/admin.py:580 +#: ../roundup/admin.py:612 msgid "" "Usage: initialise [adminpw]\n" " Initialise a new Roundup tracker.\n" @@ -298,30 +313,30 @@ " " msgstr "" -#: ../roundup/admin.py:594 +#: ../roundup/admin.py:626 msgid "Admin Password: " msgstr "" -#: ../roundup/admin.py:595 +#: ../roundup/admin.py:627 msgid " Confirm: " msgstr "" -#: ../roundup/admin.py:599 +#: ../roundup/admin.py:631 msgid "Instance home does not exist" msgstr "" -#: ../roundup/admin.py:603 +#: ../roundup/admin.py:635 msgid "Instance has not been installed" msgstr "" -#: ../roundup/admin.py:609 +#: ../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 "" -#: ../roundup/admin.py:625 +#: ../roundup/admin.py:661 msgid "" "Usage: get property designator[,designator]*\n" " Get the given property of one or more designator(s).\n" @@ -334,23 +349,23 @@ " " msgstr "" -#: ../roundup/admin.py:669 ../roundup/admin.py:687 ../roundup/admin.py:669:687 +#: ../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:697 ../roundup/admin.py:1261 ../roundup/admin.py:1316 -#: ../roundup/admin.py:697:1261 :1316 +#: ../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:700 +#: ../roundup/admin.py:736 #, python-format msgid "no such %(classname)s property \"%(propname)s\"" msgstr "" -#: ../roundup/admin.py:708 +#: ../roundup/admin.py:744 msgid "" "Usage: set items property=value property=value ...\n" " Set the given properties of one or more items(s).\n" @@ -371,7 +386,7 @@ " " msgstr "" -#: ../roundup/admin.py:776 +#: ../roundup/admin.py:812 msgid "" "Usage: filter classname propname=value ...\n" " Find the nodes of the given class with a given property value.\n" @@ -384,19 +399,19 @@ " " msgstr "" -#: ../roundup/admin.py:819 +#: ../roundup/admin.py:855 #, python-format msgid "Class %(curclassname)s has no property %(pn)s in %(propname)s." msgstr "" -#: ../roundup/admin.py:857 ../roundup/admin.py:918 ../roundup/admin.py:1082 -#: ../roundup/admin.py:1094 ../roundup/admin.py:1177 ../roundup/admin.py:857:918 -#: :1082:1094 :1177 +#: ../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:864 +#: ../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" @@ -407,7 +422,7 @@ " " msgstr "" -#: ../roundup/admin.py:925 +#: ../roundup/admin.py:961 msgid "" "Usage: specification classname\n" " Show the properties for a classname.\n" @@ -416,17 +431,17 @@ " " msgstr "" -#: ../roundup/admin.py:941 +#: ../roundup/admin.py:977 #, python-format msgid "%(key)s: %(value)s (key property)\n" msgstr "" -#: ../roundup/admin.py:944 +#: ../roundup/admin.py:980 #, python-format msgid "%(key)s: %(value)s\n" msgstr "" -#: ../roundup/admin.py:947 +#: ../roundup/admin.py:983 msgid "" "Usage: display designator[,designator]*\n" "\n" @@ -440,12 +455,12 @@ " " msgstr "" -#: ../roundup/admin.py:974 +#: ../roundup/admin.py:1010 #, python-format msgid "%(key)s: %(value)s" msgstr "" -#: ../roundup/admin.py:977 +#: ../roundup/admin.py:1013 msgid "" "Usage: create classname property=value ...\n" " Create a new entry of a given class.\n" @@ -457,31 +472,31 @@ " " msgstr "" -#: ../roundup/admin.py:1005 +#: ../roundup/admin.py:1041 #, python-format msgid "%(propname)s (Password): " msgstr "" -#: ../roundup/admin.py:1008 +#: ../roundup/admin.py:1044 #, python-format msgid " %(propname)s (Again): " msgstr "" -#: ../roundup/admin.py:1012 +#: ../roundup/admin.py:1048 msgid "Sorry, try again..." msgstr "" -#: ../roundup/admin.py:1016 +#: ../roundup/admin.py:1052 #, python-format msgid "%(propname)s (%(proptype)s): " msgstr "" -#: ../roundup/admin.py:1035 +#: ../roundup/admin.py:1071 #, python-format msgid "you must provide the \"%(propname)s\" property." msgstr "" -#: ../roundup/admin.py:1047 +#: ../roundup/admin.py:1083 msgid "" "Usage: list classname [property]\n" " List the instances of a class.\n" @@ -497,16 +512,16 @@ " " msgstr "" -#: ../roundup/admin.py:1060 +#: ../roundup/admin.py:1096 msgid "Too many arguments supplied" msgstr "" -#: ../roundup/admin.py:1096 +#: ../roundup/admin.py:1132 #, python-format msgid "%(nodeid)4s: %(value)s" msgstr "" -#: ../roundup/admin.py:1100 +#: ../roundup/admin.py:1136 msgid "" "Usage: templates [trace_search]\n" " List templates and their installed directories.\n" @@ -516,7 +531,7 @@ " " msgstr "" -#: ../roundup/admin.py:1128 +#: ../roundup/admin.py:1164 msgid "" "Usage: table classname [property[,property]*]\n" " List the instances of a class in tabular form.\n" @@ -548,17 +563,17 @@ " " msgstr "" -#: ../roundup/admin.py:1172 +#: ../roundup/admin.py:1208 #, python-format msgid "\"%(spec)s\" not name:width" msgstr "" -#: ../roundup/admin.py:1194 -#, python-format -msgid "\"%(spec)s\" does not have an integer width: \"%(width)s\"" -msgstr "" - #: ../roundup/admin.py:1230 +#, 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" @@ -573,7 +588,7 @@ " " msgstr "" -#: ../roundup/admin.py:1266 +#: ../roundup/admin.py:1302 msgid "" "Usage: commit\n" " Commit changes made to the database during an interactive session.\n" @@ -587,7 +602,7 @@ " " msgstr "" -#: ../roundup/admin.py:1281 +#: ../roundup/admin.py:1317 msgid "" "Usage: rollback\n" " Undo all changes that are pending commit to the database.\n" @@ -599,7 +614,7 @@ " " msgstr "" -#: ../roundup/admin.py:1294 +#: ../roundup/admin.py:1330 msgid "" "Usage: retire designator[,designator]*\n" " Retire the node specified by designator.\n" @@ -612,7 +627,7 @@ " " msgstr "" -#: ../roundup/admin.py:1322 +#: ../roundup/admin.py:1358 msgid "" "Usage: restore designator[,designator]*\n" " Restore the retired node specified by designator.\n" @@ -624,12 +639,12 @@ " " msgstr "" -#: ../roundup/admin.py:1347 +#: ../roundup/admin.py:1383 msgid "no such %(classname)s node \" % (nodeid)s\"" msgstr "" #. grab the directory to export to -#: ../roundup/admin.py:1353 +#: ../roundup/admin.py:1389 msgid "" "Usage: export [[-]class[,class]] export_dir\n" " Export the database to colon-separated-value files.\n" @@ -645,7 +660,7 @@ " " msgstr "" -#: ../roundup/admin.py:1460 +#: ../roundup/admin.py:1496 msgid "" "Usage: exporttables [[-]class[,class]] export_dir\n" " Export the database to colon-separated-value files, excluding the\n" @@ -662,7 +677,7 @@ " " msgstr "" -#: ../roundup/admin.py:1475 +#: ../roundup/admin.py:1511 msgid "" "Usage: import import_dir\n" " Import a database from the directory containing CSV files,\n" @@ -685,7 +700,7 @@ " " msgstr "" -#: ../roundup/admin.py:1554 +#: ../roundup/admin.py:1590 msgid "" "Usage: importtables export_dir\n" "\n" @@ -693,7 +708,7 @@ " " msgstr "" -#: ../roundup/admin.py:1561 +#: ../roundup/admin.py:1597 msgid "" "Usage: pack period | date\n" "\n" @@ -715,11 +730,11 @@ " " msgstr "" -#: ../roundup/admin.py:1589 +#: ../roundup/admin.py:1625 msgid "Invalid format" msgstr "" -#: ../roundup/admin.py:1602 +#: ../roundup/admin.py:1638 msgid "" "Usage: reindex [classname|designator]*\n" " Re-generate a tracker's search indexes.\n" @@ -729,12 +744,12 @@ " " msgstr "" -#: ../roundup/admin.py:1616 +#: ../roundup/admin.py:1652 #, python-format msgid "no such item \"%(designator)s\"" msgstr "" -#: ../roundup/admin.py:1626 +#: ../roundup/admin.py:1662 msgid "" "Usage: security [Role name]\n" "\n" @@ -742,46 +757,46 @@ " " msgstr "" -#: ../roundup/admin.py:1635 +#: ../roundup/admin.py:1671 #, python-format msgid "No such Role \"%(role)s\"\n" msgstr "" -#: ../roundup/admin.py:1641 +#: ../roundup/admin.py:1677 #, python-format msgid "New Web users get the Roles \"%(role)s\"\n" msgstr "" -#: ../roundup/admin.py:1644 +#: ../roundup/admin.py:1680 #, python-format msgid "New Web users get the Role \"%(role)s\"\n" msgstr "" -#: ../roundup/admin.py:1648 +#: ../roundup/admin.py:1684 #, python-format msgid "New Email users get the Roles \"%(role)s\"\n" msgstr "" -#: ../roundup/admin.py:1650 +#: ../roundup/admin.py:1686 #, python-format msgid "New Email users get the Role \"%(role)s\"\n" msgstr "" -#: ../roundup/admin.py:1653 +#: ../roundup/admin.py:1689 #, python-format msgid "Role \"%(name)s\":\n" msgstr "" -#: ../roundup/admin.py:1659 +#: ../roundup/admin.py:1695 msgid " %(description)s (%(name)s for \"%(klass)s\"" msgstr "" -#: ../roundup/admin.py:1659 +#: ../roundup/admin.py:1695 #, python-format msgid " %(description)s (%(name)s for \"%(klass)s\": %(properties)s only)\n" msgstr "" -#: ../roundup/admin.py:1672 +#: ../roundup/admin.py:1708 #, python-format msgid "" "\n" @@ -789,17 +804,17 @@ "\n" msgstr "" -#: ../roundup/admin.py:1678 +#: ../roundup/admin.py:1714 #, python-format msgid " %(description)s (%(name)s for \"%(klass)s\" only)\n" msgstr "" -#: ../roundup/admin.py:1681 +#: ../roundup/admin.py:1717 #, python-format msgid " %(description)s (%(name)s)\n" msgstr "" -#: ../roundup/admin.py:1685 +#: ../roundup/admin.py:1721 msgid "" "Usage: migrate\n" "\n" @@ -823,60 +838,56 @@ " " msgstr "" -#: ../roundup/admin.py:1706 +#: ../roundup/admin.py:1742 msgid "Tracker updated" msgstr "" -#: ../roundup/admin.py:1709 +#: ../roundup/admin.py:1745 msgid "No migration action required" msgstr "" -#: ../roundup/admin.py:1735 +#: ../roundup/admin.py:1771 #, python-format msgid "Unknown command \"%(command)s\" (\"help commands\" for a list)" msgstr "" -#: ../roundup/admin.py:1741 +#: ../roundup/admin.py:1777 #, python-format msgid "Multiple commands match \"%(command)s\": %(list)s" msgstr "" -#: ../roundup/admin.py:1750 +#: ../roundup/admin.py:1786 msgid "Enter tracker home: " msgstr "" -#: ../roundup/admin.py:1759 ../roundup/admin.py:1765 ../roundup/admin.py:1802 -#: ../roundup/admin.py:1759:1765 :1802 +#: ../roundup/admin.py:1795 ../roundup/admin.py:1801 ../roundup/admin.py:1838 +#: ../roundup/admin.py:1795:1801 :1838 #, python-format msgid "Error: %(message)s" msgstr "" -#: ../roundup/admin.py:1775 ../roundup/admin.py:1779 -#: ../roundup/admin.py:1775:1779 +#: ../roundup/admin.py:1811 ../roundup/admin.py:1815 +#: ../roundup/admin.py:1811:1815 #, python-format msgid "Error: Couldn't open tracker: %(message)s" msgstr "" -#: ../roundup/admin.py:1815 +#: ../roundup/admin.py:1851 #, python-format msgid "" "Roundup %s ready for input.\n" "Type \"help\" for help." msgstr "" -#: ../roundup/admin.py:1820 +#: ../roundup/admin.py:1856 msgid "Note: command history and editing not available" msgstr "" -#: ../roundup/admin.py:1824 -msgid "roundup> " -msgstr "" - -#: ../roundup/admin.py:1826 +#: ../roundup/admin.py:1862 msgid "exit..." msgstr "" -#: ../roundup/admin.py:1839 +#: ../roundup/admin.py:1875 msgid "There are unsaved changes. Commit them (y/N)? " msgstr "" @@ -982,20 +993,22 @@ msgid "restored" msgstr "" -#: ../roundup/backends/sessions_redis.py:76 -#: ../roundup/backends/sessions_redis.py:95 -#: ../roundup/backends/sessions_redis.py:76:95 +#: ../roundup/backends/sessions_redis.py:78 +#: ../roundup/backends/sessions_redis.py:97 +#: ../roundup/backends/sessions_redis.py:78:97 #, python-format msgid "Key %(key)s not found in %(name)s database." msgstr "" -#: ../roundup/backends/sessions_redis.py:191 +#: ../roundup/backends/sessions_redis.py:193 #, python-format msgid "Key %(key)s changed in %(name)s db" msgstr "" -#: ../roundup/backends/sessions_redis.py:195 -msgid "Redis set failed afer 3 retries" +#: ../roundup/backends/sessions_redis.py:203 +#, python-format +msgid "" +"Redis set failed after %(retries)d retries for user %(user)s with key %(key)s" msgstr "" #: ../roundup/cgi/actions.py:97 @@ -1295,22 +1308,22 @@ msgid "Welcome %(username)s!" msgstr "" -#: ../roundup/cgi/actions.py:1383 ../roundup/cgi/actions.py:1387 -#: ../roundup/cgi/actions.py:1383:1387 +#: ../roundup/cgi/actions.py:1384 ../roundup/cgi/actions.py:1388 +#: ../roundup/cgi/actions.py:1384:1388 msgid "Invalid login" msgstr "" -#: ../roundup/cgi/actions.py:1393 +#: ../roundup/cgi/actions.py:1394 msgid "You do not have permission to login" msgstr "" -#: ../roundup/cgi/actions.py:1437 ../roundup/cgi/actions.py:1616 -#: ../roundup/cgi/actions.py:1437:1616 +#: ../roundup/cgi/actions.py:1439 ../roundup/cgi/actions.py:1618 +#: ../roundup/cgi/actions.py:1439:1618 #, python-format msgid "Column \"%(column)s\" not found in %(class)s" msgstr "" -#: ../roundup/cgi/actions.py:1687 +#: ../roundup/cgi/actions.py:1689 #, python-format msgid "You do not have permission to view %(class)s" msgstr "" @@ -1394,153 +1407,154 @@ "</body></html>" msgstr "" -#: ../roundup/cgi/client.py:651 +#: ../roundup/cgi/client.py:670 ../roundup/cgi/client.py:1570 +#: ../roundup/cgi/client.py:670:1570 +msgid "Required Header Missing" +msgstr "" + +#: ../roundup/cgi/client.py:672 msgid "Client is not allowed to use Rest Interface." msgstr "" -#: ../roundup/cgi/client.py:895 +#: ../roundup/cgi/client.py:921 msgid "Form Error: " msgstr "" -#: ../roundup/cgi/client.py:985 +#: ../roundup/cgi/client.py:1011 #, python-format msgid "Unrecognized charset: %r" msgstr "" -#: ../roundup/cgi/client.py:1238 ../roundup/cgi/client.py:2196 -#: ../roundup/cgi/client.py:1238:2196 +#: ../roundup/cgi/client.py:1264 ../roundup/cgi/client.py:2250 +#: ../roundup/cgi/client.py:1264:2250 msgid "broken form: multiple @action values submitted" msgstr "" -#: ../roundup/cgi/client.py:1253 +#: ../roundup/cgi/client.py:1279 msgid "Anonymous users are not allowed to use the web interface" msgstr "" -#: ../roundup/cgi/client.py:1376 +#: ../roundup/cgi/client.py:1430 msgid "Referer header not available." msgstr "" -#: ../roundup/cgi/client.py:1380 +#: ../roundup/cgi/client.py:1434 #, python-format msgid "csrf key used with wrong method from: %s" msgstr "" -#: ../roundup/cgi/client.py:1409 +#: ../roundup/cgi/client.py:1463 #, python-format msgid "csrf header %(header)s required but missing for user%(userid)s." msgstr "" -#: ../roundup/cgi/client.py:1413 +#: ../roundup/cgi/client.py:1467 #, python-format msgid "Missing header: %s" msgstr "" -#: ../roundup/cgi/client.py:1421 +#: ../roundup/cgi/client.py:1475 #, python-format msgid "csrf Referer header check failed for user%(userid)s. Value=%(referer)s" msgstr "" -#: ../roundup/cgi/client.py:1426 +#: ../roundup/cgi/client.py:1480 #, python-format msgid "Invalid Referer: %s" msgstr "" -#: ../roundup/cgi/client.py:1441 +#: ../roundup/cgi/client.py:1495 #, python-format msgid "csrf Origin header check failed for user%(userid)s. Value=%(origin)s" msgstr "" -#: ../roundup/cgi/client.py:1446 +#: ../roundup/cgi/client.py:1500 #, python-format msgid "Invalid Origin %s" msgstr "" -#: ../roundup/cgi/client.py:1460 +#: ../roundup/cgi/client.py:1514 #, python-format msgid "" "csrf X-FORWARDED-HOST header check failed for user%(userid)s. Value=%(host)s" msgstr "" -#: ../roundup/cgi/client.py:1466 +#: ../roundup/cgi/client.py:1520 #, python-format msgid "Invalid X-FORWARDED-HOST %s" msgstr "" -#: ../roundup/cgi/client.py:1485 +#: ../roundup/cgi/client.py:1539 #, python-format msgid "csrf HOST header check failed for user%(userid)s. Value=%(host)s" msgstr "" -#: ../roundup/cgi/client.py:1490 +#: ../roundup/cgi/client.py:1544 #, python-format msgid "Invalid HOST %s" msgstr "" -#: ../roundup/cgi/client.py:1498 +#: ../roundup/cgi/client.py:1552 msgid "Csrf: unable to verify sufficient headers" msgstr "" -#: ../roundup/cgi/client.py:1499 +#: ../roundup/cgi/client.py:1553 msgid "Unable to verify sufficient headers" msgstr "" -#: ../roundup/cgi/client.py:1513 +#: ../roundup/cgi/client.py:1567 #, python-format msgid "csrf X-REQUESTED-WITH xmlrpc required header check failed for user%s." msgstr "" -#: ../roundup/cgi/client.py:1516 -msgid "Required Header Missing" -msgstr "" - -#: ../roundup/cgi/client.py:1554 +#: ../roundup/cgi/client.py:1608 #, python-format msgid "Required csrf field missing for user%s" msgstr "" -#: ../roundup/cgi/client.py:1556 ../roundup/cgi/client.py:1583 -#: ../roundup/cgi/client.py:1600 ../roundup/cgi/client.py:1556:1583 :1600 +#: ../roundup/cgi/client.py:1610 ../roundup/cgi/client.py:1637 +#: ../roundup/cgi/client.py:1654 ../roundup/cgi/client.py:1610:1637 :1654 msgid "" "We can't validate your session (csrf failure). Re-enter any unsaved data and " "try again." msgstr "" -#: ../roundup/cgi/client.py:1560 +#: ../roundup/cgi/client.py:1614 #, python-format msgid "csrf field not supplied by user%s" msgstr "" -#: ../roundup/cgi/client.py:1572 +#: ../roundup/cgi/client.py:1626 #, 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:1590 +#: ../roundup/cgi/client.py:1644 #, 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:1784 +#: ../roundup/cgi/client.py:1838 msgid "You are not allowed to view this file." msgstr "" -#: ../roundup/cgi/client.py:2073 +#: ../roundup/cgi/client.py:2127 #, python-format msgid "%(starttag)sTime elapsed: %(seconds)fs%(endtag)s\n" msgstr "" -#: ../roundup/cgi/client.py:2077 +#: ../roundup/cgi/client.py:2131 #, 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:2615 +#: ../roundup/cgi/client.py:2669 #, python-format msgid "" "Cache failure: compressed file %(compressed)s is older than its source file " @@ -1913,28 +1927,28 @@ msgid "\"%s\" not a node designator" msgstr "" -#: ../roundup/hyperdb.py:1492 ../roundup/hyperdb.py:1500 -#: ../roundup/hyperdb.py:1492:1500 +#: ../roundup/hyperdb.py:1493 ../roundup/hyperdb.py:1501 +#: ../roundup/hyperdb.py:1493:1501 #, python-format msgid "Not a property name: %s" msgstr "" -#: ../roundup/hyperdb.py:1977 +#: ../roundup/hyperdb.py:1978 #, python-format msgid "property %(property)s: %(value)r is not a %(classname)s." msgstr "" -#: ../roundup/hyperdb.py:1983 +#: ../roundup/hyperdb.py:1984 #, python-format msgid "you may only enter ID values for property %s" msgstr "" -#: ../roundup/hyperdb.py:2018 +#: ../roundup/hyperdb.py:2019 #, python-format msgid "%(property)r is not a property of %(classname)s" msgstr "" -#: ../roundup/init.py:139 +#: ../roundup/init.py:141 #, python-format msgid "" "WARNING: directory '%s'\n" @@ -2154,7 +2168,7 @@ " %(errors)s\n" msgstr "" -#: ../roundup/mailgw.py:1820 +#: ../roundup/mailgw.py:1821 #, python-format msgid "" "\n" @@ -2177,19 +2191,19 @@ msgid "Invalid attribute %s" msgstr "" -#: ../roundup/rest.py:2078 +#: ../roundup/rest.py:2090 #, python-format msgid "Api rate limits exceeded. Please wait: %s seconds." msgstr "" -#: ../roundup/rest.py:2113 +#: ../roundup/rest.py:2125 #, python-format msgid "" "Unable to parse Accept Header. %(error)s. Acceptable types: " "%(acceptable_types)s" msgstr "" -#: ../roundup/rest.py:2262 +#: ../roundup/rest.py:2305 #, python-format msgid "" "Unrecognized api version: %s. See /rest without specifying api version for " @@ -2312,26 +2326,26 @@ msgid "No tracker templates found in directory %s" msgstr "" -#: ../roundup/scripts/roundup_mailgw.py:185 +#: ../roundup/scripts/roundup_mailgw.py:182 msgid "" "\n" "Error: The instance home must be specified" msgstr "" -#: ../roundup/scripts/roundup_mailgw.py:203 +#: ../roundup/scripts/roundup_mailgw.py:200 msgid "" "\n" "Error: not enough source specification information" msgstr "" -#: ../roundup/scripts/roundup_mailgw.py:234 +#: ../roundup/scripts/roundup_mailgw.py:231 #, python-format msgid "" "\n" "Error: %s specification not valid" msgstr "" -#: ../roundup/scripts/roundup_mailgw.py:258 +#: ../roundup/scripts/roundup_mailgw.py:254 msgid "" "\n" "Error: The source must be either \"mailbox\", \"pop\", \"pops\", \"apop\", " @@ -2342,64 +2356,64 @@ msgid "WARNING: generating temporary SSL certificate" msgstr "" -#: ../roundup/scripts/roundup_server.py:329 +#: ../roundup/scripts/roundup_server.py:331 msgid "" "<html><head><title>Roundup trackers index</title></head>\n" "<body><h1>Roundup trackers index</h1><ol>\n" msgstr "" -#: ../roundup/scripts/roundup_server.py:549 +#: ../roundup/scripts/roundup_server.py:551 #, python-format msgid "Error: %(type)s: %(value)s" msgstr "" -#: ../roundup/scripts/roundup_server.py:561 +#: ../roundup/scripts/roundup_server.py:563 msgid "WARNING: ignoring \"-g\" argument, not root" msgstr "" -#: ../roundup/scripts/roundup_server.py:567 +#: ../roundup/scripts/roundup_server.py:569 msgid "Can't change groups - no grp module" msgstr "" -#: ../roundup/scripts/roundup_server.py:576 +#: ../roundup/scripts/roundup_server.py:578 #, python-format msgid "Group %(group)s doesn't exist" msgstr "" -#: ../roundup/scripts/roundup_server.py:588 +#: ../roundup/scripts/roundup_server.py:590 msgid "Can't run as root!" msgstr "" -#: ../roundup/scripts/roundup_server.py:591 +#: ../roundup/scripts/roundup_server.py:593 msgid "WARNING: ignoring \"-u\" argument, not root" msgstr "" -#: ../roundup/scripts/roundup_server.py:597 +#: ../roundup/scripts/roundup_server.py:599 msgid "Can't change users - no pwd module" msgstr "" -#: ../roundup/scripts/roundup_server.py:606 +#: ../roundup/scripts/roundup_server.py:608 #, python-format msgid "User %(user)s doesn't exist" msgstr "" -#: ../roundup/scripts/roundup_server.py:803 +#: ../roundup/scripts/roundup_server.py:805 #, python-format msgid "Multiprocess mode \"%s\" is not available, switching to single-process" msgstr "" -#: ../roundup/scripts/roundup_server.py:830 +#: ../roundup/scripts/roundup_server.py:832 #, python-format msgid "Unable to bind to port %s, port already in use." msgstr "" -#: ../roundup/scripts/roundup_server.py:834 +#: ../roundup/scripts/roundup_server.py:836 #, python-format msgid "" "Unable to bind to port %(port)s, access not allowed, errno: %(errno)s %(msg)s" msgstr "" -#: ../roundup/scripts/roundup_server.py:913 +#: ../roundup/scripts/roundup_server.py:915 msgid "" " -c <Command> Windows Service options.\n" " If you want to run the server as a Windows Service, you\n" @@ -2409,7 +2423,7 @@ " specifics." msgstr "" -#: ../roundup/scripts/roundup_server.py:920 +#: ../roundup/scripts/roundup_server.py:922 msgid "" " -u <UID> runs the Roundup web server as this UID\n" " -g <GID> runs the Roundup web server as this GID\n" @@ -2418,7 +2432,7 @@ " specified if -d is used." msgstr "" -#: ../roundup/scripts/roundup_server.py:927 +#: ../roundup/scripts/roundup_server.py:929 #, python-format msgid "" "\n" @@ -2485,20 +2499,20 @@ " any url-unsafe characters like spaces, as these confuse IE.\n" msgstr "" -#: ../roundup/scripts/roundup_server.py:1103 +#: ../roundup/scripts/roundup_server.py:1105 msgid "Instances must be name=home" msgstr "" -#: ../roundup/scripts/roundup_server.py:1117 +#: ../roundup/scripts/roundup_server.py:1119 #, python-format msgid "Configuration saved to %s" msgstr "" -#: ../roundup/scripts/roundup_server.py:1135 +#: ../roundup/scripts/roundup_server.py:1137 msgid "Sorry, you can't run the server as a daemon on this Operating System" msgstr "" -#: ../roundup/scripts/roundup_server.py:1155 +#: ../roundup/scripts/roundup_server.py:1157 #, python-format msgid "Roundup server started on %(HOST)s:%(PORT)s" msgstr ""
--- a/locale/ru.po Wed Mar 01 10:43:54 2023 -0500 +++ b/locale/ru.po Wed Mar 01 10:51:37 2023 -0500 @@ -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: 2022-11-23 22:28-0500\n" +"POT-Creation-Date: 2023-03-01 10:35-0500\n" "PO-Revision-Date: 2013-10-31 12:21+0100\n" "Last-Translator: alexander smishlajev <alex@tycobka.lv>\n" "Language-Team: Russian\n" @@ -25,22 +25,22 @@ "You do not have permission to retire or restore the %(classname)s class." msgstr " %(action)s %(classname)s." -#: ../roundup/actions.py:64 ../roundup/cgi/actions.py:240 +#: ../roundup/actions.py:65 ../roundup/cgi/actions.py:240 msgid "You may not retire the admin or anonymous user" msgstr " admin anonymous." -#: ../roundup/admin.py:106 ../roundup/admin.py:1259 ../roundup/admin.py:1314 -#: ../roundup/admin.py:1341 ../roundup/admin.py:106:1259 :1314:1341 +#: ../roundup/admin.py:112 ../roundup/admin.py:1295 ../roundup/admin.py:1350 +#: ../roundup/admin.py:1377 ../roundup/admin.py:112:1295 :1350:1377 #, python-format msgid "no such class \"%(classname)s\"" msgstr " \"%(classname)s\" " -#: ../roundup/admin.py:118 +#: ../roundup/admin.py:124 #, python-format msgid "argument \"%(arg)s\" not propname=value" msgstr " \"%(arg)s\" =" -#: ../roundup/admin.py:131 +#: ../roundup/admin.py:137 #, python-format msgid "" "Problem: %(message)s\n" @@ -49,7 +49,7 @@ ": %(message)s\n" "\n" -#: ../roundup/admin.py:132 +#: ../roundup/admin.py:138 #, fuzzy, python-format msgid "" "%(message)sUsage: roundup-admin [options] [<command> <arguments>]\n" @@ -98,12 +98,12 @@ " roundup-admin help <command> -- \n" " roundup-admin help all -- \n" -#: ../roundup/admin.py:159 +#: ../roundup/admin.py:165 #, fuzzy msgid "Commands: " msgstr ":" -#: ../roundup/admin.py:166 +#: ../roundup/admin.py:172 msgid "" "Commands may be abbreviated as long as the abbreviation\n" "matches only one command, e.g. l == li == lis == list." @@ -117,7 +117,8 @@ # . # # " "? -#: ../roundup/admin.py:195 +#: ../roundup/admin.py:201 +#, fuzzy msgid "" "\n" "All commands (except help) require a tracker specifier. This is just\n" @@ -169,7 +170,7 @@ " . ROUNDUP_LOGIN environment variable\n" " . the -u command-line option\n" "If either the name or password is not supplied, they are obtained from the\n" -"command-line.\n" +"command-line. (See admin guide before using -u.)\n" "\n" "Date format examples:\n" " \"2000-04-17.03:45\" means <Date 2000-04-17.08:45:00>\n" @@ -248,12 +249,12 @@ "\n" " :\n" -#: ../roundup/admin.py:258 +#: ../roundup/admin.py:264 #, python-format msgid "%s:" msgstr "" -#: ../roundup/admin.py:265 +#: ../roundup/admin.py:271 msgid "" "Usage: help topic\n" " Give help about topic.\n" @@ -273,20 +274,20 @@ " all -- \n" " " -#: ../roundup/admin.py:287 +#: ../roundup/admin.py:293 #, python-format msgid "Sorry, no help for \"%(topic)s\"" msgstr ", \"%(topic)s\" ." -#: ../roundup/admin.py:402 ../roundup/admin.py:458 ../roundup/admin.py:402:458 +#: ../roundup/admin.py:408 ../roundup/admin.py:464 ../roundup/admin.py:408:464 msgid "Templates:" msgstr ":" -#: ../roundup/admin.py:405 ../roundup/admin.py:468 ../roundup/admin.py:405:468 +#: ../roundup/admin.py:411 ../roundup/admin.py:474 ../roundup/admin.py:411:474 msgid "Back ends:" msgstr ":" -#: ../roundup/admin.py:408 +#: ../roundup/admin.py:414 msgid "" "Usage: install [template [backend [key=val[,key=val]]]]\n" " Install a new Roundup tracker.\n" @@ -338,23 +339,23 @@ " . \"help initopts\".\n" " " -#: ../roundup/admin.py:431 ../roundup/admin.py:562 ../roundup/admin.py:635 -#: ../roundup/admin.py:728 ../roundup/admin.py:786 ../roundup/admin.py:872 -#: ../roundup/admin.py:931 ../roundup/admin.py:958 ../roundup/admin.py:985 -#: ../roundup/admin.py:1062 ../roundup/admin.py:1157 ../roundup/admin.py:1243 -#: ../roundup/admin.py:1304 ../roundup/admin.py:1331 ../roundup/admin.py:1367 -#: ../roundup/admin.py:1495 ../roundup/admin.py:1579 -#: ../roundup/admin.py:431:562 :1157 :1243:1304 :1331:1367 :1495:1579 :635:728 -#: :786:872 :931:958 :985:1062 +#: ../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:437 +#: ../roundup/admin.py:443 #, python-format msgid "Instance home parent directory \"%(parent)s\" does not exist" msgstr " \"%(parent)s\" " -#: ../roundup/admin.py:446 +#: ../roundup/admin.py:452 #, python-format msgid "" "WARNING: There appears to be a tracker in \"%(tracker_home)s\"!\n" @@ -365,22 +366,22 @@ " !\n" " ? Y/N: " -#: ../roundup/admin.py:459 +#: ../roundup/admin.py:465 #, fuzzy msgid "Select template" msgstr " [classic]: " -#: ../roundup/admin.py:469 +#: ../roundup/admin.py:475 #, fuzzy msgid "Select backend" msgstr " [anydbm]: " -#: ../roundup/admin.py:480 +#: ../roundup/admin.py:486 #, python-format msgid "Error in configuration settings: \"%s\"" msgstr " : \"%s\"" -#: ../roundup/admin.py:511 +#: ../roundup/admin.py:517 #, python-format msgid "" "\n" @@ -393,12 +394,12 @@ " :\n" " %(config_file)s" -#: ../roundup/admin.py:521 +#: ../roundup/admin.py:527 msgid " ... at a minimum, you must set following options:" msgstr " ... , :" # -#: ../roundup/admin.py:526 +#: ../roundup/admin.py:532 #, python-format msgid "" "\n" @@ -425,7 +426,7 @@ " \"roundup-admin initialise\".\n" "---------------------------------------------------------------------------\n" -#: ../roundup/admin.py:557 +#: ../roundup/admin.py:563 #, fuzzy msgid "" "Usage: genconfig <filename>\n" @@ -438,7 +439,22 @@ " .\n" " " -#: ../roundup/admin.py:572 +#: ../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 #, fuzzy msgid "" "Usage: updateconfig <filename>\n" @@ -454,7 +470,7 @@ # password #. password -#: ../roundup/admin.py:580 +#: ../roundup/admin.py:612 msgid "" "Usage: initialise [adminpw]\n" " Initialise a new Roundup tracker.\n" @@ -472,23 +488,23 @@ " dbinit.init()\n" " " -#: ../roundup/admin.py:594 +#: ../roundup/admin.py:626 msgid "Admin Password: " msgstr " : " -#: ../roundup/admin.py:595 +#: ../roundup/admin.py:627 msgid " Confirm: " msgstr " : " -#: ../roundup/admin.py:599 +#: ../roundup/admin.py:631 msgid "Instance home does not exist" msgstr " " -#: ../roundup/admin.py:603 +#: ../roundup/admin.py:635 msgid "Instance has not been installed" msgstr " " -#: ../roundup/admin.py:609 +#: ../roundup/admin.py:641 msgid "" "WARNING: The database is already initialised!\n" "If you re-initialise it, you will lose all the data!\n" @@ -498,7 +514,7 @@ " !\n" " ? Y/N: " -#: ../roundup/admin.py:625 +#: ../roundup/admin.py:661 #, fuzzy msgid "" "Usage: get property designator[,designator]*\n" @@ -519,24 +535,24 @@ " .\n" " " -#: ../roundup/admin.py:669 ../roundup/admin.py:687 ../roundup/admin.py:669:687 +#: ../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:697 ../roundup/admin.py:1261 ../roundup/admin.py:1316 -#: ../roundup/admin.py:697:1261:1316 +#: ../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 " %(classname)s \"%(nodeid)s\"" -#: ../roundup/admin.py:700 +#: ../roundup/admin.py:736 #, python-format msgid "no such %(classname)s property \"%(propname)s\"" msgstr " %(classname)s \"%(propname)s\"" -#: ../roundup/admin.py:708 +#: ../roundup/admin.py:744 #, fuzzy msgid "" "Usage: set items property=value property=value ...\n" @@ -571,7 +587,7 @@ " . (, \"1,2,3\".)\n" " " -#: ../roundup/admin.py:776 +#: ../roundup/admin.py:812 #, fuzzy msgid "" "Usage: filter classname propname=value ...\n" @@ -592,19 +608,19 @@ " , .\n" " " -#: ../roundup/admin.py:819 +#: ../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:857 ../roundup/admin.py:918 ../roundup/admin.py:1082 -#: ../roundup/admin.py:1094 ../roundup/admin.py:1177 -#: ../roundup/admin.py:857:918 :1082:1094:1177 +#: ../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:864 +#: ../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" @@ -622,7 +638,7 @@ " , .\n" " " -#: ../roundup/admin.py:925 +#: ../roundup/admin.py:961 msgid "" "Usage: specification classname\n" " Show the properties for a classname.\n" @@ -636,17 +652,17 @@ " .\n" " " -#: ../roundup/admin.py:941 +#: ../roundup/admin.py:977 #, fuzzy, python-format msgid "%(key)s: %(value)s (key property)\n" msgstr "%(key)s: %(value)s ( )" -#: ../roundup/admin.py:944 +#: ../roundup/admin.py:980 #, fuzzy, python-format msgid "%(key)s: %(value)s\n" msgstr "%(key)s: %(value)s ( )" -#: ../roundup/admin.py:947 +#: ../roundup/admin.py:983 #, fuzzy msgid "" "Usage: display designator[,designator]*\n" @@ -667,12 +683,12 @@ " .\n" " " -#: ../roundup/admin.py:974 +#: ../roundup/admin.py:1010 #, python-format msgid "%(key)s: %(value)s" msgstr "" -#: ../roundup/admin.py:977 +#: ../roundup/admin.py:1013 msgid "" "Usage: create classname property=value ...\n" " Create a new entry of a given class.\n" @@ -690,31 +706,31 @@ " .\n" " " -#: ../roundup/admin.py:1005 +#: ../roundup/admin.py:1041 #, python-format msgid "%(propname)s (Password): " msgstr " %(propname)s (): " -#: ../roundup/admin.py:1008 +#: ../roundup/admin.py:1044 #, python-format msgid " %(propname)s (Again): " msgstr "%(propname)s ( ): " -#: ../roundup/admin.py:1012 +#: ../roundup/admin.py:1048 msgid "Sorry, try again..." msgstr " . ." -#: ../roundup/admin.py:1016 +#: ../roundup/admin.py:1052 #, python-format msgid "%(propname)s (%(proptype)s): " msgstr "" -#: ../roundup/admin.py:1035 +#: ../roundup/admin.py:1071 #, python-format msgid "you must provide the \"%(propname)s\" property." msgstr " \"%(propname)s\" ." -#: ../roundup/admin.py:1047 +#: ../roundup/admin.py:1083 msgid "" "Usage: list classname [property]\n" " List the instances of a class.\n" @@ -743,16 +759,16 @@ " .\n" " " -#: ../roundup/admin.py:1060 +#: ../roundup/admin.py:1096 msgid "Too many arguments supplied" msgstr " " -#: ../roundup/admin.py:1096 +#: ../roundup/admin.py:1132 #, python-format msgid "%(nodeid)4s: %(value)s" msgstr "" -#: ../roundup/admin.py:1100 +#: ../roundup/admin.py:1136 msgid "" "Usage: templates [trace_search]\n" " List templates and their installed directories.\n" @@ -762,7 +778,7 @@ " " msgstr "" -#: ../roundup/admin.py:1128 +#: ../roundup/admin.py:1164 msgid "" "Usage: table classname [property[,property]*]\n" " List the instances of a class in tabular form.\n" @@ -822,17 +838,17 @@ " \"Name\" .\n" " " -#: ../roundup/admin.py:1172 +#: ../roundup/admin.py:1208 #, python-format msgid "\"%(spec)s\" not name:width" msgstr " \"%(spec)s\" :" -#: ../roundup/admin.py:1194 +#: ../roundup/admin.py:1230 #, python-format msgid "\"%(spec)s\" does not have an integer width: \"%(width)s\"" msgstr "" -#: ../roundup/admin.py:1230 +#: ../roundup/admin.py:1266 msgid "" "Usage: history designator [skipquiet]\n" " Show the history entries of a designator.\n" @@ -847,7 +863,7 @@ " " msgstr "" -#: ../roundup/admin.py:1266 +#: ../roundup/admin.py:1302 msgid "" "Usage: commit\n" " Commit changes made to the database during an interactive session.\n" @@ -871,7 +887,7 @@ " , .\n" " " -#: ../roundup/admin.py:1281 +#: ../roundup/admin.py:1317 msgid "" "Usage: rollback\n" " Undo all changes that are pending commit to the database.\n" @@ -892,7 +908,7 @@ " .\n" " " -#: ../roundup/admin.py:1294 +#: ../roundup/admin.py:1330 #, fuzzy msgid "" "Usage: retire designator[,designator]*\n" @@ -914,7 +930,7 @@ " .\n" " " -#: ../roundup/admin.py:1322 +#: ../roundup/admin.py:1358 #, fuzzy msgid "" "Usage: restore designator[,designator]*\n" @@ -933,13 +949,13 @@ " .\n" " " -#: ../roundup/admin.py:1347 +#: ../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:1353 +#: ../roundup/admin.py:1389 msgid "" "Usage: export [[-]class[,class]] export_dir\n" " Export the database to colon-separated-value files.\n" @@ -976,7 +992,7 @@ " exporttables.\n" " " -#: ../roundup/admin.py:1460 +#: ../roundup/admin.py:1496 msgid "" "Usage: exporttables [[-]class[,class]] export_dir\n" " Export the database to colon-separated-value files, excluding the\n" @@ -1014,7 +1030,7 @@ " , export.\n" " " -#: ../roundup/admin.py:1475 +#: ../roundup/admin.py:1511 msgid "" "Usage: import import_dir\n" " Import a database from the directory containing CSV files,\n" @@ -1058,7 +1074,7 @@ " ).\n" " " -#: ../roundup/admin.py:1554 +#: ../roundup/admin.py:1590 msgid "" "Usage: importtables export_dir\n" "\n" @@ -1066,7 +1082,7 @@ " " msgstr "" -#: ../roundup/admin.py:1561 +#: ../roundup/admin.py:1597 msgid "" "Usage: pack period | date\n" "\n" @@ -1106,11 +1122,11 @@ "\n" " " -#: ../roundup/admin.py:1589 +#: ../roundup/admin.py:1625 msgid "Invalid format" msgstr " " -#: ../roundup/admin.py:1602 +#: ../roundup/admin.py:1638 msgid "" "Usage: reindex [classname|designator]*\n" " Re-generate a tracker's search indexes.\n" @@ -1126,12 +1142,12 @@ " . .\n" " " -#: ../roundup/admin.py:1616 +#: ../roundup/admin.py:1652 #, python-format msgid "no such item \"%(designator)s\"" msgstr " \"%(designator)s\" " -#: ../roundup/admin.py:1626 +#: ../roundup/admin.py:1662 #, fuzzy msgid "" "Usage: security [Role name]\n" @@ -1144,49 +1160,49 @@ " .\n" " " -#: ../roundup/admin.py:1635 +#: ../roundup/admin.py:1671 #, fuzzy, python-format msgid "No such Role \"%(role)s\"\n" msgstr " \"%(role)s\" " -#: ../roundup/admin.py:1641 +#: ../roundup/admin.py:1677 #, fuzzy, python-format msgid "New Web users get the Roles \"%(role)s\"\n" msgstr " web \"%(role)s\"" -#: ../roundup/admin.py:1644 +#: ../roundup/admin.py:1680 #, fuzzy, python-format msgid "New Web users get the Role \"%(role)s\"\n" msgstr " web \"%(role)s\"" -#: ../roundup/admin.py:1648 +#: ../roundup/admin.py:1684 #, fuzzy, python-format msgid "New Email users get the Roles \"%(role)s\"\n" msgstr " email \"%(role)s\"" -#: ../roundup/admin.py:1650 +#: ../roundup/admin.py:1686 #, fuzzy, python-format msgid "New Email users get the Role \"%(role)s\"\n" msgstr " email \"%(role)s\"" -#: ../roundup/admin.py:1653 +#: ../roundup/admin.py:1689 #, fuzzy, python-format msgid "Role \"%(name)s\":\n" msgstr " \"%(name)s\":" -#: ../roundup/admin.py:1659 +#: ../roundup/admin.py:1695 #, fuzzy msgid " %(description)s (%(name)s for \"%(klass)s\"" msgstr " %(description)s (%(name)s \"%(klass)s\")" -#: ../roundup/admin.py:1659 +#: ../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:1672 +#: ../roundup/admin.py:1708 #, python-format msgid "" "\n" @@ -1194,17 +1210,17 @@ "\n" msgstr "" -#: ../roundup/admin.py:1678 +#: ../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:1681 +#: ../roundup/admin.py:1717 #, fuzzy, python-format msgid " %(description)s (%(name)s)\n" msgstr " %(description)s (%(name)s \"%(klass)s\")" -#: ../roundup/admin.py:1685 +#: ../roundup/admin.py:1721 msgid "" "Usage: migrate\n" "\n" @@ -1228,43 +1244,43 @@ " " msgstr "" -#: ../roundup/admin.py:1706 +#: ../roundup/admin.py:1742 #, fuzzy msgid "Tracker updated" msgstr " " -#: ../roundup/admin.py:1709 +#: ../roundup/admin.py:1745 msgid "No migration action required" msgstr "" -#: ../roundup/admin.py:1735 +#: ../roundup/admin.py:1771 #, python-format msgid "Unknown command \"%(command)s\" (\"help commands\" for a list)" msgstr "" " \"%(command)s\" . (\"help commands\" )" -#: ../roundup/admin.py:1741 +#: ../roundup/admin.py:1777 #, python-format msgid "Multiple commands match \"%(command)s\": %(list)s" msgstr "\"%(command)s\" : %(list)s" -#: ../roundup/admin.py:1750 +#: ../roundup/admin.py:1786 msgid "Enter tracker home: " msgstr " : " -#: ../roundup/admin.py:1759 ../roundup/admin.py:1765 ../roundup/admin.py:1802 -#: ../roundup/admin.py:1759:1765:1802 +#: ../roundup/admin.py:1795 ../roundup/admin.py:1801 ../roundup/admin.py:1838 +#: ../roundup/admin.py:1795:1801:1838 #, python-format msgid "Error: %(message)s" msgstr ": %(message)s" -#: ../roundup/admin.py:1775 ../roundup/admin.py:1779 -#: ../roundup/admin.py:1775:1779 +#: ../roundup/admin.py:1811 ../roundup/admin.py:1815 +#: ../roundup/admin.py:1811:1815 #, python-format msgid "Error: Couldn't open tracker: %(message)s" msgstr ": : %(message)s" -#: ../roundup/admin.py:1815 +#: ../roundup/admin.py:1851 #, python-format msgid "" "Roundup %s ready for input.\n" @@ -1273,19 +1289,15 @@ "Roundup %s .\n" " \"help\" ." -#: ../roundup/admin.py:1820 +#: ../roundup/admin.py:1856 msgid "Note: command history and editing not available" msgstr ": " -#: ../roundup/admin.py:1824 -msgid "roundup> " -msgstr "" - -#: ../roundup/admin.py:1826 +#: ../roundup/admin.py:1862 msgid "exit..." msgstr " ..." -#: ../roundup/admin.py:1839 +#: ../roundup/admin.py:1875 msgid "There are unsaved changes. Commit them (y/N)? " msgstr ", . (y/N)? " @@ -1393,20 +1405,22 @@ msgid "restored" msgstr "" -#: ../roundup/backends/sessions_redis.py:76 -#: ../roundup/backends/sessions_redis.py:95 -#: ../roundup/backends/sessions_redis.py:76:95 +#: ../roundup/backends/sessions_redis.py:78 +#: ../roundup/backends/sessions_redis.py:97 +#: ../roundup/backends/sessions_redis.py:78:97 #, python-format msgid "Key %(key)s not found in %(name)s database." msgstr "" -#: ../roundup/backends/sessions_redis.py:191 +#: ../roundup/backends/sessions_redis.py:193 #, python-format msgid "Key %(key)s changed in %(name)s db" msgstr "" -#: ../roundup/backends/sessions_redis.py:195 -msgid "Redis set failed afer 3 retries" +#: ../roundup/backends/sessions_redis.py:203 +#, python-format +msgid "" +"Redis set failed after %(retries)d retries for user %(user)s with key %(key)s" msgstr "" #: ../roundup/cgi/actions.py:97 @@ -1719,22 +1733,22 @@ msgid "Welcome %(username)s!" msgstr "" -#: ../roundup/cgi/actions.py:1383 ../roundup/cgi/actions.py:1387 -#: ../roundup/cgi/actions.py:1383:1387 +#: ../roundup/cgi/actions.py:1384 ../roundup/cgi/actions.py:1388 +#: ../roundup/cgi/actions.py:1384:1388 msgid "Invalid login" msgstr " ." -#: ../roundup/cgi/actions.py:1393 +#: ../roundup/cgi/actions.py:1394 msgid "You do not have permission to login" msgstr " " -#: ../roundup/cgi/actions.py:1437 ../roundup/cgi/actions.py:1616 -#: ../roundup/cgi/actions.py:1437:1616 +#: ../roundup/cgi/actions.py:1439 ../roundup/cgi/actions.py:1618 +#: ../roundup/cgi/actions.py:1439:1618 #, python-format msgid "Column \"%(column)s\" not found in %(class)s" msgstr "" -#: ../roundup/cgi/actions.py:1687 +#: ../roundup/cgi/actions.py:1689 #, fuzzy, python-format msgid "You do not have permission to view %(class)s" msgstr " %(class)s" @@ -1840,147 +1854,148 @@ " .</p>\n" "</body></html>" -#: ../roundup/cgi/client.py:651 +#: ../roundup/cgi/client.py:670 ../roundup/cgi/client.py:1570 +#: ../roundup/cgi/client.py:670:1570 +msgid "Required Header Missing" +msgstr "" + +#: ../roundup/cgi/client.py:672 #, fuzzy msgid "Client is not allowed to use Rest Interface." msgstr " -." -#: ../roundup/cgi/client.py:895 +#: ../roundup/cgi/client.py:921 msgid "Form Error: " msgstr " : " -#: ../roundup/cgi/client.py:985 +#: ../roundup/cgi/client.py:1011 #, python-format msgid "Unrecognized charset: %r" msgstr " %r " -#: ../roundup/cgi/client.py:1238 ../roundup/cgi/client.py:2196 -#: ../roundup/cgi/client.py:1238:2196 +#: ../roundup/cgi/client.py:1264 ../roundup/cgi/client.py:2250 +#: ../roundup/cgi/client.py:1264:2250 msgid "broken form: multiple @action values submitted" msgstr "" -#: ../roundup/cgi/client.py:1253 +#: ../roundup/cgi/client.py:1279 msgid "Anonymous users are not allowed to use the web interface" msgstr " -." -#: ../roundup/cgi/client.py:1376 +#: ../roundup/cgi/client.py:1430 msgid "Referer header not available." msgstr "" -#: ../roundup/cgi/client.py:1380 +#: ../roundup/cgi/client.py:1434 #, python-format msgid "csrf key used with wrong method from: %s" msgstr "" -#: ../roundup/cgi/client.py:1409 +#: ../roundup/cgi/client.py:1463 #, python-format msgid "csrf header %(header)s required but missing for user%(userid)s." msgstr "" -#: ../roundup/cgi/client.py:1413 +#: ../roundup/cgi/client.py:1467 #, python-format msgid "Missing header: %s" msgstr "" -#: ../roundup/cgi/client.py:1421 +#: ../roundup/cgi/client.py:1475 #, python-format msgid "csrf Referer header check failed for user%(userid)s. Value=%(referer)s" msgstr "" -#: ../roundup/cgi/client.py:1426 +#: ../roundup/cgi/client.py:1480 #, fuzzy, python-format msgid "Invalid Referer: %s" msgstr " ." -#: ../roundup/cgi/client.py:1441 +#: ../roundup/cgi/client.py:1495 #, python-format msgid "csrf Origin header check failed for user%(userid)s. Value=%(origin)s" msgstr "" -#: ../roundup/cgi/client.py:1446 +#: ../roundup/cgi/client.py:1500 #, fuzzy, python-format msgid "Invalid Origin %s" msgstr " ." -#: ../roundup/cgi/client.py:1460 +#: ../roundup/cgi/client.py:1514 #, python-format msgid "" "csrf X-FORWARDED-HOST header check failed for user%(userid)s. Value=%(host)s" msgstr "" -#: ../roundup/cgi/client.py:1466 +#: ../roundup/cgi/client.py:1520 #, python-format msgid "Invalid X-FORWARDED-HOST %s" msgstr "" -#: ../roundup/cgi/client.py:1485 +#: ../roundup/cgi/client.py:1539 #, python-format msgid "csrf HOST header check failed for user%(userid)s. Value=%(host)s" msgstr "" -#: ../roundup/cgi/client.py:1490 +#: ../roundup/cgi/client.py:1544 #, python-format msgid "Invalid HOST %s" msgstr "" -#: ../roundup/cgi/client.py:1498 +#: ../roundup/cgi/client.py:1552 msgid "Csrf: unable to verify sufficient headers" msgstr "" -#: ../roundup/cgi/client.py:1499 +#: ../roundup/cgi/client.py:1553 msgid "Unable to verify sufficient headers" msgstr "" -#: ../roundup/cgi/client.py:1513 +#: ../roundup/cgi/client.py:1567 #, python-format msgid "csrf X-REQUESTED-WITH xmlrpc required header check failed for user%s." msgstr "" -#: ../roundup/cgi/client.py:1516 -msgid "Required Header Missing" -msgstr "" - -#: ../roundup/cgi/client.py:1554 +#: ../roundup/cgi/client.py:1608 #, python-format msgid "Required csrf field missing for user%s" msgstr "" -#: ../roundup/cgi/client.py:1556 ../roundup/cgi/client.py:1583 -#: ../roundup/cgi/client.py:1600 ../roundup/cgi/client.py:1556:1583:1600 +#: ../roundup/cgi/client.py:1610 ../roundup/cgi/client.py:1637 +#: ../roundup/cgi/client.py:1654 ../roundup/cgi/client.py:1610:1637:1654 msgid "" "We can't validate your session (csrf failure). Re-enter any unsaved data and " "try again." msgstr "" -#: ../roundup/cgi/client.py:1560 +#: ../roundup/cgi/client.py:1614 #, python-format msgid "csrf field not supplied by user%s" msgstr "" -#: ../roundup/cgi/client.py:1572 +#: ../roundup/cgi/client.py:1626 #, 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:1590 +#: ../roundup/cgi/client.py:1644 #, 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:1784 +#: ../roundup/cgi/client.py:1838 msgid "You are not allowed to view this file." msgstr " ." -#: ../roundup/cgi/client.py:2073 +#: ../roundup/cgi/client.py:2127 #, python-format msgid "%(starttag)sTime elapsed: %(seconds)fs%(endtag)s\n" msgstr "%(starttag)s : %(seconds)fs%(endtag)s\n" -#: ../roundup/cgi/client.py:2077 +#: ../roundup/cgi/client.py:2131 #, python-format msgid "" "%(starttag)sCache hits: %(cache_hits)d, misses %(cache_misses)d. Loading " @@ -1990,7 +2005,7 @@ "%(cache_misses)d. : %(get_items)f . : " "%(filtering)f .%(endtag)s\n" -#: ../roundup/cgi/client.py:2615 +#: ../roundup/cgi/client.py:2669 #, python-format msgid "" "Cache failure: compressed file %(compressed)s is older than its source file " @@ -2393,28 +2408,28 @@ msgid "\"%s\" not a node designator" msgstr "" -#: ../roundup/hyperdb.py:1492 ../roundup/hyperdb.py:1500 -#: ../roundup/hyperdb.py:1492:1500 +#: ../roundup/hyperdb.py:1493 ../roundup/hyperdb.py:1501 +#: ../roundup/hyperdb.py:1493:1501 #, python-format msgid "Not a property name: %s" msgstr "" -#: ../roundup/hyperdb.py:1977 +#: ../roundup/hyperdb.py:1978 #, fuzzy, python-format msgid "property %(property)s: %(value)r is not a %(classname)s." msgstr " \"%(propname)s\": \"%(value)s\" " -#: ../roundup/hyperdb.py:1983 +#: ../roundup/hyperdb.py:1984 #, python-format msgid "you may only enter ID values for property %s" msgstr "" -#: ../roundup/hyperdb.py:2018 +#: ../roundup/hyperdb.py:2019 #, python-format msgid "%(property)r is not a property of %(classname)s" msgstr "" -#: ../roundup/init.py:139 +#: ../roundup/init.py:141 #, python-format msgid "" "WARNING: directory '%s'\n" @@ -2707,7 +2722,7 @@ " :\n" " %(errors)s\n" -#: ../roundup/mailgw.py:1820 +#: ../roundup/mailgw.py:1821 #, fuzzy, python-format msgid "" "\n" @@ -2737,19 +2752,19 @@ msgid "Invalid attribute %s" msgstr " ." -#: ../roundup/rest.py:2078 +#: ../roundup/rest.py:2090 #, python-format msgid "Api rate limits exceeded. Please wait: %s seconds." msgstr "" -#: ../roundup/rest.py:2113 +#: ../roundup/rest.py:2125 #, python-format msgid "" "Unable to parse Accept Header. %(error)s. Acceptable types: " "%(acceptable_types)s" msgstr "" -#: ../roundup/rest.py:2262 +#: ../roundup/rest.py:2305 #, python-format msgid "" "Unrecognized api version: %s. See /rest without specifying api version for " @@ -2878,27 +2893,27 @@ msgid "No tracker templates found in directory %s" msgstr " %s " -#: ../roundup/scripts/roundup_mailgw.py:185 +#: ../roundup/scripts/roundup_mailgw.py:182 msgid "" "\n" "Error: The instance home must be specified" msgstr "" -#: ../roundup/scripts/roundup_mailgw.py:203 +#: ../roundup/scripts/roundup_mailgw.py:200 #, fuzzy msgid "" "\n" "Error: not enough source specification information" msgstr ": " -#: ../roundup/scripts/roundup_mailgw.py:234 +#: ../roundup/scripts/roundup_mailgw.py:231 #, fuzzy, python-format msgid "" "\n" "Error: %s specification not valid" msgstr ": pop-" -#: ../roundup/scripts/roundup_mailgw.py:258 +#: ../roundup/scripts/roundup_mailgw.py:254 #, fuzzy msgid "" "\n" @@ -2912,7 +2927,7 @@ msgid "WARNING: generating temporary SSL certificate" msgstr ": SSL" -#: ../roundup/scripts/roundup_server.py:329 +#: ../roundup/scripts/roundup_server.py:331 msgid "" "<html><head><title>Roundup trackers index</title></head>\n" "<body><h1>Roundup trackers index</h1><ol>\n" @@ -2920,62 +2935,62 @@ "<html><head><title> Roundup</title></head>\n" "<body><h1> Roundup</h1><ol>\n" -#: ../roundup/scripts/roundup_server.py:549 +#: ../roundup/scripts/roundup_server.py:551 #, fuzzy, python-format msgid "Error: %(type)s: %(value)s" msgstr "%(key)s: %(value)s ( )" -#: ../roundup/scripts/roundup_server.py:561 +#: ../roundup/scripts/roundup_server.py:563 msgid "WARNING: ignoring \"-g\" argument, not root" msgstr "" ": \"-g\" , " " root" -#: ../roundup/scripts/roundup_server.py:567 +#: ../roundup/scripts/roundup_server.py:569 msgid "Can't change groups - no grp module" msgstr " - grp" -#: ../roundup/scripts/roundup_server.py:576 +#: ../roundup/scripts/roundup_server.py:578 #, python-format msgid "Group %(group)s doesn't exist" msgstr " %(group)s " -#: ../roundup/scripts/roundup_server.py:588 +#: ../roundup/scripts/roundup_server.py:590 msgid "Can't run as root!" msgstr " root !" -#: ../roundup/scripts/roundup_server.py:591 +#: ../roundup/scripts/roundup_server.py:593 msgid "WARNING: ignoring \"-u\" argument, not root" msgstr "" ": \"-u\" , " " root" -#: ../roundup/scripts/roundup_server.py:597 +#: ../roundup/scripts/roundup_server.py:599 msgid "Can't change users - no pwd module" msgstr " - pwd" -#: ../roundup/scripts/roundup_server.py:606 +#: ../roundup/scripts/roundup_server.py:608 #, python-format msgid "User %(user)s doesn't exist" msgstr " %(user)s " -#: ../roundup/scripts/roundup_server.py:803 +#: ../roundup/scripts/roundup_server.py:805 #, python-format msgid "Multiprocess mode \"%s\" is not available, switching to single-process" msgstr " \"%s\" , " -#: ../roundup/scripts/roundup_server.py:830 +#: ../roundup/scripts/roundup_server.py:832 #, python-format msgid "Unable to bind to port %s, port already in use." msgstr " %s, ." -#: ../roundup/scripts/roundup_server.py:834 +#: ../roundup/scripts/roundup_server.py:836 #, 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:913 +#: ../roundup/scripts/roundup_server.py:915 msgid "" " -c <Command> Windows Service options.\n" " If you want to run the server as a Windows Service, you\n" @@ -2992,7 +3007,7 @@ " . 'roundup-server -c help'\n" " Windows." -#: ../roundup/scripts/roundup_server.py:920 +#: ../roundup/scripts/roundup_server.py:922 msgid "" " -u <UID> runs the Roundup web server as this UID\n" " -g <GID> runs the Roundup web server as this GID\n" @@ -3006,7 +3021,7 @@ " . \"-d\",\n" " ** \"-l\"" -#: ../roundup/scripts/roundup_server.py:927 +#: ../roundup/scripts/roundup_server.py:929 #, fuzzy, python-format msgid "" "\n" @@ -3129,21 +3144,21 @@ " URL (, .),\n" " IE.\n" -#: ../roundup/scripts/roundup_server.py:1103 +#: ../roundup/scripts/roundup_server.py:1105 msgid "Instances must be name=home" msgstr " =" -#: ../roundup/scripts/roundup_server.py:1117 +#: ../roundup/scripts/roundup_server.py:1119 #, python-format msgid "Configuration saved to %s" msgstr " %s" -#: ../roundup/scripts/roundup_server.py:1135 +#: ../roundup/scripts/roundup_server.py:1137 msgid "Sorry, you can't run the server as a daemon on this Operating System" msgstr "" ", " -#: ../roundup/scripts/roundup_server.py:1155 +#: ../roundup/scripts/roundup_server.py:1157 #, python-format msgid "Roundup server started on %(HOST)s:%(PORT)s" msgstr " Roundup %(HOST)s:%(PORT)s"
--- a/locale/zh_CN.po Wed Mar 01 10:43:54 2023 -0500 +++ b/locale/zh_CN.po Wed Mar 01 10:51:37 2023 -0500 @@ -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: 2022-11-23 22:28-0500\n" +"POT-Creation-Date: 2023-03-01 10:35-0500\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" @@ -26,24 +26,24 @@ "You do not have permission to retire or restore the %(classname)s class." msgstr "你 %(action)s %(classname)s 类型的权限。" -#: ../roundup/actions.py:64 ../roundup/cgi/actions.py:240 +#: ../roundup/actions.py:65 ../roundup/cgi/actions.py:240 msgid "You may not retire the admin or anonymous user" msgstr "你不能撤除管理员或匿名用户" # ../roundup/admin.py:84 :943 :992 :1014 -#: ../roundup/admin.py:106 ../roundup/admin.py:1259 ../roundup/admin.py:1314 -#: ../roundup/admin.py:1341 ../roundup/admin.py:106:1259 :1314:1341 +#: ../roundup/admin.py:112 ../roundup/admin.py:1295 ../roundup/admin.py:1350 +#: ../roundup/admin.py:1377 ../roundup/admin.py:112:1295 :1350:1377 #, python-format msgid "no such class \"%(classname)s\"" msgstr "无此类别 \"%(classname)s\"" # ../roundup/admin.py:94 :98 -#: ../roundup/admin.py:118 +#: ../roundup/admin.py:124 #, python-format msgid "argument \"%(arg)s\" not propname=value" msgstr "参数 \"%(arg)s\" 不是 propname=value 的形式" -#: ../roundup/admin.py:131 +#: ../roundup/admin.py:137 #, python-format msgid "" "Problem: %(message)s\n" @@ -52,7 +52,7 @@ "问题: %(message)s\n" "\n" -#: ../roundup/admin.py:132 +#: ../roundup/admin.py:138 #, fuzzy, python-format msgid "" "%(message)sUsage: roundup-admin [options] [<command> <arguments>]\n" @@ -99,12 +99,12 @@ " roundup-admin help <command> -- 命令详解帮助\n" " roundup-admin help all -- 所有可用的帮助\n" -#: ../roundup/admin.py:159 +#: ../roundup/admin.py:165 #, fuzzy msgid "Commands: " msgstr "命令:" -#: ../roundup/admin.py:166 +#: ../roundup/admin.py:172 msgid "" "Commands may be abbreviated as long as the abbreviation\n" "matches only one command, e.g. l == li == lis == list." @@ -112,7 +112,8 @@ "命令可以被缩写,只要缩写只有一个命令可以匹配上,\n" "如:l == li == lis == list." -#: ../roundup/admin.py:195 +#: ../roundup/admin.py:201 +#, fuzzy msgid "" "\n" "All commands (except help) require a tracker specifier. This is just\n" @@ -164,7 +165,7 @@ " . ROUNDUP_LOGIN environment variable\n" " . the -u command-line option\n" "If either the name or password is not supplied, they are obtained from the\n" -"command-line.\n" +"command-line. (See admin guide before using -u.)\n" "\n" "Date format examples:\n" " \"2000-04-17.03:45\" means <Date 2000-04-17.08:45:00>\n" @@ -235,12 +236,12 @@ "\n" "使用帮助:\n" -#: ../roundup/admin.py:258 +#: ../roundup/admin.py:264 #, python-format msgid "%s:" msgstr "%s:" -#: ../roundup/admin.py:265 +#: ../roundup/admin.py:271 msgid "" "Usage: help topic\n" " Give help about topic.\n" @@ -260,22 +261,22 @@ " all -- 所有可用的帮助\n" " " -#: ../roundup/admin.py:287 +#: ../roundup/admin.py:293 #, python-format msgid "Sorry, no help for \"%(topic)s\"" msgstr "抱歉,没有“%(topic)s”的帮助信息" # ../roundup/admin.py:337 :387 -#: ../roundup/admin.py:402 ../roundup/admin.py:458 ../roundup/admin.py:402:458 +#: ../roundup/admin.py:408 ../roundup/admin.py:464 ../roundup/admin.py:408:464 msgid "Templates:" msgstr "模板:" # ../roundup/admin.py:340 :398 -#: ../roundup/admin.py:405 ../roundup/admin.py:468 ../roundup/admin.py:405:468 +#: ../roundup/admin.py:411 ../roundup/admin.py:474 ../roundup/admin.py:411:474 msgid "Back ends:" msgstr "后端:" -#: ../roundup/admin.py:408 +#: ../roundup/admin.py:414 #, fuzzy msgid "" "Usage: install [template [backend [key=val[,key=val]]]]\n" @@ -317,23 +318,23 @@ # ../roundup/admin.py:359 :494 :573 :623 :676 :697 :725 :796 :863 :934 :982 # :1004 :1031 :1093 :1159 -#: ../roundup/admin.py:431 ../roundup/admin.py:562 ../roundup/admin.py:635 -#: ../roundup/admin.py:728 ../roundup/admin.py:786 ../roundup/admin.py:872 -#: ../roundup/admin.py:931 ../roundup/admin.py:958 ../roundup/admin.py:985 -#: ../roundup/admin.py:1062 ../roundup/admin.py:1157 ../roundup/admin.py:1243 -#: ../roundup/admin.py:1304 ../roundup/admin.py:1331 ../roundup/admin.py:1367 -#: ../roundup/admin.py:1495 ../roundup/admin.py:1579 -#: ../roundup/admin.py:431:562 :1157 :1243:1304 :1331:1367 :1495:1579 :635:728 -#: :786:872 :931:958 :985:1062 +#: ../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:437 +#: ../roundup/admin.py:443 #, python-format msgid "Instance home parent directory \"%(parent)s\" does not exist" msgstr "实例目录的父目录 \"%(parent)s\" 不存在" -#: ../roundup/admin.py:446 +#: ../roundup/admin.py:452 #, python-format msgid "" "WARNING: There appears to be a tracker in \"%(tracker_home)s\"!\n" @@ -344,22 +345,22 @@ "如果你重新安装,所有的数据将会丢失!\n" "删除它吗?Y/N: " -#: ../roundup/admin.py:459 +#: ../roundup/admin.py:465 #, fuzzy msgid "Select template" msgstr "选择模板 [classic]:" -#: ../roundup/admin.py:469 +#: ../roundup/admin.py:475 #, fuzzy msgid "Select backend" msgstr "选择后端 [anydbm]:" -#: ../roundup/admin.py:480 +#: ../roundup/admin.py:486 #, python-format msgid "Error in configuration settings: \"%s\"" msgstr "配置设定有错: “%s”" -#: ../roundup/admin.py:511 +#: ../roundup/admin.py:517 #, fuzzy, python-format msgid "" "\n" @@ -371,11 +372,11 @@ " 现在你应该修改tracker的配置文件:\n" " %(config_file)s" -#: ../roundup/admin.py:521 +#: ../roundup/admin.py:527 msgid " ... at a minimum, you must set following options:" msgstr " ... 至少,你必须设置以下选项:" -#: ../roundup/admin.py:526 +#: ../roundup/admin.py:532 #, fuzzy, python-format msgid "" "\n" @@ -399,7 +400,7 @@ " %(database_init_file)s\n" " ... 查看关于客户化的文档来了解更多的信息。\n" -#: ../roundup/admin.py:557 +#: ../roundup/admin.py:563 msgid "" "Usage: genconfig <filename>\n" " Generate a new tracker config file (ini style) with default\n" @@ -407,7 +408,22 @@ " " msgstr "" -#: ../roundup/admin.py:572 +#: ../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 msgid "" "Usage: updateconfig <filename>\n" " Generate an updated tracker config file (ini style) in\n" @@ -417,7 +433,7 @@ msgstr "" #. password -#: ../roundup/admin.py:580 +#: ../roundup/admin.py:612 msgid "" "Usage: initialise [adminpw]\n" " Initialise a new Roundup tracker.\n" @@ -435,23 +451,23 @@ " 执行tracker的初始化函数 dbinit.init()\n" " " -#: ../roundup/admin.py:594 +#: ../roundup/admin.py:626 msgid "Admin Password: " msgstr "管理员密码:" -#: ../roundup/admin.py:595 +#: ../roundup/admin.py:627 msgid " Confirm: " msgstr " 确认:" -#: ../roundup/admin.py:599 +#: ../roundup/admin.py:631 msgid "Instance home does not exist" msgstr "实例目录不存在" -#: ../roundup/admin.py:603 +#: ../roundup/admin.py:635 msgid "Instance has not been installed" msgstr "实例还没有安装" -#: ../roundup/admin.py:609 +#: ../roundup/admin.py:641 msgid "" "WARNING: The database is already initialised!\n" "If you re-initialise it, you will lose all the data!\n" @@ -461,7 +477,7 @@ "如果你重新初始化它,所有的数据将会丢失!\n" "删除它吗?Y/N: " -#: ../roundup/admin.py:625 +#: ../roundup/admin.py:661 #, fuzzy msgid "" "Usage: get property designator[,designator]*\n" @@ -481,24 +497,24 @@ " " # ../roundup/admin.py:527 :542 -#: ../roundup/admin.py:669 ../roundup/admin.py:687 ../roundup/admin.py:669:687 +#: ../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:697 ../roundup/admin.py:1261 ../roundup/admin.py:1316 -#: ../roundup/admin.py:697:1261:1316 +#: ../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 "没有这样的 %(classname)s 结点 \"%(nodeid)s\"" -#: ../roundup/admin.py:700 +#: ../roundup/admin.py:736 #, python-format msgid "no such %(classname)s property \"%(propname)s\"" msgstr "没有这样的 %(classname)s 属性 \"%(propname)s\"" -#: ../roundup/admin.py:708 +#: ../roundup/admin.py:744 #, fuzzy msgid "" "Usage: set items property=value property=value ...\n" @@ -531,7 +547,7 @@ " 你需要为多链接提供用逗号分隔的数字(例如 \"1,2,3\")。\n" " " -#: ../roundup/admin.py:776 +#: ../roundup/admin.py:812 #, fuzzy msgid "" "Usage: filter classname propname=value ...\n" @@ -553,20 +569,20 @@ " " # ../roundup/admin.py:663 :816 :828 :882 -#: ../roundup/admin.py:819 +#: ../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:857 ../roundup/admin.py:918 ../roundup/admin.py:1082 -#: ../roundup/admin.py:1094 ../roundup/admin.py:1177 -#: ../roundup/admin.py:857:918 :1082:1094:1177 +#: ../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:864 +#: ../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" @@ -584,7 +600,7 @@ " 或者是结点的键值。\n" " " -#: ../roundup/admin.py:925 +#: ../roundup/admin.py:961 msgid "" "Usage: specification classname\n" " Show the properties for a classname.\n" @@ -598,17 +614,17 @@ " 会列出给定类型的属性。\n" " " -#: ../roundup/admin.py:941 +#: ../roundup/admin.py:977 #, fuzzy, python-format msgid "%(key)s: %(value)s (key property)\n" msgstr "%(key)s: %(value)s (关键属性)" -#: ../roundup/admin.py:944 +#: ../roundup/admin.py:980 #, fuzzy, python-format msgid "%(key)s: %(value)s\n" msgstr "%(key)s: %(value)s" -#: ../roundup/admin.py:947 +#: ../roundup/admin.py:983 #, fuzzy msgid "" "Usage: display designator[,designator]*\n" @@ -628,12 +644,12 @@ " 将显示给出结点的属性和相应的值。\n" " " -#: ../roundup/admin.py:974 +#: ../roundup/admin.py:1010 #, python-format msgid "%(key)s: %(value)s" msgstr "%(key)s: %(value)s" -#: ../roundup/admin.py:977 +#: ../roundup/admin.py:1013 msgid "" "Usage: create classname property=value ...\n" " Create a new entry of a given class.\n" @@ -651,31 +667,31 @@ "name=value 参数。\n" " " -#: ../roundup/admin.py:1005 +#: ../roundup/admin.py:1041 #, python-format msgid "%(propname)s (Password): " msgstr "%(propname)s (密码):" -#: ../roundup/admin.py:1008 +#: ../roundup/admin.py:1044 #, python-format msgid " %(propname)s (Again): " msgstr " %(propname)s (再次):" -#: ../roundup/admin.py:1012 +#: ../roundup/admin.py:1048 msgid "Sorry, try again..." msgstr "抱歉,再试一次..." -#: ../roundup/admin.py:1016 +#: ../roundup/admin.py:1052 #, python-format msgid "%(propname)s (%(proptype)s): " msgstr "" -#: ../roundup/admin.py:1035 +#: ../roundup/admin.py:1071 #, python-format msgid "you must provide the \"%(propname)s\" property." msgstr "你必须提供 \"%(propname)s\" 属性。" -#: ../roundup/admin.py:1047 +#: ../roundup/admin.py:1083 msgid "" "Usage: list classname [property]\n" " List the instances of a class.\n" @@ -701,16 +717,16 @@ " 定了属性,对每个类型实例会打印出这个属性。\n" " " -#: ../roundup/admin.py:1060 +#: ../roundup/admin.py:1096 msgid "Too many arguments supplied" msgstr "提供了太多的参数了" -#: ../roundup/admin.py:1096 +#: ../roundup/admin.py:1132 #, python-format msgid "%(nodeid)4s: %(value)s" msgstr "%(nodeid)4s: %(value)s" -#: ../roundup/admin.py:1100 +#: ../roundup/admin.py:1136 msgid "" "Usage: templates [trace_search]\n" " List templates and their installed directories.\n" @@ -720,7 +736,7 @@ " " msgstr "" -#: ../roundup/admin.py:1128 +#: ../roundup/admin.py:1164 msgid "" "Usage: table classname [property[,property]*]\n" " List the instances of a class in tabular form.\n" @@ -778,17 +794,17 @@ " 将生成4个字符宽的 \"Name\" 列。\n" " " -#: ../roundup/admin.py:1172 +#: ../roundup/admin.py:1208 #, python-format msgid "\"%(spec)s\" not name:width" msgstr "\"%(spec)s\" 不是 名字:宽度" -#: ../roundup/admin.py:1194 +#: ../roundup/admin.py:1230 #, python-format msgid "\"%(spec)s\" does not have an integer width: \"%(width)s\"" msgstr "" -#: ../roundup/admin.py:1230 +#: ../roundup/admin.py:1266 msgid "" "Usage: history designator [skipquiet]\n" " Show the history entries of a designator.\n" @@ -803,7 +819,7 @@ " " msgstr "" -#: ../roundup/admin.py:1266 +#: ../roundup/admin.py:1302 msgid "" "Usage: commit\n" " Commit changes made to the database during an interactive session.\n" @@ -824,7 +840,7 @@ " 在命令行中的 One-off 命令如果成功会被自动提交。\n" " " -#: ../roundup/admin.py:1281 +#: ../roundup/admin.py:1317 msgid "" "Usage: rollback\n" " Undo all changes that are pending commit to the database.\n" @@ -843,7 +859,7 @@ " 产生变化。\n" " " -#: ../roundup/admin.py:1294 +#: ../roundup/admin.py:1330 #, fuzzy msgid "" "Usage: retire designator[,designator]*\n" @@ -863,7 +879,7 @@ " 它的键值可以被重用。\n" " " -#: ../roundup/admin.py:1322 +#: ../roundup/admin.py:1358 #, fuzzy msgid "" "Usage: restore designator[,designator]*\n" @@ -882,13 +898,13 @@ " " # ../roundup/admin.py:550 :945 :994 :1016 -#: ../roundup/admin.py:1347 +#: ../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:1353 +#: ../roundup/admin.py:1389 #, fuzzy msgid "" "Usage: export [[-]class[,class]] export_dir\n" @@ -913,7 +929,7 @@ " 放在指定的目标目录中。\n" " " -#: ../roundup/admin.py:1460 +#: ../roundup/admin.py:1496 #, fuzzy msgid "" "Usage: exporttables [[-]class[,class]] export_dir\n" @@ -939,7 +955,7 @@ " 放在指定的目标目录中。\n" " " -#: ../roundup/admin.py:1475 +#: ../roundup/admin.py:1511 msgid "" "Usage: import import_dir\n" " Import a database from the directory containing CSV files,\n" @@ -979,7 +995,7 @@ " 旧数据。)\n" " " -#: ../roundup/admin.py:1554 +#: ../roundup/admin.py:1590 msgid "" "Usage: importtables export_dir\n" "\n" @@ -987,7 +1003,7 @@ " " msgstr "" -#: ../roundup/admin.py:1561 +#: ../roundup/admin.py:1597 msgid "" "Usage: pack period | date\n" "\n" @@ -1025,11 +1041,11 @@ "\n" " " -#: ../roundup/admin.py:1589 +#: ../roundup/admin.py:1625 msgid "Invalid format" msgstr "无效的格式" -#: ../roundup/admin.py:1602 +#: ../roundup/admin.py:1638 msgid "" "Usage: reindex [classname|designator]*\n" " Re-generate a tracker's search indexes.\n" @@ -1044,12 +1060,12 @@ " 重新生成 tracker 的搜索索引,它将自动进行。\n" " " -#: ../roundup/admin.py:1616 +#: ../roundup/admin.py:1652 #, python-format msgid "no such item \"%(designator)s\"" msgstr "没有这样的条目 \"%(designator)s\"" -#: ../roundup/admin.py:1626 +#: ../roundup/admin.py:1662 #, fuzzy msgid "" "Usage: security [Role name]\n" @@ -1061,47 +1077,47 @@ " 显示一个或多个角色的权限。\n" " " -#: ../roundup/admin.py:1635 +#: ../roundup/admin.py:1671 #, fuzzy, python-format msgid "No such Role \"%(role)s\"\n" msgstr "没有这样的角色 \"%(role)s\"" -#: ../roundup/admin.py:1641 +#: ../roundup/admin.py:1677 #, fuzzy, python-format msgid "New Web users get the Roles \"%(role)s\"\n" msgstr "新Web用户得到角色 \"%(role)s\"" -#: ../roundup/admin.py:1644 +#: ../roundup/admin.py:1680 #, fuzzy, python-format msgid "New Web users get the Role \"%(role)s\"\n" msgstr "新Web用户得到角色 \"%(role)s\"" -#: ../roundup/admin.py:1648 +#: ../roundup/admin.py:1684 #, fuzzy, python-format msgid "New Email users get the Roles \"%(role)s\"\n" msgstr "新邮件用户得到角色 \"%(role)s\"" -#: ../roundup/admin.py:1650 +#: ../roundup/admin.py:1686 #, fuzzy, python-format msgid "New Email users get the Role \"%(role)s\"\n" msgstr "新邮件用户得到角色 \"%(role)s\"" -#: ../roundup/admin.py:1653 +#: ../roundup/admin.py:1689 #, fuzzy, python-format msgid "Role \"%(name)s\":\n" msgstr "角色 \"%(name)s\":" -#: ../roundup/admin.py:1659 +#: ../roundup/admin.py:1695 #, fuzzy msgid " %(description)s (%(name)s for \"%(klass)s\"" msgstr " %(description)s (%(name)s 仅用于 \"%(klass)s\")" -#: ../roundup/admin.py:1659 +#: ../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:1672 +#: ../roundup/admin.py:1708 #, python-format msgid "" "\n" @@ -1109,17 +1125,17 @@ "\n" msgstr "" -#: ../roundup/admin.py:1678 +#: ../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:1681 +#: ../roundup/admin.py:1717 #, fuzzy, python-format msgid " %(description)s (%(name)s)\n" msgstr " %(description)s (%(name)s)" -#: ../roundup/admin.py:1685 +#: ../roundup/admin.py:1721 msgid "" "Usage: migrate\n" "\n" @@ -1143,42 +1159,42 @@ " " msgstr "" -#: ../roundup/admin.py:1706 +#: ../roundup/admin.py:1742 msgid "Tracker updated" msgstr "Tracker 已经更新" -#: ../roundup/admin.py:1709 +#: ../roundup/admin.py:1745 msgid "No migration action required" msgstr "不必执行迁移" -#: ../roundup/admin.py:1735 +#: ../roundup/admin.py:1771 #, python-format msgid "Unknown command \"%(command)s\" (\"help commands\" for a list)" msgstr "未知命令 \"%(command)s\" (\"help commands\" 查看命令列表)" -#: ../roundup/admin.py:1741 +#: ../roundup/admin.py:1777 #, python-format msgid "Multiple commands match \"%(command)s\": %(list)s" msgstr "多命令匹配 \"%(command)s\": %(list)s" -#: ../roundup/admin.py:1750 +#: ../roundup/admin.py:1786 msgid "Enter tracker home: " msgstr "输入tracker起始目录:" # ../roundup/admin.py:1279 :1285 :1305 -#: ../roundup/admin.py:1759 ../roundup/admin.py:1765 ../roundup/admin.py:1802 -#: ../roundup/admin.py:1759:1765:1802 +#: ../roundup/admin.py:1795 ../roundup/admin.py:1801 ../roundup/admin.py:1838 +#: ../roundup/admin.py:1795:1801:1838 #, python-format msgid "Error: %(message)s" msgstr "错误:%(message)s" -#: ../roundup/admin.py:1775 ../roundup/admin.py:1779 -#: ../roundup/admin.py:1775:1779 +#: ../roundup/admin.py:1811 ../roundup/admin.py:1815 +#: ../roundup/admin.py:1811:1815 #, python-format msgid "Error: Couldn't open tracker: %(message)s" msgstr "错误:不能打开tracker:%(message)s" -#: ../roundup/admin.py:1815 +#: ../roundup/admin.py:1851 #, python-format msgid "" "Roundup %s ready for input.\n" @@ -1187,19 +1203,15 @@ "Roundup %s 输入就绪。\n" "敲入 \"help\" 获得帮助。" -#: ../roundup/admin.py:1820 +#: ../roundup/admin.py:1856 msgid "Note: command history and editing not available" msgstr "注意:命令历史和编辑无效" -#: ../roundup/admin.py:1824 -msgid "roundup> " -msgstr "roundup>" - -#: ../roundup/admin.py:1826 +#: ../roundup/admin.py:1862 msgid "exit..." msgstr "退出..." -#: ../roundup/admin.py:1839 +#: ../roundup/admin.py:1875 msgid "There are unsaved changes. Commit them (y/N)? " msgstr "存在未被保存的改动。提交吗(y/N)?" @@ -1307,20 +1319,22 @@ msgid "restored" msgstr "恢复" -#: ../roundup/backends/sessions_redis.py:76 -#: ../roundup/backends/sessions_redis.py:95 -#: ../roundup/backends/sessions_redis.py:76:95 +#: ../roundup/backends/sessions_redis.py:78 +#: ../roundup/backends/sessions_redis.py:97 +#: ../roundup/backends/sessions_redis.py:78:97 #, python-format msgid "Key %(key)s not found in %(name)s database." msgstr "" -#: ../roundup/backends/sessions_redis.py:191 +#: ../roundup/backends/sessions_redis.py:193 #, python-format msgid "Key %(key)s changed in %(name)s db" msgstr "" -#: ../roundup/backends/sessions_redis.py:195 -msgid "Redis set failed afer 3 retries" +#: ../roundup/backends/sessions_redis.py:203 +#, python-format +msgid "" +"Redis set failed after %(retries)d retries for user %(user)s with key %(key)s" msgstr "" #: ../roundup/cgi/actions.py:97 @@ -1627,22 +1641,22 @@ msgid "Welcome %(username)s!" msgstr "" -#: ../roundup/cgi/actions.py:1383 ../roundup/cgi/actions.py:1387 -#: ../roundup/cgi/actions.py:1383:1387 +#: ../roundup/cgi/actions.py:1384 ../roundup/cgi/actions.py:1388 +#: ../roundup/cgi/actions.py:1384:1388 msgid "Invalid login" msgstr "无效登录" -#: ../roundup/cgi/actions.py:1393 +#: ../roundup/cgi/actions.py:1394 msgid "You do not have permission to login" msgstr "你没有登录的权限" -#: ../roundup/cgi/actions.py:1437 ../roundup/cgi/actions.py:1616 -#: ../roundup/cgi/actions.py:1437:1616 +#: ../roundup/cgi/actions.py:1439 ../roundup/cgi/actions.py:1618 +#: ../roundup/cgi/actions.py:1439:1618 #, python-format msgid "Column \"%(column)s\" not found in %(class)s" msgstr "" -#: ../roundup/cgi/actions.py:1687 +#: ../roundup/cgi/actions.py:1689 #, python-format msgid "You do not have permission to view %(class)s" msgstr "你没有查看 %(class)s 的权限" @@ -1739,154 +1753,155 @@ "</body></html>" msgstr "" -#: ../roundup/cgi/client.py:651 +#: ../roundup/cgi/client.py:670 ../roundup/cgi/client.py:1570 +#: ../roundup/cgi/client.py:670:1570 +msgid "Required Header Missing" +msgstr "" + +#: ../roundup/cgi/client.py:672 #, fuzzy msgid "Client is not allowed to use Rest Interface." msgstr "匿名用户不允许使用 web 界面" -#: ../roundup/cgi/client.py:895 +#: ../roundup/cgi/client.py:921 msgid "Form Error: " msgstr "表格错误:" -#: ../roundup/cgi/client.py:985 +#: ../roundup/cgi/client.py:1011 #, python-format msgid "Unrecognized charset: %r" msgstr "无法识别的字符集:%r" -#: ../roundup/cgi/client.py:1238 ../roundup/cgi/client.py:2196 -#: ../roundup/cgi/client.py:1238:2196 +#: ../roundup/cgi/client.py:1264 ../roundup/cgi/client.py:2250 +#: ../roundup/cgi/client.py:1264:2250 msgid "broken form: multiple @action values submitted" msgstr "" -#: ../roundup/cgi/client.py:1253 +#: ../roundup/cgi/client.py:1279 msgid "Anonymous users are not allowed to use the web interface" msgstr "匿名用户不允许使用 web 界面" -#: ../roundup/cgi/client.py:1376 +#: ../roundup/cgi/client.py:1430 msgid "Referer header not available." msgstr "" -#: ../roundup/cgi/client.py:1380 +#: ../roundup/cgi/client.py:1434 #, python-format msgid "csrf key used with wrong method from: %s" msgstr "" -#: ../roundup/cgi/client.py:1409 +#: ../roundup/cgi/client.py:1463 #, python-format msgid "csrf header %(header)s required but missing for user%(userid)s." msgstr "" -#: ../roundup/cgi/client.py:1413 +#: ../roundup/cgi/client.py:1467 #, python-format msgid "Missing header: %s" msgstr "" -#: ../roundup/cgi/client.py:1421 +#: ../roundup/cgi/client.py:1475 #, python-format msgid "csrf Referer header check failed for user%(userid)s. Value=%(referer)s" msgstr "" -#: ../roundup/cgi/client.py:1426 +#: ../roundup/cgi/client.py:1480 #, fuzzy, python-format msgid "Invalid Referer: %s" msgstr "无效登录" -#: ../roundup/cgi/client.py:1441 +#: ../roundup/cgi/client.py:1495 #, python-format msgid "csrf Origin header check failed for user%(userid)s. Value=%(origin)s" msgstr "" -#: ../roundup/cgi/client.py:1446 +#: ../roundup/cgi/client.py:1500 #, fuzzy, python-format msgid "Invalid Origin %s" msgstr "无效登录" -#: ../roundup/cgi/client.py:1460 +#: ../roundup/cgi/client.py:1514 #, python-format msgid "" "csrf X-FORWARDED-HOST header check failed for user%(userid)s. Value=%(host)s" msgstr "" -#: ../roundup/cgi/client.py:1466 +#: ../roundup/cgi/client.py:1520 #, python-format msgid "Invalid X-FORWARDED-HOST %s" msgstr "" -#: ../roundup/cgi/client.py:1485 +#: ../roundup/cgi/client.py:1539 #, python-format msgid "csrf HOST header check failed for user%(userid)s. Value=%(host)s" msgstr "" -#: ../roundup/cgi/client.py:1490 +#: ../roundup/cgi/client.py:1544 #, fuzzy, python-format msgid "Invalid HOST %s" msgstr "无效请求" -#: ../roundup/cgi/client.py:1498 +#: ../roundup/cgi/client.py:1552 msgid "Csrf: unable to verify sufficient headers" msgstr "" -#: ../roundup/cgi/client.py:1499 +#: ../roundup/cgi/client.py:1553 msgid "Unable to verify sufficient headers" msgstr "" -#: ../roundup/cgi/client.py:1513 +#: ../roundup/cgi/client.py:1567 #, python-format msgid "csrf X-REQUESTED-WITH xmlrpc required header check failed for user%s." msgstr "" -#: ../roundup/cgi/client.py:1516 -msgid "Required Header Missing" -msgstr "" - -#: ../roundup/cgi/client.py:1554 +#: ../roundup/cgi/client.py:1608 #, python-format msgid "Required csrf field missing for user%s" msgstr "" -#: ../roundup/cgi/client.py:1556 ../roundup/cgi/client.py:1583 -#: ../roundup/cgi/client.py:1600 ../roundup/cgi/client.py:1556:1583:1600 +#: ../roundup/cgi/client.py:1610 ../roundup/cgi/client.py:1637 +#: ../roundup/cgi/client.py:1654 ../roundup/cgi/client.py:1610:1637:1654 msgid "" "We can't validate your session (csrf failure). Re-enter any unsaved data and " "try again." msgstr "" -#: ../roundup/cgi/client.py:1560 +#: ../roundup/cgi/client.py:1614 #, python-format msgid "csrf field not supplied by user%s" msgstr "" -#: ../roundup/cgi/client.py:1572 +#: ../roundup/cgi/client.py:1626 #, 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:1590 +#: ../roundup/cgi/client.py:1644 #, 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:1784 +#: ../roundup/cgi/client.py:1838 msgid "You are not allowed to view this file." msgstr "你没有查看此文件的权限" -#: ../roundup/cgi/client.py:2073 +#: ../roundup/cgi/client.py:2127 #, python-format msgid "%(starttag)sTime elapsed: %(seconds)fs%(endtag)s\n" msgstr "" -#: ../roundup/cgi/client.py:2077 +#: ../roundup/cgi/client.py:2131 #, 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:2615 +#: ../roundup/cgi/client.py:2669 #, python-format msgid "" "Cache failure: compressed file %(compressed)s is older than its source file " @@ -2256,28 +2271,28 @@ msgid "\"%s\" not a node designator" msgstr "" -#: ../roundup/hyperdb.py:1492 ../roundup/hyperdb.py:1500 -#: ../roundup/hyperdb.py:1492:1500 +#: ../roundup/hyperdb.py:1493 ../roundup/hyperdb.py:1501 +#: ../roundup/hyperdb.py:1493:1501 #, python-format msgid "Not a property name: %s" msgstr "不是属性名: %s" -#: ../roundup/hyperdb.py:1977 +#: ../roundup/hyperdb.py:1978 #, fuzzy, python-format msgid "property %(property)s: %(value)r is not a %(classname)s." msgstr "属性 \"%(propname)s\": \"%(value)s\" 当前不在列表中" -#: ../roundup/hyperdb.py:1983 +#: ../roundup/hyperdb.py:1984 #, python-format msgid "you may only enter ID values for property %s" msgstr "" -#: ../roundup/hyperdb.py:2018 +#: ../roundup/hyperdb.py:2019 #, python-format msgid "%(property)r is not a property of %(classname)s" msgstr "" -#: ../roundup/init.py:139 +#: ../roundup/init.py:141 #, python-format msgid "" "WARNING: directory '%s'\n" @@ -2498,7 +2513,7 @@ " %(errors)s\n" msgstr "" -#: ../roundup/mailgw.py:1820 +#: ../roundup/mailgw.py:1821 #, python-format msgid "" "\n" @@ -2521,19 +2536,19 @@ msgid "Invalid attribute %s" msgstr "无效登录" -#: ../roundup/rest.py:2078 +#: ../roundup/rest.py:2090 #, python-format msgid "Api rate limits exceeded. Please wait: %s seconds." msgstr "" -#: ../roundup/rest.py:2113 +#: ../roundup/rest.py:2125 #, python-format msgid "" "Unable to parse Accept Header. %(error)s. Acceptable types: " "%(acceptable_types)s" msgstr "" -#: ../roundup/rest.py:2262 +#: ../roundup/rest.py:2305 #, python-format msgid "" "Unrecognized api version: %s. See /rest without specifying api version for " @@ -2656,27 +2671,27 @@ msgid "No tracker templates found in directory %s" msgstr "" -#: ../roundup/scripts/roundup_mailgw.py:185 +#: ../roundup/scripts/roundup_mailgw.py:182 msgid "" "\n" "Error: The instance home must be specified" msgstr "" -#: ../roundup/scripts/roundup_mailgw.py:203 +#: ../roundup/scripts/roundup_mailgw.py:200 #, fuzzy msgid "" "\n" "Error: not enough source specification information" msgstr "错误:没有足够的源协议信息" -#: ../roundup/scripts/roundup_mailgw.py:234 +#: ../roundup/scripts/roundup_mailgw.py:231 #, fuzzy, python-format msgid "" "\n" "Error: %s specification not valid" msgstr "错误:pop协议无效" -#: ../roundup/scripts/roundup_mailgw.py:258 +#: ../roundup/scripts/roundup_mailgw.py:254 #, fuzzy msgid "" "\n" @@ -2689,7 +2704,7 @@ msgid "WARNING: generating temporary SSL certificate" msgstr "" -#: ../roundup/scripts/roundup_server.py:329 +#: ../roundup/scripts/roundup_server.py:331 msgid "" "<html><head><title>Roundup trackers index</title></head>\n" "<body><h1>Roundup trackers index</h1><ol>\n" @@ -2697,58 +2712,58 @@ "<html><head><title>Roundup tracker 索引</title></head>\n" "<body><h1>Roundup tracker 索引</h1><ol>\n" -#: ../roundup/scripts/roundup_server.py:549 +#: ../roundup/scripts/roundup_server.py:551 #, fuzzy, python-format msgid "Error: %(type)s: %(value)s" msgstr "%(key)s: %(value)s" -#: ../roundup/scripts/roundup_server.py:561 +#: ../roundup/scripts/roundup_server.py:563 msgid "WARNING: ignoring \"-g\" argument, not root" msgstr "警告:忽略 \"-g\" 参数,不是 root" -#: ../roundup/scripts/roundup_server.py:567 +#: ../roundup/scripts/roundup_server.py:569 msgid "Can't change groups - no grp module" msgstr "不能修改组 - 无 grp 模块" -#: ../roundup/scripts/roundup_server.py:576 +#: ../roundup/scripts/roundup_server.py:578 #, python-format msgid "Group %(group)s doesn't exist" msgstr "组 %(group)s 不存在" -#: ../roundup/scripts/roundup_server.py:588 +#: ../roundup/scripts/roundup_server.py:590 msgid "Can't run as root!" msgstr "不能以 root 运行!" -#: ../roundup/scripts/roundup_server.py:591 +#: ../roundup/scripts/roundup_server.py:593 msgid "WARNING: ignoring \"-u\" argument, not root" msgstr "警告:忽略 \"-u\" 参数,不是 root" -#: ../roundup/scripts/roundup_server.py:597 +#: ../roundup/scripts/roundup_server.py:599 msgid "Can't change users - no pwd module" msgstr "不能修改用户 - 无 pwd 模块" -#: ../roundup/scripts/roundup_server.py:606 +#: ../roundup/scripts/roundup_server.py:608 #, python-format msgid "User %(user)s doesn't exist" msgstr "用户 %(user)s 不存在" -#: ../roundup/scripts/roundup_server.py:803 +#: ../roundup/scripts/roundup_server.py:805 #, python-format msgid "Multiprocess mode \"%s\" is not available, switching to single-process" msgstr "" -#: ../roundup/scripts/roundup_server.py:830 +#: ../roundup/scripts/roundup_server.py:832 #, python-format msgid "Unable to bind to port %s, port already in use." msgstr "无法绑定到端口 %s, 端口已经被占用。" -#: ../roundup/scripts/roundup_server.py:834 +#: ../roundup/scripts/roundup_server.py:836 #, 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:913 +#: ../roundup/scripts/roundup_server.py:915 #, fuzzy msgid "" " -c <Command> Windows Service options.\n" @@ -2765,7 +2780,7 @@ " 变量上配置一个tracker。这个选项与其经选项是互斥的。打入\n" " \"roundup-server -c help\" 来了解Windows服务的规范。" -#: ../roundup/scripts/roundup_server.py:920 +#: ../roundup/scripts/roundup_server.py:922 msgid "" " -u <UID> runs the Roundup web server as this UID\n" " -g <GID> runs the Roundup web server as this GID\n" @@ -2779,7 +2794,7 @@ "去。\n" " 如果使用了 -d 选项,则 -l 选项 *必须* 要指定。" -#: ../roundup/scripts/roundup_server.py:927 +#: ../roundup/scripts/roundup_server.py:929 #, fuzzy, python-format msgid "" "\n" @@ -2875,20 +2890,20 @@ " 意数量的 name=home 对。要确保 name 部分不能包括任何非url安全的\n" " 字符,象空格,因为它们会把IE搞乱。\n" -#: ../roundup/scripts/roundup_server.py:1103 +#: ../roundup/scripts/roundup_server.py:1105 msgid "Instances must be name=home" msgstr "实例必须是 实例名=实例路径" -#: ../roundup/scripts/roundup_server.py:1117 +#: ../roundup/scripts/roundup_server.py:1119 #, python-format msgid "Configuration saved to %s" msgstr "配置保存到 %s" -#: ../roundup/scripts/roundup_server.py:1135 +#: ../roundup/scripts/roundup_server.py:1137 msgid "Sorry, you can't run the server as a daemon on this Operating System" msgstr "抱歉,在这个操作系统上不能以守护进程的方式来运行服务" -#: ../roundup/scripts/roundup_server.py:1155 +#: ../roundup/scripts/roundup_server.py:1157 #, python-format msgid "Roundup server started on %(HOST)s:%(PORT)s" msgstr "Roundup server 启动于 %(HOST)s:%(PORT)s" @@ -5344,6 +5359,9 @@ msgid "Password" msgstr "登录密码" +#~ msgid "roundup> " +#~ msgstr "roundup>" + #, fuzzy #~ msgid "" #~ "Usage: %(program)s [-v] [-c class] [[-C class] -S field=value]* [instance "
--- a/locale/zh_TW.po Wed Mar 01 10:43:54 2023 -0500 +++ b/locale/zh_TW.po Wed Mar 01 10:51:37 2023 -0500 @@ -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: 2022-11-23 22:28-0500\n" +"POT-Creation-Date: 2023-03-01 10:35-0500\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" @@ -25,24 +25,24 @@ "You do not have permission to retire or restore the %(classname)s class." msgstr "你沒有權限來 %(action)s %(classname)s 類型。" -#: ../roundup/actions.py:64 ../roundup/cgi/actions.py:240 +#: ../roundup/actions.py:65 ../roundup/cgi/actions.py:240 msgid "You may not retire the admin or anonymous user" msgstr "你不能刪除管理員或匿名用戶" # ../roundup/admin.py:84 :943 :992 :1014 -#: ../roundup/admin.py:106 ../roundup/admin.py:1259 ../roundup/admin.py:1314 -#: ../roundup/admin.py:1341 ../roundup/admin.py:106:1259 :1314:1341 +#: ../roundup/admin.py:112 ../roundup/admin.py:1295 ../roundup/admin.py:1350 +#: ../roundup/admin.py:1377 ../roundup/admin.py:112:1295 :1350:1377 #, python-format msgid "no such class \"%(classname)s\"" msgstr "無此類別 \"%(classname)s\"" # ../roundup/admin.py:94 :98 -#: ../roundup/admin.py:118 +#: ../roundup/admin.py:124 #, python-format msgid "argument \"%(arg)s\" not propname=value" msgstr "參數 \"%(arg)s\" 不是 propname=value 的形式" -#: ../roundup/admin.py:131 +#: ../roundup/admin.py:137 #, python-format msgid "" "Problem: %(message)s\n" @@ -51,7 +51,7 @@ "問題: %(message)s\n" "\n" -#: ../roundup/admin.py:132 +#: ../roundup/admin.py:138 #, fuzzy, python-format msgid "" "%(message)sUsage: roundup-admin [options] [<command> <arguments>]\n" @@ -98,12 +98,12 @@ " roundup-admin help <command> -- 命令詳解說明\n" " roundup-admin help all -- 所有可用的說明\n" -#: ../roundup/admin.py:159 +#: ../roundup/admin.py:165 #, fuzzy msgid "Commands: " msgstr "命令:" -#: ../roundup/admin.py:166 +#: ../roundup/admin.py:172 msgid "" "Commands may be abbreviated as long as the abbreviation\n" "matches only one command, e.g. l == li == lis == list." @@ -111,7 +111,8 @@ "命令可以被縮寫,只要縮寫只有一個命令可以匹配上,\n" "如:l == li == lis == list." -#: ../roundup/admin.py:195 +#: ../roundup/admin.py:201 +#, fuzzy msgid "" "\n" "All commands (except help) require a tracker specifier. This is just\n" @@ -163,7 +164,7 @@ " . ROUNDUP_LOGIN environment variable\n" " . the -u command-line option\n" "If either the name or password is not supplied, they are obtained from the\n" -"command-line.\n" +"command-line. (See admin guide before using -u.)\n" "\n" "Date format examples:\n" " \"2000-04-17.03:45\" means <Date 2000-04-17.08:45:00>\n" @@ -233,12 +234,12 @@ "\n" "使用說明:\n" -#: ../roundup/admin.py:258 +#: ../roundup/admin.py:264 #, python-format msgid "%s:" msgstr "" -#: ../roundup/admin.py:265 +#: ../roundup/admin.py:271 msgid "" "Usage: help topic\n" " Give help about topic.\n" @@ -258,22 +259,22 @@ " all -- 所有可用的說明\n" " " -#: ../roundup/admin.py:287 +#: ../roundup/admin.py:293 #, python-format msgid "Sorry, no help for \"%(topic)s\"" msgstr "抱歉,沒有對 \"%(topic)s\" 的說明信息" # ../roundup/admin.py:337 :387 -#: ../roundup/admin.py:402 ../roundup/admin.py:458 ../roundup/admin.py:402:458 +#: ../roundup/admin.py:408 ../roundup/admin.py:464 ../roundup/admin.py:408:464 msgid "Templates:" msgstr "模板:" # ../roundup/admin.py:340 :398 -#: ../roundup/admin.py:405 ../roundup/admin.py:468 ../roundup/admin.py:405:468 +#: ../roundup/admin.py:411 ../roundup/admin.py:474 ../roundup/admin.py:411:474 msgid "Back ends:" msgstr "後端:" -#: ../roundup/admin.py:408 +#: ../roundup/admin.py:414 #, fuzzy msgid "" "Usage: install [template [backend [key=val[,key=val]]]]\n" @@ -315,23 +316,23 @@ # ../roundup/admin.py:359 :494 :573 :623 :676 :697 :725 :796 :863 :934 :982 # :1004 :1031 :1093 :1159 -#: ../roundup/admin.py:431 ../roundup/admin.py:562 ../roundup/admin.py:635 -#: ../roundup/admin.py:728 ../roundup/admin.py:786 ../roundup/admin.py:872 -#: ../roundup/admin.py:931 ../roundup/admin.py:958 ../roundup/admin.py:985 -#: ../roundup/admin.py:1062 ../roundup/admin.py:1157 ../roundup/admin.py:1243 -#: ../roundup/admin.py:1304 ../roundup/admin.py:1331 ../roundup/admin.py:1367 -#: ../roundup/admin.py:1495 ../roundup/admin.py:1579 -#: ../roundup/admin.py:431:562 :1157 :1243:1304 :1331:1367 :1495:1579 :635:728 -#: :786:872 :931:958 :985:1062 +#: ../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:437 +#: ../roundup/admin.py:443 #, python-format msgid "Instance home parent directory \"%(parent)s\" does not exist" msgstr "實例目錄的父目錄 \"%(parent)s\" 不存在" -#: ../roundup/admin.py:446 +#: ../roundup/admin.py:452 #, python-format msgid "" "WARNING: There appears to be a tracker in \"%(tracker_home)s\"!\n" @@ -342,22 +343,22 @@ "如果你打算重新安裝它,所有的數據將會丟失!\n" "刪除它嗎?Y/N: " -#: ../roundup/admin.py:459 +#: ../roundup/admin.py:465 #, fuzzy msgid "Select template" msgstr "選擇模板 [classic]:" -#: ../roundup/admin.py:469 +#: ../roundup/admin.py:475 #, fuzzy msgid "Select backend" msgstr "選擇後端 [anydbm]:" -#: ../roundup/admin.py:480 +#: ../roundup/admin.py:486 #, fuzzy, python-format msgid "Error in configuration settings: \"%s\"" msgstr "配置保存到 %s" -#: ../roundup/admin.py:511 +#: ../roundup/admin.py:517 #, fuzzy, python-format msgid "" "\n" @@ -369,11 +370,11 @@ " 現在你應該修改tracker的配置文件:\n" " %(config_file)s" -#: ../roundup/admin.py:521 +#: ../roundup/admin.py:527 msgid " ... at a minimum, you must set following options:" msgstr " ... 至少,你必須設置以下選項:" -#: ../roundup/admin.py:526 +#: ../roundup/admin.py:532 #, fuzzy, python-format msgid "" "\n" @@ -397,7 +398,7 @@ " %(database_init_file)s\n" " ... 查看關於客戶化的文檔來瞭解更多的信息。\n" -#: ../roundup/admin.py:557 +#: ../roundup/admin.py:563 msgid "" "Usage: genconfig <filename>\n" " Generate a new tracker config file (ini style) with default\n" @@ -405,7 +406,22 @@ " " msgstr "" -#: ../roundup/admin.py:572 +#: ../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 msgid "" "Usage: updateconfig <filename>\n" " Generate an updated tracker config file (ini style) in\n" @@ -415,7 +431,7 @@ msgstr "" #. password -#: ../roundup/admin.py:580 +#: ../roundup/admin.py:612 msgid "" "Usage: initialise [adminpw]\n" " Initialise a new Roundup tracker.\n" @@ -433,23 +449,23 @@ " 執行tracker的初始化函數 dbinit.init()\n" " " -#: ../roundup/admin.py:594 +#: ../roundup/admin.py:626 msgid "Admin Password: " msgstr "管理員口令:" -#: ../roundup/admin.py:595 +#: ../roundup/admin.py:627 msgid " Confirm: " msgstr " 確認:" -#: ../roundup/admin.py:599 +#: ../roundup/admin.py:631 msgid "Instance home does not exist" msgstr "實例目錄不存在" -#: ../roundup/admin.py:603 +#: ../roundup/admin.py:635 msgid "Instance has not been installed" msgstr "實例還沒有安裝" -#: ../roundup/admin.py:609 +#: ../roundup/admin.py:641 msgid "" "WARNING: The database is already initialised!\n" "If you re-initialise it, you will lose all the data!\n" @@ -459,7 +475,7 @@ "如果你重新初始化它,所有的數據將會丟失!\n" "刪除它嗎?Y/N: " -#: ../roundup/admin.py:625 +#: ../roundup/admin.py:661 #, fuzzy msgid "" "Usage: get property designator[,designator]*\n" @@ -479,24 +495,24 @@ " " # ../roundup/admin.py:527 :542 -#: ../roundup/admin.py:669 ../roundup/admin.py:687 ../roundup/admin.py:669:687 +#: ../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:697 ../roundup/admin.py:1261 ../roundup/admin.py:1316 -#: ../roundup/admin.py:697:1261:1316 +#: ../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 "沒有這樣的 %(classname)s 結點 \"%(nodeid)s\"" -#: ../roundup/admin.py:700 +#: ../roundup/admin.py:736 #, python-format msgid "no such %(classname)s property \"%(propname)s\"" msgstr "沒有這樣的 %(classname)s 屬性 \"%(propname)s\"" -#: ../roundup/admin.py:708 +#: ../roundup/admin.py:744 #, fuzzy msgid "" "Usage: set items property=value property=value ...\n" @@ -529,7 +545,7 @@ " 你需要為多鏈接提供用逗號分隔的數字(例如 \"1,2,3\")。\n" " " -#: ../roundup/admin.py:776 +#: ../roundup/admin.py:812 #, fuzzy msgid "" "Usage: filter classname propname=value ...\n" @@ -551,20 +567,20 @@ " " # ../roundup/admin.py:663 :816 :828 :882 -#: ../roundup/admin.py:819 +#: ../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:857 ../roundup/admin.py:918 ../roundup/admin.py:1082 -#: ../roundup/admin.py:1094 ../roundup/admin.py:1177 -#: ../roundup/admin.py:857:918 :1082:1094:1177 +#: ../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:864 +#: ../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" @@ -582,7 +598,7 @@ " 或者是結點的鍵值。\n" " " -#: ../roundup/admin.py:925 +#: ../roundup/admin.py:961 msgid "" "Usage: specification classname\n" " Show the properties for a classname.\n" @@ -596,17 +612,17 @@ " 會列出給定類型的屬性。\n" " " -#: ../roundup/admin.py:941 +#: ../roundup/admin.py:977 #, fuzzy, python-format msgid "%(key)s: %(value)s (key property)\n" msgstr "%(key)s: %(value)s (關鍵屬性)" -#: ../roundup/admin.py:944 +#: ../roundup/admin.py:980 #, fuzzy, python-format msgid "%(key)s: %(value)s\n" msgstr "%(key)s: %(value)s (關鍵屬性)" -#: ../roundup/admin.py:947 +#: ../roundup/admin.py:983 #, fuzzy msgid "" "Usage: display designator[,designator]*\n" @@ -626,12 +642,12 @@ " 將顯示給出結點的屬性和相應的值。\n" " " -#: ../roundup/admin.py:974 +#: ../roundup/admin.py:1010 #, python-format msgid "%(key)s: %(value)s" msgstr "" -#: ../roundup/admin.py:977 +#: ../roundup/admin.py:1013 msgid "" "Usage: create classname property=value ...\n" " Create a new entry of a given class.\n" @@ -649,31 +665,31 @@ "name=value 參數。\n" " " -#: ../roundup/admin.py:1005 +#: ../roundup/admin.py:1041 #, python-format msgid "%(propname)s (Password): " msgstr "%(propname)s (口令):" -#: ../roundup/admin.py:1008 +#: ../roundup/admin.py:1044 #, python-format msgid " %(propname)s (Again): " msgstr " %(propname)s (再次):" -#: ../roundup/admin.py:1012 +#: ../roundup/admin.py:1048 msgid "Sorry, try again..." msgstr "抱歉,再試一次..." -#: ../roundup/admin.py:1016 +#: ../roundup/admin.py:1052 #, python-format msgid "%(propname)s (%(proptype)s): " msgstr "" -#: ../roundup/admin.py:1035 +#: ../roundup/admin.py:1071 #, python-format msgid "you must provide the \"%(propname)s\" property." msgstr "你必須提供 \"%(propname)s\" 屬性。" -#: ../roundup/admin.py:1047 +#: ../roundup/admin.py:1083 msgid "" "Usage: list classname [property]\n" " List the instances of a class.\n" @@ -699,16 +715,16 @@ " 定了屬性,對每個類型實例會列印出這個屬性。\n" " " -#: ../roundup/admin.py:1060 +#: ../roundup/admin.py:1096 msgid "Too many arguments supplied" msgstr "提供了太多的參數了" -#: ../roundup/admin.py:1096 +#: ../roundup/admin.py:1132 #, python-format msgid "%(nodeid)4s: %(value)s" msgstr "" -#: ../roundup/admin.py:1100 +#: ../roundup/admin.py:1136 msgid "" "Usage: templates [trace_search]\n" " List templates and their installed directories.\n" @@ -718,7 +734,7 @@ " " msgstr "" -#: ../roundup/admin.py:1128 +#: ../roundup/admin.py:1164 msgid "" "Usage: table classname [property[,property]*]\n" " List the instances of a class in tabular form.\n" @@ -776,17 +792,17 @@ " 將生成4個字符寬的 \"Name\" 列。\n" " " -#: ../roundup/admin.py:1172 +#: ../roundup/admin.py:1208 #, python-format msgid "\"%(spec)s\" not name:width" msgstr "\"%(spec)s\" 不是 名字:寬度" -#: ../roundup/admin.py:1194 +#: ../roundup/admin.py:1230 #, python-format msgid "\"%(spec)s\" does not have an integer width: \"%(width)s\"" msgstr "" -#: ../roundup/admin.py:1230 +#: ../roundup/admin.py:1266 msgid "" "Usage: history designator [skipquiet]\n" " Show the history entries of a designator.\n" @@ -801,7 +817,7 @@ " " msgstr "" -#: ../roundup/admin.py:1266 +#: ../roundup/admin.py:1302 msgid "" "Usage: commit\n" " Commit changes made to the database during an interactive session.\n" @@ -822,7 +838,7 @@ " 在命令行中的 One-off 命令如果成功會被自動提交。\n" " " -#: ../roundup/admin.py:1281 +#: ../roundup/admin.py:1317 msgid "" "Usage: rollback\n" " Undo all changes that are pending commit to the database.\n" @@ -841,7 +857,7 @@ " 產生變化。\n" " " -#: ../roundup/admin.py:1294 +#: ../roundup/admin.py:1330 #, fuzzy msgid "" "Usage: retire designator[,designator]*\n" @@ -861,7 +877,7 @@ " 它的鍵值可以被重用。\n" " " -#: ../roundup/admin.py:1322 +#: ../roundup/admin.py:1358 #, fuzzy msgid "" "Usage: restore designator[,designator]*\n" @@ -880,13 +896,13 @@ " " # ../roundup/admin.py:550 :945 :994 :1016 -#: ../roundup/admin.py:1347 +#: ../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:1353 +#: ../roundup/admin.py:1389 #, fuzzy msgid "" "Usage: export [[-]class[,class]] export_dir\n" @@ -911,7 +927,7 @@ " 放在指定的目標目錄中。\n" " " -#: ../roundup/admin.py:1460 +#: ../roundup/admin.py:1496 #, fuzzy msgid "" "Usage: exporttables [[-]class[,class]] export_dir\n" @@ -937,7 +953,7 @@ " 放在指定的目標目錄中。\n" " " -#: ../roundup/admin.py:1475 +#: ../roundup/admin.py:1511 msgid "" "Usage: import import_dir\n" " Import a database from the directory containing CSV files,\n" @@ -977,7 +993,7 @@ " 舊數據。)\n" " " -#: ../roundup/admin.py:1554 +#: ../roundup/admin.py:1590 msgid "" "Usage: importtables export_dir\n" "\n" @@ -985,7 +1001,7 @@ " " msgstr "" -#: ../roundup/admin.py:1561 +#: ../roundup/admin.py:1597 msgid "" "Usage: pack period | date\n" "\n" @@ -1023,11 +1039,11 @@ "\n" " " -#: ../roundup/admin.py:1589 +#: ../roundup/admin.py:1625 msgid "Invalid format" msgstr "無效的格式" -#: ../roundup/admin.py:1602 +#: ../roundup/admin.py:1638 msgid "" "Usage: reindex [classname|designator]*\n" " Re-generate a tracker's search indexes.\n" @@ -1042,12 +1058,12 @@ " 重新生成 tracker 的搜索索引,它將自動進行。\n" " " -#: ../roundup/admin.py:1616 +#: ../roundup/admin.py:1652 #, python-format msgid "no such item \"%(designator)s\"" msgstr "沒有這樣的條目 \"%(designator)s\"" -#: ../roundup/admin.py:1626 +#: ../roundup/admin.py:1662 #, fuzzy msgid "" "Usage: security [Role name]\n" @@ -1059,47 +1075,47 @@ " 顯示一個或多個角色的權限。\n" " " -#: ../roundup/admin.py:1635 +#: ../roundup/admin.py:1671 #, fuzzy, python-format msgid "No such Role \"%(role)s\"\n" msgstr "沒有這樣的角色 \"%(role)s\"" -#: ../roundup/admin.py:1641 +#: ../roundup/admin.py:1677 #, fuzzy, python-format msgid "New Web users get the Roles \"%(role)s\"\n" msgstr "新Web用戶得到角色 \"%(role)s\"" -#: ../roundup/admin.py:1644 +#: ../roundup/admin.py:1680 #, fuzzy, python-format msgid "New Web users get the Role \"%(role)s\"\n" msgstr "新Web用戶得到角色 \"%(role)s\"" -#: ../roundup/admin.py:1648 +#: ../roundup/admin.py:1684 #, fuzzy, python-format msgid "New Email users get the Roles \"%(role)s\"\n" msgstr "新郵件用戶得到角色 \"%(role)s\"" -#: ../roundup/admin.py:1650 +#: ../roundup/admin.py:1686 #, fuzzy, python-format msgid "New Email users get the Role \"%(role)s\"\n" msgstr "新郵件用戶得到角色 \"%(role)s\"" -#: ../roundup/admin.py:1653 +#: ../roundup/admin.py:1689 #, fuzzy, python-format msgid "Role \"%(name)s\":\n" msgstr "角色 \"%(name)s\":" -#: ../roundup/admin.py:1659 +#: ../roundup/admin.py:1695 #, fuzzy msgid " %(description)s (%(name)s for \"%(klass)s\"" msgstr " %(description)s (%(name)s 僅用於 \"%(klass)s\")" -#: ../roundup/admin.py:1659 +#: ../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:1672 +#: ../roundup/admin.py:1708 #, python-format msgid "" "\n" @@ -1107,17 +1123,17 @@ "\n" msgstr "" -#: ../roundup/admin.py:1678 +#: ../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:1681 +#: ../roundup/admin.py:1717 #, fuzzy, python-format msgid " %(description)s (%(name)s)\n" msgstr " %(description)s (%(name)s 僅用於 \"%(klass)s\")" -#: ../roundup/admin.py:1685 +#: ../roundup/admin.py:1721 msgid "" "Usage: migrate\n" "\n" @@ -1141,43 +1157,43 @@ " " msgstr "" -#: ../roundup/admin.py:1706 +#: ../roundup/admin.py:1742 #, fuzzy msgid "Tracker updated" msgstr "Tracker根目錄" -#: ../roundup/admin.py:1709 +#: ../roundup/admin.py:1745 msgid "No migration action required" msgstr "" -#: ../roundup/admin.py:1735 +#: ../roundup/admin.py:1771 #, python-format msgid "Unknown command \"%(command)s\" (\"help commands\" for a list)" msgstr "未知命令 \"%(command)s\" (\"help commands\" 查看命令列表)" -#: ../roundup/admin.py:1741 +#: ../roundup/admin.py:1777 #, python-format msgid "Multiple commands match \"%(command)s\": %(list)s" msgstr "多命令匹配 \"%(command)s\": %(list)s" -#: ../roundup/admin.py:1750 +#: ../roundup/admin.py:1786 msgid "Enter tracker home: " msgstr "輸入tracker起始目錄:" # ../roundup/admin.py:1279 :1285 :1305 -#: ../roundup/admin.py:1759 ../roundup/admin.py:1765 ../roundup/admin.py:1802 -#: ../roundup/admin.py:1759:1765:1802 +#: ../roundup/admin.py:1795 ../roundup/admin.py:1801 ../roundup/admin.py:1838 +#: ../roundup/admin.py:1795:1801:1838 #, python-format msgid "Error: %(message)s" msgstr "錯誤:%(message)s" -#: ../roundup/admin.py:1775 ../roundup/admin.py:1779 -#: ../roundup/admin.py:1775:1779 +#: ../roundup/admin.py:1811 ../roundup/admin.py:1815 +#: ../roundup/admin.py:1811:1815 #, python-format msgid "Error: Couldn't open tracker: %(message)s" msgstr "錯誤:不能打開tracker:%(message)s" -#: ../roundup/admin.py:1815 +#: ../roundup/admin.py:1851 #, python-format msgid "" "Roundup %s ready for input.\n" @@ -1186,19 +1202,15 @@ "Roundup %s 輸入就緒。\n" "敲入 \"help\" 獲得說明。" -#: ../roundup/admin.py:1820 +#: ../roundup/admin.py:1856 msgid "Note: command history and editing not available" msgstr "注意:命令歷史和編輯無效" -#: ../roundup/admin.py:1824 -msgid "roundup> " -msgstr "" - -#: ../roundup/admin.py:1826 +#: ../roundup/admin.py:1862 msgid "exit..." msgstr "退出..." -#: ../roundup/admin.py:1839 +#: ../roundup/admin.py:1875 msgid "There are unsaved changes. Commit them (y/N)? " msgstr "存在未被保存的改動。提交嗎(y/N)?" @@ -1306,20 +1318,22 @@ msgid "restored" msgstr "恢復" -#: ../roundup/backends/sessions_redis.py:76 -#: ../roundup/backends/sessions_redis.py:95 -#: ../roundup/backends/sessions_redis.py:76:95 +#: ../roundup/backends/sessions_redis.py:78 +#: ../roundup/backends/sessions_redis.py:97 +#: ../roundup/backends/sessions_redis.py:78:97 #, python-format msgid "Key %(key)s not found in %(name)s database." msgstr "" -#: ../roundup/backends/sessions_redis.py:191 +#: ../roundup/backends/sessions_redis.py:193 #, python-format msgid "Key %(key)s changed in %(name)s db" msgstr "" -#: ../roundup/backends/sessions_redis.py:195 -msgid "Redis set failed afer 3 retries" +#: ../roundup/backends/sessions_redis.py:203 +#, python-format +msgid "" +"Redis set failed after %(retries)d retries for user %(user)s with key %(key)s" msgstr "" #: ../roundup/cgi/actions.py:97 @@ -1629,22 +1643,22 @@ msgid "Welcome %(username)s!" msgstr "" -#: ../roundup/cgi/actions.py:1383 ../roundup/cgi/actions.py:1387 -#: ../roundup/cgi/actions.py:1383:1387 +#: ../roundup/cgi/actions.py:1384 ../roundup/cgi/actions.py:1388 +#: ../roundup/cgi/actions.py:1384:1388 msgid "Invalid login" msgstr "無效登錄" -#: ../roundup/cgi/actions.py:1393 +#: ../roundup/cgi/actions.py:1394 msgid "You do not have permission to login" msgstr "你沒有登錄的權限" -#: ../roundup/cgi/actions.py:1437 ../roundup/cgi/actions.py:1616 -#: ../roundup/cgi/actions.py:1437:1616 +#: ../roundup/cgi/actions.py:1439 ../roundup/cgi/actions.py:1618 +#: ../roundup/cgi/actions.py:1439:1618 #, python-format msgid "Column \"%(column)s\" not found in %(class)s" msgstr "" -#: ../roundup/cgi/actions.py:1687 +#: ../roundup/cgi/actions.py:1689 #, fuzzy, python-format msgid "You do not have permission to view %(class)s" msgstr "你沒有權限來編輯 %(class)s" @@ -1741,155 +1755,156 @@ "</body></html>" msgstr "" -#: ../roundup/cgi/client.py:651 +#: ../roundup/cgi/client.py:670 ../roundup/cgi/client.py:1570 +#: ../roundup/cgi/client.py:670:1570 +msgid "Required Header Missing" +msgstr "" + +#: ../roundup/cgi/client.py:672 #, fuzzy msgid "Client is not allowed to use Rest Interface." msgstr "匿名用戶不允許使用web界面" -#: ../roundup/cgi/client.py:895 +#: ../roundup/cgi/client.py:921 msgid "Form Error: " msgstr "表格錯誤:" -#: ../roundup/cgi/client.py:985 +#: ../roundup/cgi/client.py:1011 #, python-format msgid "Unrecognized charset: %r" msgstr "無法識別的字符集:%r" -#: ../roundup/cgi/client.py:1238 ../roundup/cgi/client.py:2196 -#: ../roundup/cgi/client.py:1238:2196 +#: ../roundup/cgi/client.py:1264 ../roundup/cgi/client.py:2250 +#: ../roundup/cgi/client.py:1264:2250 msgid "broken form: multiple @action values submitted" msgstr "" -#: ../roundup/cgi/client.py:1253 +#: ../roundup/cgi/client.py:1279 msgid "Anonymous users are not allowed to use the web interface" msgstr "匿名用戶不允許使用web界面" -#: ../roundup/cgi/client.py:1376 +#: ../roundup/cgi/client.py:1430 msgid "Referer header not available." msgstr "" -#: ../roundup/cgi/client.py:1380 +#: ../roundup/cgi/client.py:1434 #, python-format msgid "csrf key used with wrong method from: %s" msgstr "" -#: ../roundup/cgi/client.py:1409 +#: ../roundup/cgi/client.py:1463 #, python-format msgid "csrf header %(header)s required but missing for user%(userid)s." msgstr "" -#: ../roundup/cgi/client.py:1413 +#: ../roundup/cgi/client.py:1467 #, python-format msgid "Missing header: %s" msgstr "" -#: ../roundup/cgi/client.py:1421 +#: ../roundup/cgi/client.py:1475 #, python-format msgid "csrf Referer header check failed for user%(userid)s. Value=%(referer)s" msgstr "" -#: ../roundup/cgi/client.py:1426 +#: ../roundup/cgi/client.py:1480 #, fuzzy, python-format msgid "Invalid Referer: %s" msgstr "無效登錄" -#: ../roundup/cgi/client.py:1441 +#: ../roundup/cgi/client.py:1495 #, python-format msgid "csrf Origin header check failed for user%(userid)s. Value=%(origin)s" msgstr "" -#: ../roundup/cgi/client.py:1446 +#: ../roundup/cgi/client.py:1500 #, fuzzy, python-format msgid "Invalid Origin %s" msgstr "無效登錄" -#: ../roundup/cgi/client.py:1460 +#: ../roundup/cgi/client.py:1514 #, python-format msgid "" "csrf X-FORWARDED-HOST header check failed for user%(userid)s. Value=%(host)s" msgstr "" -#: ../roundup/cgi/client.py:1466 +#: ../roundup/cgi/client.py:1520 #, python-format msgid "Invalid X-FORWARDED-HOST %s" msgstr "" -#: ../roundup/cgi/client.py:1485 +#: ../roundup/cgi/client.py:1539 #, python-format msgid "csrf HOST header check failed for user%(userid)s. Value=%(host)s" msgstr "" -#: ../roundup/cgi/client.py:1490 +#: ../roundup/cgi/client.py:1544 #, python-format msgid "Invalid HOST %s" msgstr "" -#: ../roundup/cgi/client.py:1498 +#: ../roundup/cgi/client.py:1552 msgid "Csrf: unable to verify sufficient headers" msgstr "" -#: ../roundup/cgi/client.py:1499 +#: ../roundup/cgi/client.py:1553 msgid "Unable to verify sufficient headers" msgstr "" -#: ../roundup/cgi/client.py:1513 +#: ../roundup/cgi/client.py:1567 #, python-format msgid "csrf X-REQUESTED-WITH xmlrpc required header check failed for user%s." msgstr "" -#: ../roundup/cgi/client.py:1516 -msgid "Required Header Missing" -msgstr "" - -#: ../roundup/cgi/client.py:1554 +#: ../roundup/cgi/client.py:1608 #, python-format msgid "Required csrf field missing for user%s" msgstr "" -#: ../roundup/cgi/client.py:1556 ../roundup/cgi/client.py:1583 -#: ../roundup/cgi/client.py:1600 ../roundup/cgi/client.py:1556:1583:1600 +#: ../roundup/cgi/client.py:1610 ../roundup/cgi/client.py:1637 +#: ../roundup/cgi/client.py:1654 ../roundup/cgi/client.py:1610:1637:1654 msgid "" "We can't validate your session (csrf failure). Re-enter any unsaved data and " "try again." msgstr "" -#: ../roundup/cgi/client.py:1560 +#: ../roundup/cgi/client.py:1614 #, python-format msgid "csrf field not supplied by user%s" msgstr "" -#: ../roundup/cgi/client.py:1572 +#: ../roundup/cgi/client.py:1626 #, 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:1590 +#: ../roundup/cgi/client.py:1644 #, 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:1784 +#: ../roundup/cgi/client.py:1838 #, fuzzy msgid "You are not allowed to view this file." msgstr "你不允許查看此頁" -#: ../roundup/cgi/client.py:2073 +#: ../roundup/cgi/client.py:2127 #, python-format msgid "%(starttag)sTime elapsed: %(seconds)fs%(endtag)s\n" msgstr "" -#: ../roundup/cgi/client.py:2077 +#: ../roundup/cgi/client.py:2131 #, 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:2615 +#: ../roundup/cgi/client.py:2669 #, python-format msgid "" "Cache failure: compressed file %(compressed)s is older than its source file " @@ -2259,28 +2274,28 @@ msgid "\"%s\" not a node designator" msgstr "" -#: ../roundup/hyperdb.py:1492 ../roundup/hyperdb.py:1500 -#: ../roundup/hyperdb.py:1492:1500 +#: ../roundup/hyperdb.py:1493 ../roundup/hyperdb.py:1501 +#: ../roundup/hyperdb.py:1493:1501 #, fuzzy, python-format msgid "Not a property name: %s" msgstr "不是日期格式:%s" -#: ../roundup/hyperdb.py:1977 +#: ../roundup/hyperdb.py:1978 #, fuzzy, python-format msgid "property %(property)s: %(value)r is not a %(classname)s." msgstr "屬性 \"%(propname)s\": \"%(value)s\" 當前不在列表中" -#: ../roundup/hyperdb.py:1983 +#: ../roundup/hyperdb.py:1984 #, python-format msgid "you may only enter ID values for property %s" msgstr "" -#: ../roundup/hyperdb.py:2018 +#: ../roundup/hyperdb.py:2019 #, python-format msgid "%(property)r is not a property of %(classname)s" msgstr "" -#: ../roundup/init.py:139 +#: ../roundup/init.py:141 #, python-format msgid "" "WARNING: directory '%s'\n" @@ -2504,7 +2519,7 @@ " %(errors)s\n" msgstr "" -#: ../roundup/mailgw.py:1820 +#: ../roundup/mailgw.py:1821 #, python-format msgid "" "\n" @@ -2527,19 +2542,19 @@ msgid "Invalid attribute %s" msgstr "無效登錄" -#: ../roundup/rest.py:2078 +#: ../roundup/rest.py:2090 #, python-format msgid "Api rate limits exceeded. Please wait: %s seconds." msgstr "" -#: ../roundup/rest.py:2113 +#: ../roundup/rest.py:2125 #, python-format msgid "" "Unable to parse Accept Header. %(error)s. Acceptable types: " "%(acceptable_types)s" msgstr "" -#: ../roundup/rest.py:2262 +#: ../roundup/rest.py:2305 #, python-format msgid "" "Unrecognized api version: %s. See /rest without specifying api version for " @@ -2663,27 +2678,27 @@ msgid "No tracker templates found in directory %s" msgstr "" -#: ../roundup/scripts/roundup_mailgw.py:185 +#: ../roundup/scripts/roundup_mailgw.py:182 msgid "" "\n" "Error: The instance home must be specified" msgstr "" -#: ../roundup/scripts/roundup_mailgw.py:203 +#: ../roundup/scripts/roundup_mailgw.py:200 #, fuzzy msgid "" "\n" "Error: not enough source specification information" msgstr "錯誤:沒有足夠的源協議資訊" -#: ../roundup/scripts/roundup_mailgw.py:234 +#: ../roundup/scripts/roundup_mailgw.py:231 #, fuzzy, python-format msgid "" "\n" "Error: %s specification not valid" msgstr "錯誤:pop協議無效" -#: ../roundup/scripts/roundup_mailgw.py:258 +#: ../roundup/scripts/roundup_mailgw.py:254 #, fuzzy msgid "" "\n" @@ -2696,7 +2711,7 @@ msgid "WARNING: generating temporary SSL certificate" msgstr "" -#: ../roundup/scripts/roundup_server.py:329 +#: ../roundup/scripts/roundup_server.py:331 msgid "" "<html><head><title>Roundup trackers index</title></head>\n" "<body><h1>Roundup trackers index</h1><ol>\n" @@ -2704,58 +2719,58 @@ "<html><head><title>Roundup tracker 索引</title></head>\n" "<body><h1>Roundup tracker 索引</h1><ol>\n" -#: ../roundup/scripts/roundup_server.py:549 +#: ../roundup/scripts/roundup_server.py:551 #, fuzzy, python-format msgid "Error: %(type)s: %(value)s" msgstr "%(key)s: %(value)s (關鍵屬性)" -#: ../roundup/scripts/roundup_server.py:561 +#: ../roundup/scripts/roundup_server.py:563 msgid "WARNING: ignoring \"-g\" argument, not root" msgstr "警告:忽略 \"-g\" 參數,不是 root" -#: ../roundup/scripts/roundup_server.py:567 +#: ../roundup/scripts/roundup_server.py:569 msgid "Can't change groups - no grp module" msgstr "不能修改組 - 無 grp 模塊" -#: ../roundup/scripts/roundup_server.py:576 +#: ../roundup/scripts/roundup_server.py:578 #, python-format msgid "Group %(group)s doesn't exist" msgstr "組 %(group)s 不存在" -#: ../roundup/scripts/roundup_server.py:588 +#: ../roundup/scripts/roundup_server.py:590 msgid "Can't run as root!" msgstr "不能以 root 運行!" -#: ../roundup/scripts/roundup_server.py:591 +#: ../roundup/scripts/roundup_server.py:593 msgid "WARNING: ignoring \"-u\" argument, not root" msgstr "警告:忽略 \"-u\" 參數,不是 root" -#: ../roundup/scripts/roundup_server.py:597 +#: ../roundup/scripts/roundup_server.py:599 msgid "Can't change users - no pwd module" msgstr "不能修改用戶 - 無 pwd 模塊" -#: ../roundup/scripts/roundup_server.py:606 +#: ../roundup/scripts/roundup_server.py:608 #, python-format msgid "User %(user)s doesn't exist" msgstr "用戶 %(user)s 不存在" -#: ../roundup/scripts/roundup_server.py:803 +#: ../roundup/scripts/roundup_server.py:805 #, python-format msgid "Multiprocess mode \"%s\" is not available, switching to single-process" msgstr "" -#: ../roundup/scripts/roundup_server.py:830 +#: ../roundup/scripts/roundup_server.py:832 #, python-format msgid "Unable to bind to port %s, port already in use." msgstr "無法綁定到端口 %s, 端口已經被佔用。" -#: ../roundup/scripts/roundup_server.py:834 +#: ../roundup/scripts/roundup_server.py:836 #, 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:913 +#: ../roundup/scripts/roundup_server.py:915 #, fuzzy msgid "" " -c <Command> Windows Service options.\n" @@ -2772,7 +2787,7 @@ " 變量上配置一個tracker。這個選項與其經選項是互斥的。打入\n" " \"roundup-server -c help\" 來瞭解Windows服務的規範。" -#: ../roundup/scripts/roundup_server.py:920 +#: ../roundup/scripts/roundup_server.py:922 msgid "" " -u <UID> runs the Roundup web server as this UID\n" " -g <GID> runs the Roundup web server as this GID\n" @@ -2786,7 +2801,7 @@ "去。\n" " 如果使用了 -d 選項,則 -l 選項 *必須* 要指定。" -#: ../roundup/scripts/roundup_server.py:927 +#: ../roundup/scripts/roundup_server.py:929 #, fuzzy, python-format msgid "" "\n" @@ -2882,20 +2897,20 @@ " 意數量的 name=home 對。要確保 name 部分不能包括任何非url安全的\n" " 字符,像空格,因為它們會把IE搞亂。\n" -#: ../roundup/scripts/roundup_server.py:1103 +#: ../roundup/scripts/roundup_server.py:1105 msgid "Instances must be name=home" msgstr "實例必須是 實例名=實例路徑" -#: ../roundup/scripts/roundup_server.py:1117 +#: ../roundup/scripts/roundup_server.py:1119 #, python-format msgid "Configuration saved to %s" msgstr "配置保存到 %s" -#: ../roundup/scripts/roundup_server.py:1135 +#: ../roundup/scripts/roundup_server.py:1137 msgid "Sorry, you can't run the server as a daemon on this Operating System" msgstr "抱歉,在這個操作系統上不能以守護進程的方式來運行服務" -#: ../roundup/scripts/roundup_server.py:1155 +#: ../roundup/scripts/roundup_server.py:1157 #, python-format msgid "Roundup server started on %(HOST)s:%(PORT)s" msgstr "Roundup server 啟動於 %(HOST)s:%(PORT)s"
--- a/roundup/admin.py Wed Mar 01 10:43:54 2023 -0500 +++ b/roundup/admin.py Wed Mar 01 10:51:37 2023 -0500 @@ -566,12 +566,38 @@ """ if len(args) < 1: raise UsageError(_('Not enough arguments supplied')) + if update: # load current config for writing config = CoreConfig(self.tracker_home) + + # change config to update settings to new defaults + # where prior defaults were chosen + default_ppdr = config._get_option( + 'PASSWORD_PBKDF2_DEFAULT_ROUNDS')._default_value + + print("") # put a blank line before feedback + if config.PASSWORD_PBKDF2_DEFAULT_ROUNDS in [10000]: + print(_("Changing option\n" + " 'password_pbkdf2_default_rounds'\n" + "from old default of %(old_number)s to new " + "default of %(new_number)s.") % { + "old_number": + config.PASSWORD_PBKDF2_DEFAULT_ROUNDS, + "new_number": default_ppdr + } + ) + config.PASSWORD_PBKDF2_DEFAULT_ROUNDS = default_ppdr + + if config.PASSWORD_PBKDF2_DEFAULT_ROUNDS < default_ppdr: + print(_("Update " + "'password_pbkdf2_default_rounds'" + "to a number equal to or larger\nthan %s.") % + default_ppdr) else: # generate default config config = CoreConfig() + config.save(args[0]) def do_updateconfig(self, args):
