diff locale/es.po @ 6223:85f3f54f9e79

2.0 final translate update. make template followed by make *.po.
author John Rouillard <rouilj@ieee.org>
date Sun, 12 Jul 2020 23:52:10 -0400
parents 63739dae0f7e
children 45ba6b71f1cf
line wrap: on
line diff
--- a/locale/es.po	Sun Jul 12 23:51:25 2020 -0400
+++ b/locale/es.po	Sun Jul 12 23:52:10 2020 -0400
@@ -7,7 +7,7 @@
 msgstr ""
 "Project-Id-Version: Roundup 1.3.3\n"
 "Report-Msgid-Bugs-To: roundup-devel@lists.sourceforge.net\n"
-"POT-Creation-Date: 2020-04-04 11:24-0400\n"
+"POT-Creation-Date: 2020-07-12 23:40-0400\n"
 "PO-Revision-Date: 2013-10-31 10:45+0100\n"
 "Last-Translator: Ramiro Morales <rm0@gmx.net>\n"
 "Language-Team: Spanish Translators <roundup-devel@lists.sourceforge.net>\n"
@@ -29,19 +29,19 @@
 msgstr "Ni el usuario admin ni el usuario anónimo pueden ser retirados"
 
 # ../roundup/admin.py:85 :955 :1004 :1026
-#: ../roundup/admin.py:92 ../roundup/admin.py:1075 ../roundup/admin.py:1130
-#: ../roundup/admin.py:1157 ../roundup/admin.py:92:1075 :1130:1157
+#: ../roundup/admin.py:95 ../roundup/admin.py:1149 ../roundup/admin.py:1204
+#: ../roundup/admin.py:1231 ../roundup/admin.py:95:1149 :1204:1231
 #, python-format
 msgid "no such class \"%(classname)s\""
 msgstr "la clase \"%(classname)s\" no existe"
 
 # ../roundup/admin.py:95 :99
-#: ../roundup/admin.py:102 ../roundup/admin.py:106 ../roundup/admin.py:102:106
+#: ../roundup/admin.py:107
 #, python-format
 msgid "argument \"%(arg)s\" not propname=value"
 msgstr "el argumento \"%(arg)s\" no es de la forma nombrepropiedad=valor"
 
-#: ../roundup/admin.py:119
+#: ../roundup/admin.py:120
 #, python-format
 msgid ""
 "Problem: %(message)s\n"
@@ -50,7 +50,7 @@
 "Problema: %(message)s\n"
 "\n"
 
-#: ../roundup/admin.py:120
+#: ../roundup/admin.py:121
 #, fuzzy, python-format
 msgid ""
 "%(message)sUsage: roundup-admin [options] [<command> <arguments>]\n"
@@ -106,12 +106,12 @@
 " roundup-admin help <comando>             -- ayuda específica a un comando\n"
 " roundup-admin help all                   -- toda la ayuda disponible\n"
 
-#: ../roundup/admin.py:147
+#: ../roundup/admin.py:148
 #, fuzzy
 msgid "Commands: "
 msgstr "Comandos:"
 
-#: ../roundup/admin.py:154
+#: ../roundup/admin.py:155
 msgid ""
 "Commands may be abbreviated as long as the abbreviation\n"
 "matches only one command, e.g. l == li == lis == list."
@@ -119,7 +119,7 @@
 "Los comandos pueden ser abreviados siempre y cuando la abreviación\n"
 "coincida con sólo un comando, ej. l == li == lis == list."
 
-#: ../roundup/admin.py:181
+#: ../roundup/admin.py:182
 msgid ""
 "\n"
 "All commands (except help) require a tracker specifier. This is just\n"
@@ -264,12 +264,12 @@
 "\n"
 "Ayuda sobre comandos:\n"
 
-#: ../roundup/admin.py:244
+#: ../roundup/admin.py:245
 #, python-format
 msgid "%s:"
 msgstr "%s:"
 
-#: ../roundup/admin.py:249
+#: ../roundup/admin.py:250
 msgid ""
 "Usage: help topic\n"
 "        Give help about topic.\n"
@@ -362,13 +362,14 @@
 
 # ../roundup/admin.py:360 :442 :503 :582 :632 :688 :709 :737 :808 :875 :946
 # :994 :1016 :1043 :1106 :1173
-#: ../roundup/admin.py:378 ../roundup/admin.py:510 ../roundup/admin.py:584
-#: ../roundup/admin.py:673 ../roundup/admin.py:730 ../roundup/admin.py:788
-#: ../roundup/admin.py:813 ../roundup/admin.py:840 ../roundup/admin.py:913
-#: ../roundup/admin.py:980 ../roundup/admin.py:1059 ../roundup/admin.py:1120
-#: ../roundup/admin.py:1147 ../roundup/admin.py:1179 ../roundup/admin.py:1293
-#: ../roundup/admin.py:1374 ../roundup/admin.py:378:510:1059 :1120:1147
-#: :1179:1293:1374 :584:673 :730:788 :813:840 :913:980
+#: ../roundup/admin.py:378 ../roundup/admin.py:510 ../roundup/admin.py:583
+#: ../roundup/admin.py:674 ../roundup/admin.py:732 ../roundup/admin.py:792
+#: ../roundup/admin.py:851 ../roundup/admin.py:878 ../roundup/admin.py:905
+#: ../roundup/admin.py:980 ../roundup/admin.py:1047 ../roundup/admin.py:1133
+#: ../roundup/admin.py:1194 ../roundup/admin.py:1221 ../roundup/admin.py:1253
+#: ../roundup/admin.py:1369 ../roundup/admin.py:1456
+#: ../roundup/admin.py:378:510 :1047 :1133:1194 :1221:1253 :1369:1456 :583:674
+#: :732:792 :851:878 :905:980
 msgid "Not enough arguments supplied"
 msgstr "No se proveyó una cantidad suficiente de argumentos"
 
@@ -451,10 +452,11 @@
 "---------------------------------------------------------------------------\n"
 
 #: ../roundup/admin.py:505
+#, fuzzy
 msgid ""
 "Usage: genconfig <filename>\n"
-"        Generate a new tracker config file (ini style) with default values\n"
-"        in <filename>.\n"
+"        Generate a new tracker config file (ini style) with default\n"
+"        values in <filename>.\n"
 "        "
 msgstr ""
 "Uso:   genconfig <fichero>\n"
@@ -524,7 +526,7 @@
 "Si la reinicializa, perderá toda la información!\n"
 "Eliminar la misma? Y/N: "
 
-#: ../roundup/admin.py:574
+#: ../roundup/admin.py:573
 #, fuzzy
 msgid ""
 "Usage: get property designator[,designator]*\n"
@@ -545,7 +547,7 @@
 "        "
 
 # ../roundup/admin.py:536 :551
-#: ../roundup/admin.py:617 ../roundup/admin.py:634 ../roundup/admin.py:617:634
+#: ../roundup/admin.py:616 ../roundup/admin.py:633 ../roundup/admin.py:616:633
 #, python-format
 msgid "property %s is not of type Multilink or Link so -d flag does not apply."
 msgstr ""
@@ -553,18 +555,18 @@
 "no puede usarse."
 
 # ../roundup/admin.py:559 :957 :1006 :1028
-#: ../roundup/admin.py:644 ../roundup/admin.py:1077 ../roundup/admin.py:1132
-#: ../roundup/admin.py:1159 ../roundup/admin.py:644:1077 :1132:1159
+#: ../roundup/admin.py:643 ../roundup/admin.py:1151 ../roundup/admin.py:1206
+#: ../roundup/admin.py:643:1151:1206
 #, python-format
 msgid "no such %(classname)s node \"%(nodeid)s\""
 msgstr "no existe nodo de clase %(classname)s llamado  \"%(nodeid)s\""
 
-#: ../roundup/admin.py:647
+#: ../roundup/admin.py:646
 #, python-format
 msgid "no such %(classname)s property \"%(propname)s\""
 msgstr "no existe propiedad de clase %(classname)s llamado  \"%(propname)s\""
 
-#: ../roundup/admin.py:656
+#: ../roundup/admin.py:654
 #, fuzzy
 msgid ""
 "Usage: set items property=value property=value ...\n"
@@ -576,11 +578,13 @@
 "        A designator is a classname and a nodeid concatenated,\n"
 "        eg. bug1, user10, ...\n"
 "\n"
-"        This command sets the properties to the values for all designators\n"
-"        given. If the value is missing (ie. \"property=\") then the "
-"property\n"
-"        is un-set. If the property is a multilink, you specify the linked\n"
-"        ids for the multilink as comma-separated numbers (ie \"1,2,3\").\n"
+"        This command sets the properties to the values for all\n"
+"        designators given. If a class is used, the property will be\n"
+"        set for all items in the class. If the value is missing\n"
+"        (ie. \"property=\") then the property is un-set. If the property\n"
+"        is a multilink, you specify the linked ids for the multilink\n"
+"        as comma-separated numbers (ie \"1,2,3\").\n"
+"\n"
 "        "
 msgstr ""
 "Uso:   set items propiedad=valor propiedad=valor ...\n"
@@ -598,6 +602,38 @@
 "        "
 
 #: ../roundup/admin.py:722
+#, fuzzy
+msgid ""
+"Usage: filter classname propname=value ...\n"
+"        Find the nodes of the given class with a given property value.\n"
+"\n"
+"        Find the nodes of the given class with a given property value.\n"
+"        Multiple values can be specified by separating them with commas.\n"
+"        If property is a string, all values must match. I.E. it's an\n"
+"        'and' operation. If the property is a link/multilink any value\n"
+"        matches. I.E. an 'or' operation.\n"
+"        "
+msgstr ""
+"Uso:   find nombreclase nombreprop=valor ...\n"
+"        Busca los nodos de la clase especificada que poseen un cierto valor "
+"de\n"
+"        propiedad.\n"
+"\n"
+"        Busca los nodos de la clase especificada que poseen un cierto valor "
+"de\n"
+"        propiedad. El valor puede ser el identificador de nodo del nodo\n"
+"        enlazado o su valor clave.\n"
+"        "
+
+# ../roundup/admin.py:675 :828 :840 :894
+#: ../roundup/admin.py:777 ../roundup/admin.py:838 ../roundup/admin.py:1000
+#: ../roundup/admin.py:1012 ../roundup/admin.py:1067
+#: ../roundup/admin.py:777:838 :1000:1012:1067
+#, python-format
+msgid "%(classname)s has no property \"%(propname)s\""
+msgstr "%(classname)s no posee la propiedad \"%(propname)s\""
+
+#: ../roundup/admin.py:784
 msgid ""
 "Usage: find classname propname=value ...\n"
 "        Find the nodes of the given class with a given link property value.\n"
@@ -618,14 +654,7 @@
 "        enlazado o su valor clave.\n"
 "        "
 
-# ../roundup/admin.py:675 :828 :840 :894
-#: ../roundup/admin.py:775 ../roundup/admin.py:933 ../roundup/admin.py:945
-#: ../roundup/admin.py:1000 ../roundup/admin.py:775:933 :945:1000
-#, python-format
-msgid "%(classname)s has no property \"%(propname)s\""
-msgstr "%(classname)s no posee la propiedad \"%(propname)s\""
-
-#: ../roundup/admin.py:782
+#: ../roundup/admin.py:845
 msgid ""
 "Usage: specification classname\n"
 "        Show the properties for a classname.\n"
@@ -639,27 +668,28 @@
 "        Visualiza las propiedades para una cierta clase.\n"
 "        "
 
-#: ../roundup/admin.py:798
+#: ../roundup/admin.py:861
 #, fuzzy, python-format
 msgid "%(key)s: %(value)s (key property)\n"
 msgstr "%(key)s: %(value)s (propiedad de clave)"
 
-#: ../roundup/admin.py:800
+#: ../roundup/admin.py:864
 #, fuzzy, python-format
 msgid "%(key)s: %(value)s\n"
 msgstr "%(key)s: %(value)s"
 
-#: ../roundup/admin.py:803
+#: ../roundup/admin.py:867
 #, fuzzy
 msgid ""
 "Usage: display designator[,designator]*\n"
+"\n"
 "        Show the property values for the given node(s).\n"
 "\n"
 "        A designator is a classname and a nodeid concatenated,\n"
 "        eg. bug1, user10, ...\n"
 "\n"
-"        This lists the properties and their associated values for the given\n"
-"        node.\n"
+"        This lists the properties and their associated values\n"
+"        for the given node.\n"
 "        "
 msgstr ""
 "Uso:   display designador[,designador]*\n"
@@ -669,12 +699,12 @@
 "especificado.\n"
 "        "
 
-#: ../roundup/admin.py:829
+#: ../roundup/admin.py:894
 #, python-format
 msgid "%(key)s: %(value)s"
 msgstr "%(key)s: %(value)s"
 
-#: ../roundup/admin.py:832
+#: ../roundup/admin.py:897
 msgid ""
 "Usage: create classname property=value ...\n"
 "        Create a new entry of a given class.\n"
@@ -693,31 +723,31 @@
 "        nombre=valor provistos en la línea de comandos luego del comando\n"
 "        \"create\" para establecer valores de propiedad(es).        "
 
-#: ../roundup/admin.py:860
+#: ../roundup/admin.py:925
 #, python-format
 msgid "%(propname)s (Password): "
 msgstr "%(propname)s (Contraseña): "
 
-#: ../roundup/admin.py:862
+#: ../roundup/admin.py:928
 #, python-format
 msgid "   %(propname)s (Again): "
 msgstr "   %(propname)s (Nuevamente): "
 
-#: ../roundup/admin.py:864
+#: ../roundup/admin.py:931
 msgid "Sorry, try again..."
 msgstr "Lo lamento, intente nuevamente..."
 
-#: ../roundup/admin.py:868
+#: ../roundup/admin.py:935
 #, python-format
 msgid "%(propname)s (%(proptype)s): "
 msgstr "%(propname)s (%(proptype)s): "
 
-#: ../roundup/admin.py:886
+#: ../roundup/admin.py:953
 #, python-format
 msgid "you must provide the \"%(propname)s\" property."
 msgstr "debe proveer la propiedad \"%(propname)s\"."
 
-#: ../roundup/admin.py:898
+#: ../roundup/admin.py:965
 msgid ""
 "Usage: list classname [property]\n"
 "        List the instances of a class.\n"
@@ -747,16 +777,16 @@
 "clase.\n"
 "        "
 
-#: ../roundup/admin.py:911
+#: ../roundup/admin.py:978
 msgid "Too many arguments supplied"
 msgstr "Demasiados argumentos"
 
-#: ../roundup/admin.py:947
+#: ../roundup/admin.py:1014
 #, python-format
 msgid "%(nodeid)4s: %(value)s"
 msgstr "%(nodeid)4s: %(value)s"
 
-#: ../roundup/admin.py:951
+#: ../roundup/admin.py:1018
 msgid ""
 "Usage: table classname [property[,property]*]\n"
 "        List the instances of a class in tabular form.\n"
@@ -820,12 +850,17 @@
 "        caracteres.\n"
 "        "
 
-#: ../roundup/admin.py:995
+#: ../roundup/admin.py:1062
 #, python-format
 msgid "\"%(spec)s\" not name:width"
 msgstr "\"%(spec)s\" no es de la forma nombre:longitud"
 
-#: ../roundup/admin.py:1046
+#: ../roundup/admin.py:1084
+#, python-format
+msgid "\"%(spec)s\" does not have an integer width: \"%(width)s\""
+msgstr ""
+
+#: ../roundup/admin.py:1120
 msgid ""
 "Usage: history designator [skipquiet]\n"
 "        Show the history entries of a designator.\n"
@@ -840,7 +875,7 @@
 "        "
 msgstr ""
 
-#: ../roundup/admin.py:1082
+#: ../roundup/admin.py:1156
 msgid ""
 "Usage: commit\n"
 "        Commit changes made to the database during an interactive session.\n"
@@ -865,7 +900,7 @@
 "        son automáticamente escritos si resultan exitosos.\n"
 "        "
 
-#: ../roundup/admin.py:1097
+#: ../roundup/admin.py:1171
 msgid ""
 "Usage: rollback\n"
 "        Undo all changes that are pending commit to the database.\n"
@@ -887,7 +922,7 @@
 "        no introduciría cambios en la base de datos.\n"
 "        "
 
-#: ../roundup/admin.py:1110
+#: ../roundup/admin.py:1184
 #, fuzzy
 msgid ""
 "Usage: retire designator[,designator]*\n"
@@ -908,7 +943,7 @@
 "        reusado.\n"
 "        "
 
-#: ../roundup/admin.py:1138
+#: ../roundup/admin.py:1212
 #, fuzzy
 msgid ""
 "Usage: restore designator[,designator]*\n"
@@ -927,8 +962,14 @@
 "        para los usuarios.\n"
 "        "
 
+# ../roundup/admin.py:559 :957 :1006 :1028
+#: ../roundup/admin.py:1233
+#, 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:1165
+#: ../roundup/admin.py:1239
 msgid ""
 "Usage: export [[-]class[,class]] export_dir\n"
 "        Export the database to colon-separated-value files.\n"
@@ -956,7 +997,7 @@
 "        directorio de destino especificado (dir_exportación).\n"
 "        "
 
-#: ../roundup/admin.py:1258
+#: ../roundup/admin.py:1334
 msgid ""
 "Usage: exporttables [[-]class[,class]] export_dir\n"
 "        Export the database to colon-separated-value files, excluding the\n"
@@ -985,7 +1026,7 @@
 "        directorio de destino especificado.\n"
 "        "
 
-#: ../roundup/admin.py:1273
+#: ../roundup/admin.py:1349
 msgid ""
 "Usage: import import_dir\n"
 "        Import a database from the directory containing CSV files,\n"
@@ -1030,7 +1071,15 @@
 "        tediosamente, retirar toda los datos viejos.)\n"
 "        "
 
-#: ../roundup/admin.py:1356
+#: ../roundup/admin.py:1431
+msgid ""
+"Usage: importtables export_dir\n"
+"\n"
+"        This imports the database tables exported using exporttables.\n"
+"        "
+msgstr ""
+
+#: ../roundup/admin.py:1438
 msgid ""
 "Usage: pack period | date\n"
 "\n"
@@ -1069,11 +1118,11 @@
 "\n"
 "        "
 
-#: ../roundup/admin.py:1384
+#: ../roundup/admin.py:1466
 msgid "Invalid format"
 msgstr "Formato inválido"
 
-#: ../roundup/admin.py:1395
+#: ../roundup/admin.py:1477
 msgid ""
 "Usage: reindex [classname|designator]*\n"
 "        Re-generate a tracker's search indexes.\n"
@@ -1089,64 +1138,66 @@
 "        Es un comando que por lo general se ejecuta automáticamente.\n"
 "        "
 
-#: ../roundup/admin.py:1409
+#: ../roundup/admin.py:1491
 #, python-format
 msgid "no such item \"%(designator)s\""
 msgstr "no existe un ítem llamado \"%(designator)s\""
 
-#: ../roundup/admin.py:1419
+#: ../roundup/admin.py:1501
+#, fuzzy
 msgid ""
 "Usage: security [Role name]\n"
-"        Display the Permissions available to one or all Roles.\n"
+"\n"
+"             Display the Permissions available to one or all Roles.\n"
 "        "
 msgstr ""
 "Uso:   security [Nombre de rol]\n"
 "        Muestra los permisos disponibles para uno o todos los Roles.\n"
 "        "
 
-#: ../roundup/admin.py:1427
+#: ../roundup/admin.py:1510
 #, fuzzy, python-format
 msgid "No such Role \"%(role)s\"\n"
 msgstr "No existe un Rol llamado \"%(role)s\""
 
-#: ../roundup/admin.py:1433
+#: ../roundup/admin.py:1516
 #, fuzzy, python-format
 msgid "New Web users get the Roles \"%(role)s\"\n"
 msgstr "Los nuevos usuarios creados vía Web obtiene los Roles \"%(role)s\""
 
-#: ../roundup/admin.py:1435
+#: ../roundup/admin.py:1519
 #, fuzzy, python-format
 msgid "New Web users get the Role \"%(role)s\"\n"
 msgstr "Los nuevos usuarios creados vía Web obtienen el Rol \"%(role)s\""
 
-#: ../roundup/admin.py:1438
+#: ../roundup/admin.py:1523
 #, fuzzy, python-format
 msgid "New Email users get the Roles \"%(role)s\"\n"
 msgstr ""
 "Los nuevos usuarios creados vía e-mail obtienen los Roles  \"%(role)s\""
 
-#: ../roundup/admin.py:1440
+#: ../roundup/admin.py:1525
 #, fuzzy, python-format
 msgid "New Email users get the Role \"%(role)s\"\n"
 msgstr "Los nuevos usuarios creados vía e-mail obtienen el Rol \"%(role)s\""
 
-#: ../roundup/admin.py:1443
+#: ../roundup/admin.py:1528
 #, fuzzy, python-format
 msgid "Role \"%(name)s\":\n"
 msgstr "Rol \"%(name)s\":"
 
-#: ../roundup/admin.py:1448
+#: ../roundup/admin.py:1533
 #, fuzzy
 msgid " %(description)s (%(name)s for \"%(klass)s\""
 msgstr " %(description)s (%(name)s para \"%(klass)s\" solamente)"
 
-#: ../roundup/admin.py:1448
+#: ../roundup/admin.py:1533
 #, 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:1460
+#: ../roundup/admin.py:1545
 #, python-format
 msgid ""
 "\n"
@@ -1154,84 +1205,79 @@
 "\n"
 msgstr ""
 
-#: ../roundup/admin.py:1462
-#, fuzzy
-msgid " %(description)s (%(name)s for \"%(klass)s\" "
-msgstr " %(description)s (%(name)s para \"%(klass)s\" solamente)"
-
-#: ../roundup/admin.py:1462
+#: ../roundup/admin.py:1547
 #, 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:1465
+#: ../roundup/admin.py:1550
 #, fuzzy, python-format
 msgid " %(description)s (%(name)s)\n"
 msgstr " %(description)s (%(name)s)"
 
-#: ../roundup/admin.py:1470
+#: ../roundup/admin.py:1554
 msgid ""
 "Usage: migrate\n"
+"\n"
 "        Update a tracker's database to be compatible with the Roundup\n"
 "        codebase.\n"
 "\n"
-"        You should run the \"migrate\" command for your tracker once you've\n"
-"        installed the latest codebase. \n"
+"        You should run the \"migrate\" command for your tracker once\n"
+"        you've installed the latest codebase.\n"
 "\n"
-"        Do this before you use the web, command-line or mail interface and\n"
-"        before any users access the tracker.\n"
+"        Do this before you use the web, command-line or mail interface\n"
+"        and before any users access the tracker.\n"
 "\n"
-"        This command will respond with either \"Tracker updated\" (if "
-"you've\n"
-"        not previously run it on an RDBMS backend) or \"No migration action\n"
-"        required\" (if you have run it, or have used another interface to "
-"the\n"
-"        tracker, or possibly because you are using anydbm).\n"
+"        This command will respond with either \"Tracker updated\" (if\n"
+"        you've not previously run it on an RDBMS backend) or \"No\n"
+"        migration action required\" (if you have run it, or have used\n"
+"        another interface to the tracker, or possibly because you are\n"
+"        using anydbm).\n"
 "\n"
-"        It's safe to run this even if it's not required, so just get into\n"
-"        the habit.\n"
+"        It's safe to run this even if it's not required, so just get\n"
+"        into the habit.\n"
 "        "
 msgstr ""
 
-#: ../roundup/admin.py:1489
+#: ../roundup/admin.py:1575
 #, fuzzy
 msgid "Tracker updated"
 msgstr "Directorio base del tracker"
 
-#: ../roundup/admin.py:1492
+#: ../roundup/admin.py:1578
 msgid "No migration action required"
 msgstr ""
 
-#: ../roundup/admin.py:1518
+#: ../roundup/admin.py:1604
 #, 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:1524
+#: ../roundup/admin.py:1610
 #, python-format
 msgid "Multiple commands match \"%(command)s\": %(list)s"
 msgstr "Coinciden mas de un comando \"%(command)s\": %(list)s"
 
-#: ../roundup/admin.py:1532
+#: ../roundup/admin.py:1619
 msgid "Enter tracker home: "
 msgstr "Ingrese directorio base del tracker: "
 
 # ../roundup/admin.py:1296 :1302 :1322
-#: ../roundup/admin.py:1541 ../roundup/admin.py:1547 ../roundup/admin.py:1573
-#: ../roundup/admin.py:1541:1547:1573
+#: ../roundup/admin.py:1628 ../roundup/admin.py:1634 ../roundup/admin.py:1660
+#: ../roundup/admin.py:1628:1634:1660
 #, python-format
 msgid "Error: %(message)s"
 msgstr "Error: %(message)s"
 
-#: ../roundup/admin.py:1555 ../roundup/admin.py:1559
-#: ../roundup/admin.py:1555:1559
+#: ../roundup/admin.py:1642 ../roundup/admin.py:1646
+#: ../roundup/admin.py:1642:1646
 #, python-format
 msgid "Error: Couldn't open tracker: %(message)s"
 msgstr "Error: No se pudo abrir el tracker: %(message)s"
 
-#: ../roundup/admin.py:1586
+#: ../roundup/admin.py:1673
 #, python-format
 msgid ""
 "Roundup %s ready for input.\n"
@@ -1240,88 +1286,95 @@
 "Roundup %s listo para comandos.\n"
 "Tipee \"help\" para ayuda."
 
-#: ../roundup/admin.py:1591
+#: ../roundup/admin.py:1678
 msgid "Note: command history and editing not available"
 msgstr "Nota: historia y edición de comandos no disponible"
 
-#: ../roundup/admin.py:1595
+#: ../roundup/admin.py:1682
 msgid "roundup> "
 msgstr "roundup> "
 
-#: ../roundup/admin.py:1597
+#: ../roundup/admin.py:1684
 msgid "exit..."
 msgstr "salir..."
 
-#: ../roundup/admin.py:1610
+#: ../roundup/admin.py:1697
 msgid "There are unsaved changes. Commit them (y/N)? "
 msgstr "Hay cambios sin guardar. Debo guardar los mismos (y/N)? "
 
-#: ../roundup/backends/back_anydbm.py:313
+#: ../roundup/backends/back_anydbm.py:314
 #: ../roundup/backends/sessions_dbm.py:55
 msgid "Couldn't identify database type"
 msgstr ""
 
-#: ../roundup/backends/back_anydbm.py:342
+#: ../roundup/backends/back_anydbm.py:348
+#, python-format
+msgid ""
+"Couldn't open database - the required module '%s' (as dbm.gnu) is not "
+"available"
+msgstr ""
+
+#: ../roundup/backends/back_anydbm.py:351
 #, python-format
 msgid "Couldn't open database - the required module '%s' is not available"
 msgstr ""
 
-#: ../roundup/backends/back_anydbm.py:898
-#: ../roundup/backends/back_anydbm.py:911
-#: ../roundup/backends/back_anydbm.py:1171
-#: ../roundup/backends/back_anydbm.py:1201
-#: ../roundup/backends/back_anydbm.py:1427
-#: ../roundup/backends/back_anydbm.py:1445
-#: ../roundup/backends/back_anydbm.py:1491
-#: ../roundup/backends/back_anydbm.py:2090
-#: ../roundup/backends/back_anydbm.py:898:911
-#: ../roundup/backends/rdbms_common.py:1581
-#: ../roundup/backends/rdbms_common.py:1818
-#: ../roundup/backends/rdbms_common.py:2053
-#: ../roundup/backends/rdbms_common.py:2073
-#: ../roundup/backends/rdbms_common.py:2126
-#: ../roundup/backends/rdbms_common.py:2964
-#: ../roundup/backends/rdbms_common.py:1581:1818 :1171:1201 :1427:1445:1491
-#: :2053:2073:2090 :2126:2964
+#: ../roundup/backends/back_anydbm.py:907
+#: ../roundup/backends/back_anydbm.py:920
+#: ../roundup/backends/back_anydbm.py:1191
+#: ../roundup/backends/back_anydbm.py:1226
+#: ../roundup/backends/back_anydbm.py:1452
+#: ../roundup/backends/back_anydbm.py:1470
+#: ../roundup/backends/back_anydbm.py:1516
+#: ../roundup/backends/back_anydbm.py:2138
+#: ../roundup/backends/back_anydbm.py:907:920
+#: ../roundup/backends/rdbms_common.py:1600
+#: ../roundup/backends/rdbms_common.py:1847
+#: ../roundup/backends/rdbms_common.py:2082
+#: ../roundup/backends/rdbms_common.py:2102
+#: ../roundup/backends/rdbms_common.py:2155
+#: ../roundup/backends/rdbms_common.py:3025
+#: ../roundup/backends/rdbms_common.py:1600:1847 :1191:1226 :1452:1470:1516
+#: :2082:2102:2138 :2155:3025
 msgid "Database open read-only"
 msgstr ""
 
-#: ../roundup/backends/rdbms_common.py:549
+#: ../roundup/backends/rdbms_common.py:553
 #, python-format
 msgid "ALTER operation disallowed: %(old)r -> %(new)r."
 msgstr ""
 
-#: ../roundup/backends/rdbms_common.py:785
+#: ../roundup/backends/rdbms_common.py:789
 #, python-format
 msgid "CREATE operation disallowed: \"%s\"."
 msgstr ""
 
-#: ../roundup/backends/rdbms_common.py:802
+#: ../roundup/backends/rdbms_common.py:806
 #, python-format
 msgid "DROP operation disallowed: \"%s\"."
 msgstr ""
 
-#: ../roundup/backends/rdbms_common.py:1719
+#: ../roundup/backends/rdbms_common.py:1743
 msgid "create"
 msgstr "crea"
 
-#: ../roundup/backends/rdbms_common.py:1888
+#: ../roundup/backends/rdbms_common.py:1917
 msgid "unlink"
 msgstr "desenlaza"
 
-#: ../roundup/backends/rdbms_common.py:1892
+#: ../roundup/backends/rdbms_common.py:1921
 msgid "link"
 msgstr "enlaza"
 
-#: ../roundup/backends/rdbms_common.py:2034
+#: ../roundup/backends/rdbms_common.py:2063
 msgid "set"
 msgstr "asigna"
 
-#: ../roundup/backends/rdbms_common.py:2063
+#: ../roundup/backends/rdbms_common.py:2092
 msgid "retired"
 msgstr "retira"
 
-#: ../roundup/backends/rdbms_common.py:2093
+#: ../roundup/backends/rdbms_common.py:2122
 msgid "restored"
 msgstr "restaura"
 
@@ -1585,7 +1638,7 @@
 msgid "You do not have permission to view %(class)s"
 msgstr "Ud. no posee los permisos necesarios para editar %(class)s"
 
-#: ../roundup/cgi/cgitb.py:53
+#: ../roundup/cgi/cgitb.py:57
 #, python-format
 msgid ""
 "<h1>Templating Error</h1>\n"
@@ -1596,27 +1649,27 @@
 "<p><b>%(exc_type)s</b>: %(exc_value)s</p>\n"
 "<p class=\"help\">Información de depuración:</p>"
 
-#: ../roundup/cgi/cgitb.py:68
+#: ../roundup/cgi/cgitb.py:72
 #, python-format
 msgid "<li>\"%(name)s\" (%(info)s)</li>"
 msgstr "<li>\"%(name)s\" (%(info)s)</li>"
 
-#: ../roundup/cgi/cgitb.py:71
+#: ../roundup/cgi/cgitb.py:75
 #, python-format
 msgid "<li>Looking for \"%(name)s\", current path:<ol>%(path)s</ol></li>"
 msgstr "<li>Buscando \"%(name)s\", ruta actual:<ol>%(path)s</ol></li>"
 
-#: ../roundup/cgi/cgitb.py:75
+#: ../roundup/cgi/cgitb.py:79
 #, python-format
 msgid "<li>In %s</li>"
 msgstr "<li>En %s</li>"
 
-#: ../roundup/cgi/cgitb.py:80
+#: ../roundup/cgi/cgitb.py:84
 #, python-format
 msgid "A problem occurred in your template \"%s\"."
 msgstr "Ha ocurrido un problema en su template \"%s\"."
 
-#: ../roundup/cgi/cgitb.py:88
+#: ../roundup/cgi/cgitb.py:92
 #, python-format
 msgid ""
 "\n"
@@ -1635,16 +1688,16 @@
 " %(locals)s\n"
 "</table></li>\n"
 
-#: ../roundup/cgi/cgitb.py:107
+#: ../roundup/cgi/cgitb.py:111
 msgid "Full traceback:"
 msgstr "Traza completa"
 
-#: ../roundup/cgi/cgitb.py:120
+#: ../roundup/cgi/cgitb.py:125
 #, python-format
 msgid "<font size=+1><strong>%(exc_type)s</strong>: %(exc_value)s</font>"
 msgstr "<font size=+1><strong>%(exc_type)s</strong>: %(exc_value)s</font>"
 
-#: ../roundup/cgi/cgitb.py:124
+#: ../roundup/cgi/cgitb.py:129
 msgid ""
 "<p>A problem occurred while running a Python script. Here is the sequence of "
 "function calls leading up to the error, with the most recent (innermost) "
@@ -1654,19 +1707,19 @@
 "de llamadas a funciones que llevaron al error, con la llamada mas reciente "
 "(la mas anidada) ubicada primera. Los atributos de la excepción son:"
 
-#: ../roundup/cgi/cgitb.py:133
+#: ../roundup/cgi/cgitb.py:138
 msgid "&lt;file is None - probably inside <tt>eval</tt> or <tt>exec</tt>&gt;"
 msgstr ""
 "&lt;file es None - probablemente dentro de <tt>eval</tt> or <tt>exec</tt>&gt;"
 
-#: ../roundup/cgi/cgitb.py:142
+#: ../roundup/cgi/cgitb.py:147
 #, python-format
 msgid "in <strong>%s</strong>"
 msgstr "en <strong>%s</strong>"
 
 # ../roundup/cgi/cgitb.py:172 :178
-#: ../roundup/cgi/cgitb.py:187 ../roundup/cgi/cgitb.py:193
-#: ../roundup/cgi/cgitb.py:187:193
+#: ../roundup/cgi/cgitb.py:195 ../roundup/cgi/cgitb.py:201
+#: ../roundup/cgi/cgitb.py:195:201
 msgid "<em>undefined</em>"
 msgstr "<em>indefinido/a</em>"
 
@@ -1685,155 +1738,155 @@
 "p>\n"
 "</body></html>"
 
-#: ../roundup/cgi/client.py:794
+#: ../roundup/cgi/client.py:795
 msgid "Form Error: "
 msgstr "Error de formulario"
 
-#: ../roundup/cgi/client.py:884
+#: ../roundup/cgi/client.py:885
 #, python-format
 msgid "Unrecognized charset: %r"
 msgstr "Conjunto de caracteres desconocido: %r"
 
-#: ../roundup/cgi/client.py:1132
+#: ../roundup/cgi/client.py:1140
 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:1205
+#: ../roundup/cgi/client.py:1213
 msgid "Referer header not available."
 msgstr ""
 
-#: ../roundup/cgi/client.py:1209
+#: ../roundup/cgi/client.py:1217
 #, python-format
 msgid "csrf key used with wrong method from: %s"
 msgstr ""
 
-#: ../roundup/cgi/client.py:1237
+#: ../roundup/cgi/client.py:1245
 #, python-format
 msgid "csrf header %s required but missing for user%s."
 msgstr ""
 
-#: ../roundup/cgi/client.py:1238
+#: ../roundup/cgi/client.py:1246
 #, python-format
 msgid "Missing header: %s"
 msgstr ""
 
-#: ../roundup/cgi/client.py:1248 ../roundup/cgi/client.py:1251
-#: ../roundup/cgi/client.py:1248:1251
+#: ../roundup/cgi/client.py:1256 ../roundup/cgi/client.py:1259
+#: ../roundup/cgi/client.py:1256:1259
 #, python-format
 msgid "csrf Referer header check failed for user%s. Value=%s"
 msgstr ""
 
-#: ../roundup/cgi/client.py:1249
+#: ../roundup/cgi/client.py:1257
 #, python-format
 msgid "Invalid Referer %s, %s"
 msgstr ""
 
-#: ../roundup/cgi/client.py:1264 ../roundup/cgi/client.py:1267
-#: ../roundup/cgi/client.py:1264:1267
+#: ../roundup/cgi/client.py:1272 ../roundup/cgi/client.py:1275
+#: ../roundup/cgi/client.py:1272:1275
 #, python-format
 msgid "csrf Origin header check failed for user%s. Value=%s"
 msgstr ""
 
 # ../roundup/cgi/actions.py:891 :895
-#: ../roundup/cgi/client.py:1265
+#: ../roundup/cgi/client.py:1273
 #, fuzzy, python-format
 msgid "Invalid Origin %s"
 msgstr "nombre de usuario ó contraseña inválidos"
 
-#: ../roundup/cgi/client.py:1279 ../roundup/cgi/client.py:1282
-#: ../roundup/cgi/client.py:1279:1282
+#: ../roundup/cgi/client.py:1287 ../roundup/cgi/client.py:1290
+#: ../roundup/cgi/client.py:1287:1290
 #, python-format
 msgid "csrf X-FORWARDED-HOST header check failed for user%s. Value=%s"
 msgstr ""
 
-#: ../roundup/cgi/client.py:1280
+#: ../roundup/cgi/client.py:1288
 #, python-format
 msgid "Invalid X-FORWARDED-HOST %s"
 msgstr ""
 
-#: ../roundup/cgi/client.py:1299 ../roundup/cgi/client.py:1302
-#: ../roundup/cgi/client.py:1299:1302
+#: ../roundup/cgi/client.py:1307 ../roundup/cgi/client.py:1310
+#: ../roundup/cgi/client.py:1307:1310
 #, python-format
 msgid "csrf HOST header check failed for user%s. Value=%s"
 msgstr ""
 
-#: ../roundup/cgi/client.py:1300
+#: ../roundup/cgi/client.py:1308
 #, python-format
 msgid "Invalid HOST %s"
 msgstr ""
 
-#: ../roundup/cgi/client.py:1308
+#: ../roundup/cgi/client.py:1316
 msgid "Csrf: unable to verify sufficient headers"
 msgstr ""
 
-#: ../roundup/cgi/client.py:1309
+#: ../roundup/cgi/client.py:1317
 msgid "Unable to verify sufficient headers"
 msgstr ""
 
-#: ../roundup/cgi/client.py:1322
+#: ../roundup/cgi/client.py:1330
 #, python-format
 msgid "csrf X-REQUESTED-WITH xmlrpc required header check failed for user%s."
 msgstr ""
 
-#: ../roundup/cgi/client.py:1323
+#: ../roundup/cgi/client.py:1331
 msgid "Required Header Missing"
 msgstr ""
 
-#: ../roundup/cgi/client.py:1360
+#: ../roundup/cgi/client.py:1368
 #, python-format
 msgid "Required csrf field missing for user%s"
 msgstr ""
 
-#: ../roundup/cgi/client.py:1361 ../roundup/cgi/client.py:1413
-#: ../roundup/cgi/client.py:1423 ../roundup/cgi/client.py:1361:1413:1423
+#: ../roundup/cgi/client.py:1369 ../roundup/cgi/client.py:1421
+#: ../roundup/cgi/client.py:1431 ../roundup/cgi/client.py:1369:1421:1431
 msgid ""
 "We can't validate your session (csrf failure). Re-enter any unsaved data and "
 "try again."
 msgstr ""
 
-#: ../roundup/cgi/client.py:1364
+#: ../roundup/cgi/client.py:1372
 #, python-format
 msgid "csrf field not supplied by user%s"
 msgstr ""
 
-#: ../roundup/cgi/client.py:1411
+#: ../roundup/cgi/client.py:1419
 #, 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:1416
+#: ../roundup/cgi/client.py:1424
 #, 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:1421
+#: ../roundup/cgi/client.py:1429
 #, 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:1426
+#: ../roundup/cgi/client.py:1434
 #, 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:1598
+#: ../roundup/cgi/client.py:1606
 msgid "You are not allowed to view this file."
 msgstr "Ud. no tiene permitido ver este fichero"
 
-#: ../roundup/cgi/client.py:1876
+#: ../roundup/cgi/client.py:1884
 #, python-format
 msgid "%(starttag)sTime elapsed: %(seconds)fs%(endtag)s\n"
 msgstr "%(starttag)sTiempo transcurrido: %(seconds)fs%(endtag)s\n"
 
-#: ../roundup/cgi/client.py:1880
+#: ../roundup/cgi/client.py:1888
 #, python-format
 msgid ""
 "%(starttag)sCache hits: %(cache_hits)d, misses %(cache_misses)d. Loading "
@@ -1910,66 +1963,66 @@
 msgid "You are not allowed to %(action)s items of class %(class)s"
 msgstr "Ud. no tiene permitido %(action)s items de la clase %(class)s"
 
-#: ../roundup/cgi/templating.py:791
+#: ../roundup/cgi/templating.py:798
 msgid "(list)"
 msgstr "(lista)"
 
-#: ../roundup/cgi/templating.py:863
+#: ../roundup/cgi/templating.py:871
 msgid "Submit New Entry"
 msgstr "Crear nuevo elemento"
 
 # ../roundup/cgi/templating.py:673 :792 :1166 :1187 :1231 :1253 :1287 :1326
 # :1377 :1394 :1470 :1490 :1503 :1520 :1530 :1580 :1755
-#: ../roundup/cgi/templating.py:885 ../roundup/cgi/templating.py:1046
-#: ../roundup/cgi/templating.py:1612 ../roundup/cgi/templating.py:1641
-#: ../roundup/cgi/templating.py:1661 ../roundup/cgi/templating.py:1674
-#: ../roundup/cgi/templating.py:1711 ../roundup/cgi/templating.py:1760
-#: ../roundup/cgi/templating.py:1783 ../roundup/cgi/templating.py:1790
-#: ../roundup/cgi/templating.py:1826 ../roundup/cgi/templating.py:1863
-#: ../roundup/cgi/templating.py:1896 ../roundup/cgi/templating.py:1985
-#: ../roundup/cgi/templating.py:2006 ../roundup/cgi/templating.py:2096
-#: ../roundup/cgi/templating.py:2116 ../roundup/cgi/templating.py:2134
-#: ../roundup/cgi/templating.py:2166 ../roundup/cgi/templating.py:2176
-#: ../roundup/cgi/templating.py:2240 ../roundup/cgi/templating.py:2487
-#: ../roundup/cgi/templating.py:885:1046 :1612:1641 :1661:1674 :1711:1760
-#: :1783:1790 :1826:1863 :1896:1985 :2006:2096 :2116:2134 :2166:2176 :2240:2487
+#: ../roundup/cgi/templating.py:893 ../roundup/cgi/templating.py:1061
+#: ../roundup/cgi/templating.py:1627 ../roundup/cgi/templating.py:1656
+#: ../roundup/cgi/templating.py:1676 ../roundup/cgi/templating.py:1689
+#: ../roundup/cgi/templating.py:1726 ../roundup/cgi/templating.py:1775
+#: ../roundup/cgi/templating.py:1798 ../roundup/cgi/templating.py:1805
+#: ../roundup/cgi/templating.py:1841 ../roundup/cgi/templating.py:1878
+#: ../roundup/cgi/templating.py:1911 ../roundup/cgi/templating.py:2000
+#: ../roundup/cgi/templating.py:2021 ../roundup/cgi/templating.py:2111
+#: ../roundup/cgi/templating.py:2131 ../roundup/cgi/templating.py:2149
+#: ../roundup/cgi/templating.py:2188 ../roundup/cgi/templating.py:2198
+#: ../roundup/cgi/templating.py:2262 ../roundup/cgi/templating.py:2509
+#: ../roundup/cgi/templating.py:893:1061 :1627:1656 :1676:1689 :1726:1775
+#: :1798:1805 :1841:1878 :1911:2000 :2021:2111 :2131:2149 :2188:2198 :2262:2509
 msgid "[hidden]"
 msgstr "[oculto]"
 
-#: ../roundup/cgi/templating.py:886
+#: ../roundup/cgi/templating.py:894
 msgid "New node - no history"
 msgstr "Nuevo nodo - sin historia"
 
-#: ../roundup/cgi/templating.py:1011
+#: ../roundup/cgi/templating.py:1026
 msgid "Submit Changes"
 msgstr "Enviar modificaciones"
 
-#: ../roundup/cgi/templating.py:1083
+#: ../roundup/cgi/templating.py:1098
 msgid "<em>The indicated property no longer exists</em>"
 msgstr "<em>La propiedad indicada ya no existe</em>"
 
-#: ../roundup/cgi/templating.py:1084
+#: ../roundup/cgi/templating.py:1099
 #, python-format
 msgid "<em>%s: %s</em>\n"
 msgstr "<em>%s: %s</em>\n"
 
-#: ../roundup/cgi/templating.py:1119
+#: ../roundup/cgi/templating.py:1134
 #, python-format
 msgid "The linked class %(classname)s no longer exists"
 msgstr "La clase relacionada %(classname)s ya no existe"
 
 # ../roundup/cgi/templating.py:903 :924
-#: ../roundup/cgi/templating.py:1157 ../roundup/cgi/templating.py:1183
-#: ../roundup/cgi/templating.py:1157:1183
+#: ../roundup/cgi/templating.py:1172 ../roundup/cgi/templating.py:1198
+#: ../roundup/cgi/templating.py:1172:1198
 msgid "<strike>The linked node no longer exists</strike>"
 msgstr "<strike>El nodo relacionado ya no existe</strike>"
 
-#: ../roundup/cgi/templating.py:1244
+#: ../roundup/cgi/templating.py:1259
 #, python-format
 msgid "%s: (no value)"
 msgstr "%s: (sin valor)"
 
-#: ../roundup/cgi/templating.py:1260
+#: ../roundup/cgi/templating.py:1275
 #, fuzzy, python-format
 msgid ""
 "<strong><em>This event %s is not handled by the history display!</em></"
@@ -1978,46 +2031,46 @@
 "<strong><em>Este evento no es soportado por la visualización de historia!</"
 "em></strong>"
 
-#: ../roundup/cgi/templating.py:1273
+#: ../roundup/cgi/templating.py:1288
 msgid "<tr><td colspan=4><strong>Note:</strong></td></tr>"
 msgstr "<tr><td colspan=4><strong>Nota:</strong></td></tr>"
 
-#: ../roundup/cgi/templating.py:1282
+#: ../roundup/cgi/templating.py:1297
 msgid "History"
 msgstr "Historia"
 
-#: ../roundup/cgi/templating.py:1284
+#: ../roundup/cgi/templating.py:1299
 msgid "<th>Date</th>"
 msgstr "<th>Fecha</th>"
 
-#: ../roundup/cgi/templating.py:1285
+#: ../roundup/cgi/templating.py:1300
 msgid "<th>User</th>"
 msgstr "<th>Usuario</th>"
 
-#: ../roundup/cgi/templating.py:1286
+#: ../roundup/cgi/templating.py:1301
 msgid "<th>Action</th>"
 msgstr "<th>Acción</th>"
 
-#: ../roundup/cgi/templating.py:1287
+#: ../roundup/cgi/templating.py:1302
 msgid "<th>Args</th>"
 msgstr "<th>Args</th>"
 
-#: ../roundup/cgi/templating.py:1335
+#: ../roundup/cgi/templating.py:1350
 #, python-format
 msgid "Copy of %(class)s %(id)s"
 msgstr "Copia de %(class)s %(id)s"
 
-#: ../roundup/cgi/templating.py:1900 ../roundup/cgi/templating.py:1933
-#: ../roundup/cgi/templating.py:1226:1900:1933
+#: ../roundup/cgi/templating.py:1915 ../roundup/cgi/templating.py:1948
+#: ../roundup/cgi/templating.py:1241:1915:1948
 msgid "No"
 msgstr "No"
 
-#: ../roundup/cgi/templating.py:1900 ../roundup/cgi/templating.py:1928
-#: ../roundup/cgi/templating.py:1226:1900:1928
+#: ../roundup/cgi/templating.py:1915 ../roundup/cgi/templating.py:1943
+#: ../roundup/cgi/templating.py:1241:1915:1943
 msgid "Yes"
 msgstr "Si"
 
-#: ../roundup/cgi/templating.py:2054
+#: ../roundup/cgi/templating.py:2069
 msgid ""
 "default value for DateHTMLProperty must be either DateHTMLProperty or string "
 "date representation."
@@ -2025,17 +2078,17 @@
 "el valor por defecto para DateHTMLProperty debe ser un DateHTMLProperty o "
 "una cadena que represente una fecha."
 
-#: ../roundup/cgi/templating.py:2220
+#: ../roundup/cgi/templating.py:2242
 #, python-format
 msgid "Attempt to look up %(attr)s on a missing value"
 msgstr "Se intentó buscar %(attr)s en un valor faltante"
 
-#: ../roundup/cgi/templating.py:2231
+#: ../roundup/cgi/templating.py:2253
 #, fuzzy, python-format
 msgid "Attempt to look up %(item)s on a missing value"
 msgstr "Se intentó buscar %(attr)s en un valor faltante"
 
-#: ../roundup/cgi/templating.py:2334
+#: ../roundup/cgi/templating.py:2356
 #, python-format
 msgid "<option %svalue=\"-1\">- no selection -</option>"
 msgstr "<option %svalue=\"-1\">- sin selección -</option>"
@@ -2053,7 +2106,7 @@
 msgid "Responding to form too quickly."
 msgstr ""
 
-#: ../roundup/date.py:384
+#: ../roundup/date.py:391
 #, fuzzy, python-format
 msgid ""
 "Not a date spec: %r (\"yyyy-mm-dd\", \"mm-dd\", \"HH:MM\", \"HH:MM:SS\" or "
@@ -2062,11 +2115,11 @@
 "No es una especificación de fecha: \"aaaa-mm-dd\", \"mm-dd\", \"HH:MM\", "
 "\"HH:MM:SS\" o \"aaaa-mm-dd.HH:MM:SS.SSS\""
 
-#: ../roundup/date.py:407
+#: ../roundup/date.py:414
 msgid "Could not determine granularity"
 msgstr ""
 
-#: ../roundup/date.py:459
+#: ../roundup/date.py:466
 #, python-format
 msgid ""
 "%r not a date / time spec \"yyyy-mm-dd\", \"mm-dd\", \"HH:MM\", \"HH:MM:SS\" "
@@ -2075,7 +2128,7 @@
 "%r no es una especificación de fecha / hora \"aaaa-mm-dd\", \"mm-dd\", \"HH:"
 "MM\", \"HH:MM:SS\" o \"aaaa-mm-dd.HH:MM:SS.SSS\""
 
-#: ../roundup/date.py:824
+#: ../roundup/date.py:838
 #, fuzzy, python-format
 msgid ""
 "Not an interval spec: \"%s\" ([+-] [#y] [#m] [#w] [#d] [[[H]H:MM]:SS] [date "
@@ -2084,158 +2137,158 @@
 "No es una especificación de intervalo de tiempo: [+-] [#a] [#m] [#s] [#d] "
 "[[[H]H:MM]:SS] [especific. fecha]"
 
-#: ../roundup/date.py:847
+#: ../roundup/date.py:861
 #, fuzzy, python-format
 msgid "Not an interval spec: \"%s\" ([+-] [#y] [#m] [#w] [#d] [[[H]H:MM]:SS])"
 msgstr ""
 "No es una especificación de intervalo de tiempo: [+-] [#a] [#m] [#s] [#d] "
 "[[[H]H:MM]:SS]"
 
-#: ../roundup/date.py:1024
+#: ../roundup/date.py:1038
 #, python-format
 msgid "%(number)s year"
 msgid_plural "%(number)s years"
 msgstr[0] "%(number)s año"
 msgstr[1] "%(number)s años"
 
-#: ../roundup/date.py:1028
+#: ../roundup/date.py:1042
 #, python-format
 msgid "%(number)s month"
 msgid_plural "%(number)s months"
 msgstr[0] "%(number)s mes"
 msgstr[1] "%(number)s meses"
 
-#: ../roundup/date.py:1032
+#: ../roundup/date.py:1046
 #, python-format
 msgid "%(number)s week"
 msgid_plural "%(number)s weeks"
 msgstr[0] "%(number)s semana"
 msgstr[1] "%(number)s semanas"
 
-#: ../roundup/date.py:1036
+#: ../roundup/date.py:1050
 #, python-format
 msgid "%(number)s day"
 msgid_plural "%(number)s days"
 msgstr[0] "%(number)s día"
 msgstr[1] "%(number)s días"
 
-#: ../roundup/date.py:1040
+#: ../roundup/date.py:1054
 msgid "tomorrow"
 msgstr "mañana"
 
-#: ../roundup/date.py:1042
+#: ../roundup/date.py:1056
 msgid "yesterday"
 msgstr "ayer"
 
-#: ../roundup/date.py:1045
+#: ../roundup/date.py:1059
 #, python-format
 msgid "%(number)s hour"
 msgid_plural "%(number)s hours"
 msgstr[0] "%(number)s hora"
 msgstr[1] "%(number)s horas"
 
-#: ../roundup/date.py:1049
+#: ../roundup/date.py:1063
 msgid "an hour"
 msgstr "una hora"
 
-#: ../roundup/date.py:1051
+#: ../roundup/date.py:1065
 msgid "1 1/2 hours"
 msgstr "1 hora y 1/2"
 
-#: ../roundup/date.py:1053
+#: ../roundup/date.py:1067
 #, python-format
 msgid "1 %(number)s/4 hours"
 msgid_plural "1 %(number)s/4 hours"
 msgstr[0] "1 %(number)s/4 de hora"
 msgstr[1] "1 %(number)s/4 de hora"
 
-#: ../roundup/date.py:1057
+#: ../roundup/date.py:1072
 msgid "in a moment"
 msgstr "en un momento"
 
-#: ../roundup/date.py:1059
+#: ../roundup/date.py:1074
 msgid "just now"
 msgstr "ahora"
 
-#: ../roundup/date.py:1062
+#: ../roundup/date.py:1077
 msgid "1 minute"
 msgstr "1 minuto"
 
-#: ../roundup/date.py:1065
+#: ../roundup/date.py:1080
 #, python-format
 msgid "%(number)s minute"
 msgid_plural "%(number)s minutes"
 msgstr[0] "%(number)s minuto"
 msgstr[1] "%(number)s minutos"
 
-#: ../roundup/date.py:1068
+#: ../roundup/date.py:1083
 msgid "1/2 an hour"
 msgstr "media hora"
 
-#: ../roundup/date.py:1070
+#: ../roundup/date.py:1085
 #, python-format
 msgid "%(number)s/4 hour"
 msgid_plural "%(number)s/4 hours"
 msgstr[0] "%(number)s/4 de hora"
 msgstr[1] "%(number)s/4s de hora"
 
-#: ../roundup/date.py:1074
+#: ../roundup/date.py:1089
 #, python-format
 msgid "%s ago"
 msgstr "hace %s"
 
-#: ../roundup/date.py:1076
+#: ../roundup/date.py:1091
 #, python-format
 msgid "in %s"
 msgstr "en %s"
 
-#: ../roundup/hyperdb.py:103
+#: ../roundup/hyperdb.py:114
 #, fuzzy, python-format
 msgid "property %s: %s"
 msgstr "Error: %s: %s"
 
-#: ../roundup/hyperdb.py:130
+#: ../roundup/hyperdb.py:141
 #, python-format
 msgid "property %s: %r is an invalid date (%s)"
 msgstr ""
 
-#: ../roundup/hyperdb.py:151
+#: ../roundup/hyperdb.py:162
 #, python-format
 msgid "property %s: %r is an invalid date interval (%s)"
 msgstr ""
 
-#: ../roundup/hyperdb.py:349
+#: ../roundup/hyperdb.py:416
 #, python-format
 msgid "property %s: %r is not a number"
 msgstr ""
 
-#: ../roundup/hyperdb.py:361
+#: ../roundup/hyperdb.py:428
 #, python-format
 msgid "property %s: %r is not an integer"
 msgstr ""
 
-#: ../roundup/hyperdb.py:378
+#: ../roundup/hyperdb.py:445
 #, python-format
 msgid "\"%s\" not a node designator"
 msgstr ""
 
-#: ../roundup/hyperdb.py:1258 ../roundup/hyperdb.py:1266
-#: ../roundup/hyperdb.py:1258:1266
+#: ../roundup/hyperdb.py:1380 ../roundup/hyperdb.py:1388
+#: ../roundup/hyperdb.py:1380:1388
 #, python-format
 msgid "Not a property name: %s"
 msgstr ""
 
-#: ../roundup/hyperdb.py:1707
+#: ../roundup/hyperdb.py:1829
 #, python-format
 msgid "property %s: %r is not a %s."
 msgstr ""
 
-#: ../roundup/hyperdb.py:1710
+#: ../roundup/hyperdb.py:1832
 #, python-format
 msgid "you may only enter ID values for property %s"
 msgstr ""
 
-#: ../roundup/hyperdb.py:1744
+#: ../roundup/hyperdb.py:1866
 #, python-format
 msgid "%r is not a property of %s"
 msgstr ""
@@ -2556,7 +2609,7 @@
 msgid "not of form [arg=value,value,...;arg=value,value,...]"
 msgstr "no es de la forma [arg=valor,valor,...;arg=valor,valor,...]"
 
-#: ../roundup/rest.py:1830
+#: ../roundup/rest.py:1838
 #, python-format
 msgid "Api rate limits exceeded. Please wait: %s seconds."
 msgstr ""
@@ -4263,6 +4316,10 @@
 msgid "Please log in or register."
 msgstr "Por favor ingrese al sistema o regístrese en el mismo."
 
+#, fuzzy
+#~ msgid " %(description)s (%(name)s for \"%(klass)s\" "
+#~ msgstr " %(description)s (%(name)s para \"%(klass)s\" solamente)"
+
 #~ msgid "Error: a later version of python is required"
 #~ msgstr "Error: se require una versión mas reciente de python"
 

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