diff locale/roundup.pot @ 6557:8687c096a945

Handle configparser.InterpolationSyntaxError Under Python 3, an option value with a single % (e.g. this % is a test) throws configparser.InterpolationSyntaxError: '%' must be followed by '%' or '(', found: '%s))' Added code to capture this, raise a different exception. roundup-admin handles the error and exits cleanly. Other code shows the traceback. The new error message reports the file, section and option causing the problem to allow easier repair. Also updated roundup translations and added tests.
author John Rouillard <rouilj@ieee.org>
date Mon, 13 Dec 2021 12:48:57 -0500
parents cbc18a8bc61f
children b0bafbf4fddd
line wrap: on
line diff
--- a/locale/roundup.pot	Sun Dec 12 23:42:44 2021 -0500
+++ b/locale/roundup.pot	Mon Dec 13 12:48:57 2021 -0500
@@ -8,7 +8,7 @@
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: roundup-devel@lists.sourceforge.net\n"
-"POT-Creation-Date: 2021-07-12 22:10-0400\n"
+"POT-Creation-Date: 2021-12-13 12:39-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"
@@ -27,25 +27,25 @@
 msgid "You may not retire the admin or anonymous user"
 msgstr ""
 
-#: ../roundup/admin.py:95 ../roundup/admin.py:1173 ../roundup/admin.py:1228
-#: ../roundup/admin.py:1255 ../roundup/admin.py:95:1173 :1228:1255
+#: ../roundup/admin.py:96 ../roundup/admin.py:1196 ../roundup/admin.py:1251
+#: ../roundup/admin.py:1278 ../roundup/admin.py:96:1196 :1251:1278
 #, python-format
 msgid "no such class \"%(classname)s\""
 msgstr ""
 
-#: ../roundup/admin.py:107
+#: ../roundup/admin.py:108
 #, python-format
 msgid "argument \"%(arg)s\" not propname=value"
 msgstr ""
 
-#: ../roundup/admin.py:120
+#: ../roundup/admin.py:121
 #, python-format
 msgid ""
 "Problem: %(message)s\n"
 "\n"
 msgstr ""
 
-#: ../roundup/admin.py:121
+#: ../roundup/admin.py:122
 #, 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:148
+#: ../roundup/admin.py:149
 msgid "Commands: "
 msgstr ""
 
-#: ../roundup/admin.py:155
+#: ../roundup/admin.py:156
 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:182
+#: ../roundup/admin.py:183
 msgid ""
 "\n"
 "All commands (except help) require a tracker specifier. This is just\n"
@@ -148,12 +148,12 @@
 "Command help:\n"
 msgstr ""
 
-#: ../roundup/admin.py:245
+#: ../roundup/admin.py:246
 #, python-format
 msgid "%s:"
 msgstr ""
 
-#: ../roundup/admin.py:250
+#: ../roundup/admin.py:251
 msgid ""
 "Usage: help topic\n"
 "        Give help about topic.\n"
@@ -165,20 +165,20 @@
 "        "
 msgstr ""
 
-#: ../roundup/admin.py:272
+#: ../roundup/admin.py:273
 #, python-format
 msgid "Sorry, no help for \"%(topic)s\""
 msgstr ""
 
-#: ../roundup/admin.py:349 ../roundup/admin.py:405 ../roundup/admin.py:349:405
+#: ../roundup/admin.py:372 ../roundup/admin.py:428 ../roundup/admin.py:372:428
 msgid "Templates:"
 msgstr ""
 
-#: ../roundup/admin.py:352 ../roundup/admin.py:415 ../roundup/admin.py:352:415
+#: ../roundup/admin.py:375 ../roundup/admin.py:438 ../roundup/admin.py:375:438
 msgid "Back ends:"
 msgstr ""
 
-#: ../roundup/admin.py:355
+#: ../roundup/admin.py:378
 msgid ""
 "Usage: install [template [backend [key=val[,key=val]]]]\n"
 "        Install a new Roundup tracker.\n"
@@ -204,22 +204,22 @@
 "        "
 msgstr ""
 
-#: ../roundup/admin.py:378 ../roundup/admin.py:510 ../roundup/admin.py:583
-#: ../roundup/admin.py:674 ../roundup/admin.py:732 ../roundup/admin.py:816
-#: ../roundup/admin.py:875 ../roundup/admin.py:902 ../roundup/admin.py:929
-#: ../roundup/admin.py:1004 ../roundup/admin.py:1071 ../roundup/admin.py:1157
-#: ../roundup/admin.py:1218 ../roundup/admin.py:1245 ../roundup/admin.py:1281
-#: ../roundup/admin.py:1412 ../roundup/admin.py:1499 ../roundup/admin.py:378:510
-#: :1071 :1157:1218 :1245:1281 :1412:1499 :583:674 :732:816 :875:902 :929:1004
+#: ../roundup/admin.py:401 ../roundup/admin.py:533 ../roundup/admin.py:606
+#: ../roundup/admin.py:697 ../roundup/admin.py:755 ../roundup/admin.py:839
+#: ../roundup/admin.py:898 ../roundup/admin.py:925 ../roundup/admin.py:952
+#: ../roundup/admin.py:1027 ../roundup/admin.py:1094 ../roundup/admin.py:1180
+#: ../roundup/admin.py:1241 ../roundup/admin.py:1268 ../roundup/admin.py:1304
+#: ../roundup/admin.py:1431 ../roundup/admin.py:1518 ../roundup/admin.py:401:533
+#: :1094 :1180:1241 :1268:1304 :1431:1518 :606:697 :755:839 :898:925 :952:1027
 msgid "Not enough arguments supplied"
 msgstr ""
 
-#: ../roundup/admin.py:384
+#: ../roundup/admin.py:407
 #, python-format
 msgid "Instance home parent directory \"%(parent)s\" does not exist"
 msgstr ""
 
-#: ../roundup/admin.py:393
+#: ../roundup/admin.py:416
 #, 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:406
+#: ../roundup/admin.py:429
 msgid "Select template"
 msgstr ""
 
-#: ../roundup/admin.py:416
+#: ../roundup/admin.py:439
 msgid "Select backend"
 msgstr ""
 
-#: ../roundup/admin.py:427
+#: ../roundup/admin.py:450
 #, python-format
 msgid "Error in configuration settings: \"%s\""
 msgstr ""
 
-#: ../roundup/admin.py:458
+#: ../roundup/admin.py:481
 #, python-format
 msgid ""
 "\n"
@@ -249,11 +249,11 @@
 "   %(config_file)s"
 msgstr ""
 
-#: ../roundup/admin.py:468
+#: ../roundup/admin.py:491
 msgid " ... at a minimum, you must set following options:"
 msgstr ""
 
-#: ../roundup/admin.py:473
+#: ../roundup/admin.py:496
 #, python-format
 msgid ""
 "\n"
@@ -269,7 +269,7 @@
 "---------------------------------------------------------------------------\n"
 msgstr ""
 
-#: ../roundup/admin.py:505
+#: ../roundup/admin.py:528
 msgid ""
 "Usage: genconfig <filename>\n"
 "        Generate a new tracker config file (ini style) with default\n"
@@ -277,7 +277,7 @@
 "        "
 msgstr ""
 
-#: ../roundup/admin.py:520
+#: ../roundup/admin.py:543
 msgid ""
 "Usage: updateconfig <filename>\n"
 "        Generate an updated tracker config file (ini style) in\n"
@@ -287,7 +287,7 @@
 msgstr ""
 
 #. password
-#: ../roundup/admin.py:528
+#: ../roundup/admin.py:551
 msgid ""
 "Usage: initialise [adminpw]\n"
 "        Initialise a new Roundup tracker.\n"
@@ -298,30 +298,30 @@
 "        "
 msgstr ""
 
-#: ../roundup/admin.py:542
+#: ../roundup/admin.py:565
 msgid "Admin Password: "
 msgstr ""
 
-#: ../roundup/admin.py:543
+#: ../roundup/admin.py:566
 msgid "       Confirm: "
 msgstr ""
 
-#: ../roundup/admin.py:547
+#: ../roundup/admin.py:570
 msgid "Instance home does not exist"
 msgstr ""
 
-#: ../roundup/admin.py:551
+#: ../roundup/admin.py:574
 msgid "Instance has not been installed"
 msgstr ""
 
-#: ../roundup/admin.py:557
+#: ../roundup/admin.py:580
 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:573
+#: ../roundup/admin.py:596
 msgid ""
 "Usage: get property designator[,designator]*\n"
 "        Get the given property of one or more designator(s).\n"
@@ -334,23 +334,23 @@
 "        "
 msgstr ""
 
-#: ../roundup/admin.py:616 ../roundup/admin.py:633 ../roundup/admin.py:616:633
+#: ../roundup/admin.py:639 ../roundup/admin.py:656 ../roundup/admin.py:639:656
 #, python-format
 msgid "property %s is not of type Multilink or Link so -d flag does not apply."
 msgstr ""
 
-#: ../roundup/admin.py:643 ../roundup/admin.py:1175 ../roundup/admin.py:1230
-#: ../roundup/admin.py:643:1175 :1230
+#: ../roundup/admin.py:666 ../roundup/admin.py:1198 ../roundup/admin.py:1253
+#: ../roundup/admin.py:666:1198 :1253
 #, python-format
 msgid "no such %(classname)s node \"%(nodeid)s\""
 msgstr ""
 
-#: ../roundup/admin.py:646
+#: ../roundup/admin.py:669
 #, python-format
 msgid "no such %(classname)s property \"%(propname)s\""
 msgstr ""
 
-#: ../roundup/admin.py:654
+#: ../roundup/admin.py:677
 msgid ""
 "Usage: set items property=value property=value ...\n"
 "        Set the given properties of one or more items(s).\n"
@@ -371,7 +371,7 @@
 "        "
 msgstr ""
 
-#: ../roundup/admin.py:722
+#: ../roundup/admin.py:745
 msgid ""
 "Usage: filter classname propname=value ...\n"
 "        Find the nodes of the given class with a given property value.\n"
@@ -384,19 +384,19 @@
 "        "
 msgstr ""
 
-#: ../roundup/admin.py:764
+#: ../roundup/admin.py:787
 #, python-format
 msgid "Class %(curclassname)s has no property %(pn)s in %(propname)s."
 msgstr ""
 
-#: ../roundup/admin.py:801 ../roundup/admin.py:862 ../roundup/admin.py:1024
-#: ../roundup/admin.py:1036 ../roundup/admin.py:1091 ../roundup/admin.py:801:862
-#: :1024:1036 :1091
+#: ../roundup/admin.py:824 ../roundup/admin.py:885 ../roundup/admin.py:1047
+#: ../roundup/admin.py:1059 ../roundup/admin.py:1114 ../roundup/admin.py:824:885
+#: :1047:1059 :1114
 #, python-format
 msgid "%(classname)s has no property \"%(propname)s\""
 msgstr ""
 
-#: ../roundup/admin.py:808
+#: ../roundup/admin.py:831
 msgid ""
 "Usage: find classname propname=value ...\n"
 "        Find the nodes of the given class with a given link property value.\n"
@@ -407,7 +407,7 @@
 "        "
 msgstr ""
 
-#: ../roundup/admin.py:869
+#: ../roundup/admin.py:892
 msgid ""
 "Usage: specification classname\n"
 "        Show the properties for a classname.\n"
@@ -416,17 +416,17 @@
 "        "
 msgstr ""
 
-#: ../roundup/admin.py:885
+#: ../roundup/admin.py:908
 #, python-format
 msgid "%(key)s: %(value)s (key property)\n"
 msgstr ""
 
-#: ../roundup/admin.py:888
+#: ../roundup/admin.py:911
 #, python-format
 msgid "%(key)s: %(value)s\n"
 msgstr ""
 
-#: ../roundup/admin.py:891
+#: ../roundup/admin.py:914
 msgid ""
 "Usage: display designator[,designator]*\n"
 "\n"
@@ -440,12 +440,12 @@
 "        "
 msgstr ""
 
-#: ../roundup/admin.py:918
+#: ../roundup/admin.py:941
 #, python-format
 msgid "%(key)s: %(value)s"
 msgstr ""
 
-#: ../roundup/admin.py:921
+#: ../roundup/admin.py:944
 msgid ""
 "Usage: create classname property=value ...\n"
 "        Create a new entry of a given class.\n"
@@ -457,31 +457,31 @@
 "        "
 msgstr ""
 
-#: ../roundup/admin.py:949
+#: ../roundup/admin.py:972
 #, python-format
 msgid "%(propname)s (Password): "
 msgstr ""
 
-#: ../roundup/admin.py:952
+#: ../roundup/admin.py:975
 #, python-format
 msgid "   %(propname)s (Again): "
 msgstr ""
 
-#: ../roundup/admin.py:955
+#: ../roundup/admin.py:978
 msgid "Sorry, try again..."
 msgstr ""
 
-#: ../roundup/admin.py:959
+#: ../roundup/admin.py:982
 #, python-format
 msgid "%(propname)s (%(proptype)s): "
 msgstr ""
 
-#: ../roundup/admin.py:977
+#: ../roundup/admin.py:1000
 #, python-format
 msgid "you must provide the \"%(propname)s\" property."
 msgstr ""
 
-#: ../roundup/admin.py:989
+#: ../roundup/admin.py:1012
 msgid ""
 "Usage: list classname [property]\n"
 "        List the instances of a class.\n"
@@ -497,16 +497,16 @@
 "        "
 msgstr ""
 
-#: ../roundup/admin.py:1002
+#: ../roundup/admin.py:1025
 msgid "Too many arguments supplied"
 msgstr ""
 
-#: ../roundup/admin.py:1038
+#: ../roundup/admin.py:1061
 #, python-format
 msgid "%(nodeid)4s: %(value)s"
 msgstr ""
 
-#: ../roundup/admin.py:1042
+#: ../roundup/admin.py:1065
 msgid ""
 "Usage: table classname [property[,property]*]\n"
 "        List the instances of a class in tabular form.\n"
@@ -538,17 +538,17 @@
 "        "
 msgstr ""
 
-#: ../roundup/admin.py:1086
+#: ../roundup/admin.py:1109
 #, python-format
 msgid "\"%(spec)s\" not name:width"
 msgstr ""
 
-#: ../roundup/admin.py:1108
+#: ../roundup/admin.py:1131
 #, python-format
 msgid "\"%(spec)s\" does not have an integer width: \"%(width)s\""
 msgstr ""
 
-#: ../roundup/admin.py:1144
+#: ../roundup/admin.py:1167
 msgid ""
 "Usage: history designator [skipquiet]\n"
 "        Show the history entries of a designator.\n"
@@ -563,7 +563,7 @@
 "        "
 msgstr ""
 
-#: ../roundup/admin.py:1180
+#: ../roundup/admin.py:1203
 msgid ""
 "Usage: commit\n"
 "        Commit changes made to the database during an interactive session.\n"
@@ -577,7 +577,7 @@
 "        "
 msgstr ""
 
-#: ../roundup/admin.py:1195
+#: ../roundup/admin.py:1218
 msgid ""
 "Usage: rollback\n"
 "        Undo all changes that are pending commit to the database.\n"
@@ -589,7 +589,7 @@
 "        "
 msgstr ""
 
-#: ../roundup/admin.py:1208
+#: ../roundup/admin.py:1231
 msgid ""
 "Usage: retire designator[,designator]*\n"
 "        Retire the node specified by designator.\n"
@@ -602,7 +602,7 @@
 "        "
 msgstr ""
 
-#: ../roundup/admin.py:1236
+#: ../roundup/admin.py:1259
 msgid ""
 "Usage: restore designator[,designator]*\n"
 "        Restore the retired node specified by designator.\n"
@@ -614,12 +614,12 @@
 "        "
 msgstr ""
 
-#: ../roundup/admin.py:1261
+#: ../roundup/admin.py:1284
 msgid "no such %(classname)s node \" % (nodeid)s\""
 msgstr ""
 
 #. grab the directory to export to
-#: ../roundup/admin.py:1267
+#: ../roundup/admin.py:1290
 msgid ""
 "Usage: export [[-]class[,class]] export_dir\n"
 "        Export the database to colon-separated-value files.\n"
@@ -635,7 +635,7 @@
 "        "
 msgstr ""
 
-#: ../roundup/admin.py:1377
+#: ../roundup/admin.py:1396
 msgid ""
 "Usage: exporttables [[-]class[,class]] export_dir\n"
 "        Export the database to colon-separated-value files, excluding the\n"
@@ -652,7 +652,7 @@
 "        "
 msgstr ""
 
-#: ../roundup/admin.py:1392
+#: ../roundup/admin.py:1411
 msgid ""
 "Usage: import import_dir\n"
 "        Import a database from the directory containing CSV files,\n"
@@ -675,7 +675,7 @@
 "        "
 msgstr ""
 
-#: ../roundup/admin.py:1474
+#: ../roundup/admin.py:1493
 msgid ""
 "Usage: importtables export_dir\n"
 "\n"
@@ -683,7 +683,7 @@
 "        "
 msgstr ""
 
-#: ../roundup/admin.py:1481
+#: ../roundup/admin.py:1500
 msgid ""
 "Usage: pack period | date\n"
 "\n"
@@ -705,11 +705,11 @@
 "        "
 msgstr ""
 
-#: ../roundup/admin.py:1509
+#: ../roundup/admin.py:1528
 msgid "Invalid format"
 msgstr ""
 
-#: ../roundup/admin.py:1520
+#: ../roundup/admin.py:1539
 msgid ""
 "Usage: reindex [classname|designator]*\n"
 "        Re-generate a tracker's search indexes.\n"
@@ -719,12 +719,12 @@
 "        "
 msgstr ""
 
-#: ../roundup/admin.py:1534
+#: ../roundup/admin.py:1553
 #, python-format
 msgid "no such item \"%(designator)s\""
 msgstr ""
 
-#: ../roundup/admin.py:1544
+#: ../roundup/admin.py:1563
 msgid ""
 "Usage: security [Role name]\n"
 "\n"
@@ -732,46 +732,46 @@
 "        "
 msgstr ""
 
-#: ../roundup/admin.py:1553
+#: ../roundup/admin.py:1572
 #, python-format
 msgid "No such Role \"%(role)s\"\n"
 msgstr ""
 
-#: ../roundup/admin.py:1559
+#: ../roundup/admin.py:1578
 #, python-format
 msgid "New Web users get the Roles \"%(role)s\"\n"
 msgstr ""
 
-#: ../roundup/admin.py:1562
+#: ../roundup/admin.py:1581
 #, python-format
 msgid "New Web users get the Role \"%(role)s\"\n"
 msgstr ""
 
-#: ../roundup/admin.py:1566
+#: ../roundup/admin.py:1585
 #, python-format
 msgid "New Email users get the Roles \"%(role)s\"\n"
 msgstr ""
 
-#: ../roundup/admin.py:1568
+#: ../roundup/admin.py:1587
 #, python-format
 msgid "New Email users get the Role \"%(role)s\"\n"
 msgstr ""
 
-#: ../roundup/admin.py:1571
+#: ../roundup/admin.py:1590
 #, python-format
 msgid "Role \"%(name)s\":\n"
 msgstr ""
 
-#: ../roundup/admin.py:1576
+#: ../roundup/admin.py:1595
 msgid " %(description)s (%(name)s for \"%(klass)s\""
 msgstr ""
 
-#: ../roundup/admin.py:1576
+#: ../roundup/admin.py:1595
 #, python-format
 msgid " %(description)s (%(name)s for \"%(klass)s\": %(properties)s only)\n"
 msgstr ""
 
-#: ../roundup/admin.py:1588
+#: ../roundup/admin.py:1607
 #, python-format
 msgid ""
 "\n"
@@ -779,17 +779,17 @@
 "\n"
 msgstr ""
 
-#: ../roundup/admin.py:1591
+#: ../roundup/admin.py:1610
 #, python-format
 msgid " %(description)s (%(name)s for \"%(klass)s\" only)\n"
 msgstr ""
 
-#: ../roundup/admin.py:1594
+#: ../roundup/admin.py:1613
 #, python-format
 msgid " %(description)s (%(name)s)\n"
 msgstr ""
 
-#: ../roundup/admin.py:1598
+#: ../roundup/admin.py:1617
 msgid ""
 "Usage: migrate\n"
 "\n"
@@ -813,81 +813,82 @@
 "        "
 msgstr ""
 
-#: ../roundup/admin.py:1619
+#: ../roundup/admin.py:1638
 msgid "Tracker updated"
 msgstr ""
 
-#: ../roundup/admin.py:1622
+#: ../roundup/admin.py:1641
 msgid "No migration action required"
 msgstr ""
 
-#: ../roundup/admin.py:1648
+#: ../roundup/admin.py:1667
 #, python-format
 msgid "Unknown command \"%(command)s\" (\"help commands\" for a list)"
 msgstr ""
 
-#: ../roundup/admin.py:1654
+#: ../roundup/admin.py:1673
 #, python-format
 msgid "Multiple commands match \"%(command)s\": %(list)s"
 msgstr ""
 
-#: ../roundup/admin.py:1663
+#: ../roundup/admin.py:1682
 msgid "Enter tracker home: "
 msgstr ""
 
-#: ../roundup/admin.py:1672 ../roundup/admin.py:1678 ../roundup/admin.py:1704
-#: ../roundup/admin.py:1672:1678 :1704
+#: ../roundup/admin.py:1691 ../roundup/admin.py:1697 ../roundup/admin.py:1726
+#: ../roundup/admin.py:1691:1697 :1726
 #, python-format
 msgid "Error: %(message)s"
 msgstr ""
 
-#: ../roundup/admin.py:1686 ../roundup/admin.py:1690
-#: ../roundup/admin.py:1686:1690
+#: ../roundup/admin.py:1705 ../roundup/admin.py:1709
+#: ../roundup/admin.py:1705:1709
 #, python-format
 msgid "Error: Couldn't open tracker: %(message)s"
 msgstr ""
 
-#: ../roundup/admin.py:1717
+#: ../roundup/admin.py:1739
 #, python-format
 msgid ""
 "Roundup %s ready for input.\n"
 "Type \"help\" for help."
 msgstr ""
 
-#: ../roundup/admin.py:1722
+#: ../roundup/admin.py:1744
 msgid "Note: command history and editing not available"
 msgstr ""
 
-#: ../roundup/admin.py:1726
+#: ../roundup/admin.py:1748
 msgid "roundup> "
 msgstr ""
 
-#: ../roundup/admin.py:1728
+#: ../roundup/admin.py:1750
 msgid "exit..."
 msgstr ""
 
-#: ../roundup/admin.py:1741
+#: ../roundup/admin.py:1763
 msgid "There are unsaved changes. Commit them (y/N)? "
 msgstr ""
 
-#: ../roundup/backends/back_anydbm.py:173
+#: ../roundup/backends/back_anydbm.py:173 ../roundup/backends/back_lmdb.py:251
 #: ../roundup/backends/rdbms_common.py:877
 #, python-format
 msgid "Class \"%s\" already defined."
 msgstr ""
 
-#: ../roundup/backends/back_anydbm.py:234 ../roundup/backends/sessions_dbm.py:55
+#: ../roundup/backends/back_anydbm.py:234 ../roundup/backends/back_lmdb.py:312
+#: ../roundup/backends/sessions_dbm.py:55
 msgid "Couldn't identify database type"
 msgstr ""
 
-#: ../roundup/backends/back_anydbm.py:268
+#: ../roundup/backends/back_anydbm.py:268 ../roundup/backends/back_lmdb.py:346
 #, python-format
 msgid ""
 "Couldn't open database - the required module '%s' (as dbm.gnu) is not "
 "available"
 msgstr ""
 
-#: ../roundup/backends/back_anydbm.py:271
+#: ../roundup/backends/back_anydbm.py:271 ../roundup/backends/back_lmdb.py:349
 #, python-format
 msgid "Couldn't open database - the required module '%s' is not available"
 msgstr ""
@@ -900,14 +901,19 @@
 #: ../roundup/backends/back_anydbm.py:1438
 #: ../roundup/backends/back_anydbm.py:2063
 #: ../roundup/backends/back_anydbm.py:827:840
+#: ../roundup/backends/back_lmdb.py:905 ../roundup/backends/back_lmdb.py:918
+#: ../roundup/backends/back_lmdb.py:1191 ../roundup/backends/back_lmdb.py:1226
+#: ../roundup/backends/back_lmdb.py:1452 ../roundup/backends/back_lmdb.py:1470
+#: ../roundup/backends/back_lmdb.py:1516 ../roundup/backends/back_lmdb.py:2138
+#: ../roundup/backends/back_lmdb.py:905:918
 #: ../roundup/backends/rdbms_common.py:1646
 #: ../roundup/backends/rdbms_common.py:1893
 #: ../roundup/backends/rdbms_common.py:2128
 #: ../roundup/backends/rdbms_common.py:2148
 #: ../roundup/backends/rdbms_common.py:2201
 #: ../roundup/backends/rdbms_common.py:3147
-#: ../roundup/backends/rdbms_common.py:1646:1893 :1113:1148 :1374:1392 :1438
-#: :2063 :2128:2148 :2201:3147
+#: ../roundup/backends/rdbms_common.py:1646:1893 :1113:1148 :1191:1226
+#: :1374:1392 :1438 :1452:1470 :1516:2138 :2063 :2128:2148 :2201 :3147
 msgid "Database open read-only"
 msgstr ""
 
@@ -1174,22 +1180,27 @@
 msgid "Logins occurring too fast. Please wait: %s seconds."
 msgstr ""
 
-#: ../roundup/cgi/actions.py:1369 ../roundup/cgi/actions.py:1373
-#: ../roundup/cgi/actions.py:1369:1373
+#: ../roundup/cgi/actions.py:1357
+#, python-format
+msgid "Welcome %(username)s!"
+msgstr ""
+
+#: ../roundup/cgi/actions.py:1377 ../roundup/cgi/actions.py:1381
+#: ../roundup/cgi/actions.py:1377:1381
 msgid "Invalid login"
 msgstr ""
 
-#: ../roundup/cgi/actions.py:1379
+#: ../roundup/cgi/actions.py:1387
 msgid "You do not have permission to login"
 msgstr ""
 
-#: ../roundup/cgi/actions.py:1422 ../roundup/cgi/actions.py:1587
-#: ../roundup/cgi/actions.py:1422:1587
+#: ../roundup/cgi/actions.py:1430 ../roundup/cgi/actions.py:1595
+#: ../roundup/cgi/actions.py:1430:1595
 #, python-format
 msgid "Column \"%(column)s\" not found in %(class)s"
 msgstr ""
 
-#: ../roundup/cgi/actions.py:1643
+#: ../roundup/cgi/actions.py:1651
 #, python-format
 msgid "You do not have permission to view %(class)s"
 msgstr ""
@@ -1273,160 +1284,167 @@
 "</body></html>"
 msgstr ""
 
-#: ../roundup/cgi/client.py:795
+#: ../roundup/cgi/client.py:837
 msgid "Form Error: "
 msgstr ""
 
-#: ../roundup/cgi/client.py:885
+#: ../roundup/cgi/client.py:927
 #, python-format
 msgid "Unrecognized charset: %r"
 msgstr ""
 
-#: ../roundup/cgi/client.py:1141
+#: ../roundup/cgi/client.py:1183
 msgid "Anonymous users are not allowed to use the web interface"
 msgstr ""
 
-#: ../roundup/cgi/client.py:1214
+#: ../roundup/cgi/client.py:1256
 msgid "Referer header not available."
 msgstr ""
 
-#: ../roundup/cgi/client.py:1218
+#: ../roundup/cgi/client.py:1260
 #, python-format
 msgid "csrf key used with wrong method from: %s"
 msgstr ""
 
-#: ../roundup/cgi/client.py:1246
+#: ../roundup/cgi/client.py:1288
 #, python-format
 msgid "csrf header %s required but missing for user%s."
 msgstr ""
 
-#: ../roundup/cgi/client.py:1247
-#, python-format
-msgid "Missing header: %s"
-msgstr ""
-
-#: ../roundup/cgi/client.py:1257 ../roundup/cgi/client.py:1260
-#: ../roundup/cgi/client.py:1257:1260
-#, python-format
-msgid "csrf Referer header check failed for user%s. Value=%s"
-msgstr ""
-
-#: ../roundup/cgi/client.py:1258
-#, python-format
-msgid "Invalid Referer %s, %s"
-msgstr ""
-
-#: ../roundup/cgi/client.py:1273 ../roundup/cgi/client.py:1276
-#: ../roundup/cgi/client.py:1273:1276
-#, python-format
-msgid "csrf Origin header check failed for user%s. Value=%s"
-msgstr ""
-
-#: ../roundup/cgi/client.py:1274
-#, python-format
-msgid "Invalid Origin %s"
-msgstr ""
-
-#: ../roundup/cgi/client.py:1288 ../roundup/cgi/client.py:1291
-#: ../roundup/cgi/client.py:1288:1291
-#, python-format
-msgid "csrf X-FORWARDED-HOST header check failed for user%s. Value=%s"
-msgstr ""
-
 #: ../roundup/cgi/client.py:1289
 #, python-format
-msgid "Invalid X-FORWARDED-HOST %s"
-msgstr ""
-
-#: ../roundup/cgi/client.py:1308 ../roundup/cgi/client.py:1311
-#: ../roundup/cgi/client.py:1308:1311
+msgid "Missing header: %s"
+msgstr ""
+
+#: ../roundup/cgi/client.py:1299 ../roundup/cgi/client.py:1302
+#: ../roundup/cgi/client.py:1299:1302
+#, python-format
+msgid "csrf Referer header check failed for user%s. Value=%s"
+msgstr ""
+
+#: ../roundup/cgi/client.py:1300
 #, python-format
-msgid "csrf HOST header check failed for user%s. Value=%s"
-msgstr ""
-
-#: ../roundup/cgi/client.py:1309
+msgid "Invalid Referer %s, %s"
+msgstr ""
+
+#: ../roundup/cgi/client.py:1315 ../roundup/cgi/client.py:1318
+#: ../roundup/cgi/client.py:1315:1318
 #, python-format
-msgid "Invalid HOST %s"
-msgstr ""
-
-#: ../roundup/cgi/client.py:1317
-msgid "Csrf: unable to verify sufficient headers"
-msgstr ""
-
-#: ../roundup/cgi/client.py:1318
-msgid "Unable to verify sufficient headers"
+msgid "csrf Origin header check failed for user%s. Value=%s"
+msgstr ""
+
+#: ../roundup/cgi/client.py:1316
+#, python-format
+msgid "Invalid Origin %s"
+msgstr ""
+
+#: ../roundup/cgi/client.py:1330 ../roundup/cgi/client.py:1333
+#: ../roundup/cgi/client.py:1330:1333
+#, python-format
+msgid "csrf X-FORWARDED-HOST header check failed for user%s. Value=%s"
 msgstr ""
 
 #: ../roundup/cgi/client.py:1331
 #, python-format
-msgid "csrf X-REQUESTED-WITH xmlrpc required header check failed for user%s."
-msgstr ""
-
-#: ../roundup/cgi/client.py:1332
-msgid "Required Header Missing"
-msgstr ""
-
-#: ../roundup/cgi/client.py:1369
+msgid "Invalid X-FORWARDED-HOST %s"
+msgstr ""
+
+#: ../roundup/cgi/client.py:1350 ../roundup/cgi/client.py:1353
+#: ../roundup/cgi/client.py:1350:1353
 #, python-format
-msgid "Required csrf field missing for user%s"
-msgstr ""
-
-#: ../roundup/cgi/client.py:1370 ../roundup/cgi/client.py:1422
-#: ../roundup/cgi/client.py:1432 ../roundup/cgi/client.py:1370:1422 :1432
-msgid ""
-"We can't validate your session (csrf failure). Re-enter any unsaved data and "
-"try again."
+msgid "csrf HOST header check failed for user%s. Value=%s"
+msgstr ""
+
+#: ../roundup/cgi/client.py:1351
+#, python-format
+msgid "Invalid HOST %s"
+msgstr ""
+
+#: ../roundup/cgi/client.py:1359
+msgid "Csrf: unable to verify sufficient headers"
+msgstr ""
+
+#: ../roundup/cgi/client.py:1360
+msgid "Unable to verify sufficient headers"
 msgstr ""
 
 #: ../roundup/cgi/client.py:1373
 #, python-format
+msgid "csrf X-REQUESTED-WITH xmlrpc required header check failed for user%s."
+msgstr ""
+
+#: ../roundup/cgi/client.py:1374
+msgid "Required Header Missing"
+msgstr ""
+
+#: ../roundup/cgi/client.py:1411
+#, python-format
+msgid "Required csrf field missing for user%s"
+msgstr ""
+
+#: ../roundup/cgi/client.py:1412 ../roundup/cgi/client.py:1464
+#: ../roundup/cgi/client.py:1474 ../roundup/cgi/client.py:1412:1464 :1474
+msgid ""
+"We can't validate your session (csrf failure). Re-enter any unsaved data and "
+"try again."
+msgstr ""
+
+#: ../roundup/cgi/client.py:1415
+#, python-format
 msgid "csrf field not supplied by user%s"
 msgstr ""
 
-#: ../roundup/cgi/client.py:1420
+#: ../roundup/cgi/client.py:1462
 #, python-format
 msgid ""
 "Csrf mismatch user: current user %s != stored user %s, current session, "
 "stored session: %s,%s for key %s."
 msgstr ""
 
-#: ../roundup/cgi/client.py:1425
+#: ../roundup/cgi/client.py:1467
 #, python-format
 msgid ""
 "logged only: Csrf mismatch user: current user %s != stored user %s, current "
 "session, stored session: %s,%s for key %s."
 msgstr ""
 
-#: ../roundup/cgi/client.py:1430
+#: ../roundup/cgi/client.py:1472
 #, python-format
 msgid ""
 "Csrf mismatch user: current session %s != stored session %s, current user/"
 "stored user is: %s for key %s."
 msgstr ""
 
-#: ../roundup/cgi/client.py:1435
+#: ../roundup/cgi/client.py:1477
 #, python-format
 msgid ""
 "logged only: Csrf mismatch user: current session %s != stored session %s, "
 "current user/stored user is: %s for key %s."
 msgstr ""
 
-#: ../roundup/cgi/client.py:1607
+#: ../roundup/cgi/client.py:1649
 msgid "You are not allowed to view this file."
 msgstr ""
 
-#: ../roundup/cgi/client.py:1886
+#: ../roundup/cgi/client.py:1934
 #, python-format
 msgid "%(starttag)sTime elapsed: %(seconds)fs%(endtag)s\n"
 msgstr ""
 
-#: ../roundup/cgi/client.py:1890
+#: ../roundup/cgi/client.py:1938
 #, 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:2428
+#, python-format
+msgid ""
+"Cache failure: compressed file %(compressed)s is older than its source file "
+"%(filename)s"
+msgstr ""
+
 #: ../roundup/cgi/form_parser.py:290
 #, python-format
 msgid "link \"%(key)s\" value \"%(entry)s\" not a designator"
@@ -1618,7 +1636,14 @@
 msgid "Responding to form too quickly."
 msgstr ""
 
-#: ../roundup/configuration.py:1887
+#: ../roundup/configuration.py:273
+#, python-format
+msgid ""
+"Error in %(filepath)s with section [%(section)s] at option %(option)s: "
+"%(message)s"
+msgstr ""
+
+#: ../roundup/configuration.py:1922
 msgid "Valid languages: "
 msgstr ""
 
@@ -1780,23 +1805,23 @@
 msgid "\"%s\" not a node designator"
 msgstr ""
 
-#: ../roundup/hyperdb.py:1472 ../roundup/hyperdb.py:1480
-#: ../roundup/hyperdb.py:1472:1480
+#: ../roundup/hyperdb.py:1473 ../roundup/hyperdb.py:1481
+#: ../roundup/hyperdb.py:1473:1481
 #, python-format
 msgid "Not a property name: %s"
 msgstr ""
 
-#: ../roundup/hyperdb.py:1939
+#: ../roundup/hyperdb.py:1940
 #, python-format
 msgid "property %s: %r is not a %s."
 msgstr ""
 
-#: ../roundup/hyperdb.py:1942
+#: ../roundup/hyperdb.py:1943
 #, python-format
 msgid "you may only enter ID values for property %s"
 msgstr ""
 
-#: ../roundup/hyperdb.py:1976
+#: ../roundup/hyperdb.py:1977
 #, python-format
 msgid "%r is not a property of %s"
 msgstr ""
@@ -2033,18 +2058,35 @@
 msgid "not of form [arg=value,value,...;arg=value,value,...]"
 msgstr ""
 
-#: ../roundup/rest.py:1883
+#: ../roundup/rest.py:406
+#, python-format
+msgid "Method %(m)s not allowed. Allowed: %(a)s"
+msgstr ""
+
+#: ../roundup/rest.py:1102
+#, python-format
+msgid "Invalid attribute %s"
+msgstr ""
+
+#: ../roundup/rest.py:2063
 #, python-format
 msgid "Api rate limits exceeded. Please wait: %s seconds."
 msgstr ""
 
-#: ../roundup/rest.py:1918
+#: ../roundup/rest.py:2098
 #, python-format
 msgid ""
 "Unable to parse Accept Header. %(error)s. Acceptable types: "
 "%(acceptable_types)s"
 msgstr ""
 
+#: ../roundup/rest.py:2220
+#, python-format
+msgid ""
+"Unrecognized api version: %s. See /rest without specifying api version for "
+"supported versions."
+msgstr ""
+
 #: ../roundup/roundupdb.py:135
 #, python-format
 msgid "Username '%s' already exists."
@@ -2269,52 +2311,52 @@
 "<body><h1>Roundup trackers index</h1><ol>\n"
 msgstr ""
 
-#: ../roundup/scripts/roundup_server.py:508
+#: ../roundup/scripts/roundup_server.py:519
 #, python-format
 msgid "Error: %(type)s: %(value)s"
 msgstr ""
 
-#: ../roundup/scripts/roundup_server.py:520
+#: ../roundup/scripts/roundup_server.py:531
 msgid "WARNING: ignoring \"-g\" argument, not root"
 msgstr ""
 
-#: ../roundup/scripts/roundup_server.py:526
+#: ../roundup/scripts/roundup_server.py:537
 msgid "Can't change groups - no grp module"
 msgstr ""
 
-#: ../roundup/scripts/roundup_server.py:535
+#: ../roundup/scripts/roundup_server.py:546
 #, python-format
 msgid "Group %(group)s doesn't exist"
 msgstr ""
 
-#: ../roundup/scripts/roundup_server.py:547
+#: ../roundup/scripts/roundup_server.py:558
 msgid "Can't run as root!"
 msgstr ""
 
-#: ../roundup/scripts/roundup_server.py:550
+#: ../roundup/scripts/roundup_server.py:561
 msgid "WARNING: ignoring \"-u\" argument, not root"
 msgstr ""
 
-#: ../roundup/scripts/roundup_server.py:556
+#: ../roundup/scripts/roundup_server.py:567
 msgid "Can't change users - no pwd module"
 msgstr ""
 
-#: ../roundup/scripts/roundup_server.py:565
+#: ../roundup/scripts/roundup_server.py:576
 #, python-format
 msgid "User %(user)s doesn't exist"
 msgstr ""
 
-#: ../roundup/scripts/roundup_server.py:755
+#: ../roundup/scripts/roundup_server.py:772
 #, python-format
 msgid "Multiprocess mode \"%s\" is not available, switching to single-process"
 msgstr ""
 
-#: ../roundup/scripts/roundup_server.py:782
+#: ../roundup/scripts/roundup_server.py:799
 #, python-format
 msgid "Unable to bind to port %s, port already in use."
 msgstr ""
 
-#: ../roundup/scripts/roundup_server.py:854
+#: ../roundup/scripts/roundup_server.py:871
 msgid ""
 " -c <Command>  Windows Service options.\n"
 "               If you want to run the server as a Windows Service, you\n"
@@ -2324,7 +2366,7 @@
 "               specifics."
 msgstr ""
 
-#: ../roundup/scripts/roundup_server.py:861
+#: ../roundup/scripts/roundup_server.py:878
 msgid ""
 " -u <UID>      runs the Roundup web server as this UID\n"
 " -g <GID>      runs the Roundup web server as this GID\n"
@@ -2333,9 +2375,10 @@
 "               specified if -d is used."
 msgstr ""
 
-#: ../roundup/scripts/roundup_server.py:868
+#: ../roundup/scripts/roundup_server.py:885
 #, python-format
 msgid ""
+"\n"
 "%(message)sUsage: roundup-server [options] [name=tracker home]*\n"
 "\n"
 "Options:\n"
@@ -2358,6 +2401,9 @@
 " -e <fname>    PEM file containing SSL key and certificate\n"
 " -t <mode>     multiprocess mode (default: %(mp_def)s).\n"
 "               Allowed values: %(mp_types)s.\n"
+" -V <version>  set HTTP version (default: HTTP/1.1).\n"
+"               Allowed values: HTTP/1.0, HTTP/1.1.\n"
+"\n"
 "%(os_part)s\n"
 "\n"
 "Long options:\n"
@@ -2396,20 +2442,20 @@
 "   any url-unsafe characters like spaces, as these confuse IE.\n"
 msgstr ""
 
-#: ../roundup/scripts/roundup_server.py:1041
+#: ../roundup/scripts/roundup_server.py:1061
 msgid "Instances must be name=home"
 msgstr ""
 
-#: ../roundup/scripts/roundup_server.py:1055
+#: ../roundup/scripts/roundup_server.py:1075
 #, python-format
 msgid "Configuration saved to %s"
 msgstr ""
 
-#: ../roundup/scripts/roundup_server.py:1073
-msgid "Sorry, you can't run the server as a daemon on this Operating System"
-msgstr ""
-
 #: ../roundup/scripts/roundup_server.py:1093
+msgid "Sorry, you can't run the server as a daemon on this Operating System"
+msgstr ""
+
+#: ../roundup/scripts/roundup_server.py:1113
 #, python-format
 msgid "Roundup server started on %(HOST)s:%(PORT)s"
 msgstr ""
@@ -2541,6 +2587,7 @@
 #: ../share/roundup/templates/classic/html/_generic.help.html:41
 #: ../share/roundup/templates/classic/html/help.html:21
 #: ../share/roundup/templates/classic/html/issue.index.html:80
+#: ../share/roundup/templates/classic/html/user.index.html:82
 #: ../share/roundup/templates/devel/html/_generic.help.html:42
 #: ../share/roundup/templates/devel/html/bug.index.html:94
 #: ../share/roundup/templates/devel/html/help.html:51
@@ -2557,6 +2604,7 @@
 #: ../share/roundup/templates/classic/html/_generic.help.html:53
 #: ../share/roundup/templates/classic/html/help.html:28
 #: ../share/roundup/templates/classic/html/issue.index.html:88
+#: ../share/roundup/templates/classic/html/user.index.html:90
 #: ../share/roundup/templates/devel/html/_generic.help.html:54
 #: ../share/roundup/templates/devel/html/bug.index.html:102
 #: ../share/roundup/templates/devel/html/help.html:58
@@ -2573,6 +2621,7 @@
 #: ../share/roundup/templates/classic/html/_generic.help.html:57
 #: ../share/roundup/templates/classic/html/help.html:32
 #: ../share/roundup/templates/classic/html/issue.index.html:91
+#: ../share/roundup/templates/classic/html/user.index.html:93
 #: ../share/roundup/templates/devel/html/_generic.help.html:58
 #: ../share/roundup/templates/devel/html/bug.index.html:105
 #: ../share/roundup/templates/devel/html/help.html:62
@@ -3388,6 +3437,7 @@
 #: ../share/roundup/templates/classic/html/page.html:40
 #: ../share/roundup/templates/classic/html/page.html:92
 #: ../share/roundup/templates/classic/html/user.help-search.html:69
+#: ../share/roundup/templates/classic/html/user.index.html:38
 #: ../share/roundup/templates/devel/html/bug.search.html:292
 #: ../share/roundup/templates/devel/html/page.html:79
 #: ../share/roundup/templates/devel/html/page.html:126
@@ -3921,7 +3971,7 @@
 msgid "User listing"
 msgstr ""
 
-#: ../share/roundup/templates/classic/html/user.index.html:19
+#: ../share/roundup/templates/classic/html/user.index.html:48
 #: ../share/roundup/templates/devel/html/user.index.html:48
 #: ../share/roundup/templates/minimal/html/user.index.html:19
 #: ../share/roundup/templates/responsive/html/page.html:180
@@ -3929,13 +3979,13 @@
 msgid "Username"
 msgstr ""
 
-#: ../share/roundup/templates/classic/html/user.index.html:20
+#: ../share/roundup/templates/classic/html/user.index.html:49
 #: ../share/roundup/templates/devel/html/user.index.html:49
 #: ../share/roundup/templates/responsive/html/user.index.html:50
 msgid "Real name"
 msgstr ""
 
-#: ../share/roundup/templates/classic/html/user.index.html:21
+#: ../share/roundup/templates/classic/html/user.index.html:50
 #: ../share/roundup/templates/classic/html/user.register.html:47
 #: ../share/roundup/templates/devel/html/user.index.html:50
 #: ../share/roundup/templates/devel/html/user.register.html:54
@@ -3944,26 +3994,26 @@
 msgid "Organisation"
 msgstr ""
 
-#: ../share/roundup/templates/classic/html/user.index.html:22
+#: ../share/roundup/templates/classic/html/user.index.html:51
 #: ../share/roundup/templates/devel/html/user.index.html:51
 #: ../share/roundup/templates/minimal/html/user.index.html:20
 #: ../share/roundup/templates/responsive/html/user.index.html:52
 msgid "Email address"
 msgstr ""
 
-#: ../share/roundup/templates/classic/html/user.index.html:23
+#: ../share/roundup/templates/classic/html/user.index.html:52
 #: ../share/roundup/templates/devel/html/user.index.html:52
 #: ../share/roundup/templates/responsive/html/user.index.html:53
 msgid "Phone number"
 msgstr ""
 
-#: ../share/roundup/templates/classic/html/user.index.html:24
+#: ../share/roundup/templates/classic/html/user.index.html:53
 #: ../share/roundup/templates/devel/html/user.index.html:53
 #: ../share/roundup/templates/responsive/html/user.index.html:54
 msgid "Retire"
 msgstr ""
 
-#: ../share/roundup/templates/classic/html/user.index.html:43
+#: ../share/roundup/templates/classic/html/user.index.html:72
 #: ../share/roundup/templates/devel/html/user.index.html:66
 #: ../share/roundup/templates/responsive/html/user.index.html:67
 msgid "retire"
@@ -4112,67 +4162,67 @@
 msgstr ""
 
 #: ../share/roundup/templates/classic/initial_data.py:5
-#: ../share/roundup/templates/jinja2/initial_data.py:6
+#: ../share/roundup/templates/jinja2/initial_data.py:4
 msgid "critical"
 msgstr ""
 
 #: ../share/roundup/templates/classic/initial_data.py:6
-#: ../share/roundup/templates/jinja2/initial_data.py:7
+#: ../share/roundup/templates/jinja2/initial_data.py:5
 msgid "urgent"
 msgstr ""
 
 #: ../share/roundup/templates/classic/initial_data.py:7
-#: ../share/roundup/templates/jinja2/initial_data.py:8
+#: ../share/roundup/templates/jinja2/initial_data.py:6
 msgid "bug"
 msgstr ""
 
 #: ../share/roundup/templates/classic/initial_data.py:8
-#: ../share/roundup/templates/jinja2/initial_data.py:9
+#: ../share/roundup/templates/jinja2/initial_data.py:7
 msgid "feature"
 msgstr ""
 
 #: ../share/roundup/templates/classic/initial_data.py:9
-#: ../share/roundup/templates/jinja2/initial_data.py:10
+#: ../share/roundup/templates/jinja2/initial_data.py:8
 msgid "wish"
 msgstr ""
 
 #: ../share/roundup/templates/classic/initial_data.py:12
-#: ../share/roundup/templates/jinja2/initial_data.py:13
+#: ../share/roundup/templates/jinja2/initial_data.py:11
 msgid "unread"
 msgstr ""
 
 #: ../share/roundup/templates/classic/initial_data.py:13
-#: ../share/roundup/templates/jinja2/initial_data.py:14
+#: ../share/roundup/templates/jinja2/initial_data.py:12
 msgid "deferred"
 msgstr ""
 
 #: ../share/roundup/templates/classic/initial_data.py:14
-#: ../share/roundup/templates/jinja2/initial_data.py:15
+#: ../share/roundup/templates/jinja2/initial_data.py:13
 msgid "chatting"
 msgstr ""
 
 #: ../share/roundup/templates/classic/initial_data.py:15
-#: ../share/roundup/templates/jinja2/initial_data.py:16
+#: ../share/roundup/templates/jinja2/initial_data.py:14
 msgid "need-eg"
 msgstr ""
 
 #: ../share/roundup/templates/classic/initial_data.py:16
-#: ../share/roundup/templates/jinja2/initial_data.py:17
+#: ../share/roundup/templates/jinja2/initial_data.py:15
 msgid "in-progress"
 msgstr ""
 
 #: ../share/roundup/templates/classic/initial_data.py:17
-#: ../share/roundup/templates/jinja2/initial_data.py:18
+#: ../share/roundup/templates/jinja2/initial_data.py:16
 msgid "testing"
 msgstr ""
 
 #: ../share/roundup/templates/classic/initial_data.py:18
-#: ../share/roundup/templates/jinja2/initial_data.py:19
+#: ../share/roundup/templates/jinja2/initial_data.py:17
 msgid "done-cbb"
 msgstr ""
 
 #: ../share/roundup/templates/classic/initial_data.py:19
-#: ../share/roundup/templates/jinja2/initial_data.py:20
+#: ../share/roundup/templates/jinja2/initial_data.py:18
 msgid "resolved"
 msgstr ""
 

Roundup Issue Tracker: http://roundup-tracker.org/