diff locale/ru.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/ru.po	Sun Jul 12 23:51:25 2020 -0400
+++ b/locale/ru.po	Sun Jul 12 23:52:10 2020 -0400
@@ -7,7 +7,7 @@
 msgstr ""
 "Project-Id-Version: Roundup 1.3.2\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 12:21+0100\n"
 "Last-Translator: alexander smishlajev <alex@tycobka.lv>\n"
 "Language-Team: Russian\n"
@@ -29,18 +29,18 @@
 msgid "You may not retire the admin or anonymous user"
 msgstr "Нельзя удалять пользователей admin и anonymous."
 
-#: ../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 "Класс \"%(classname)s\" не существует"
 
-#: ../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 "аргумент \"%(arg)s\" должен иметь вид имя=значение"
 
-#: ../roundup/admin.py:119
+#: ../roundup/admin.py:120
 #, python-format
 msgid ""
 "Problem: %(message)s\n"
@@ -49,7 +49,7 @@
 "Ошибка: %(message)s\n"
 "\n"
 
-#: ../roundup/admin.py:120
+#: ../roundup/admin.py:121
 #, 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:147
+#: ../roundup/admin.py:148
 #, fuzzy
 msgid "Commands: "
 msgstr "Команды:"
 
-#: ../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."
@@ -117,7 +117,7 @@
 # но мне это совсем не нравится.
 #
 # что лучше написать вместо "ввести с терминала"?
-#: ../roundup/admin.py:181
+#: ../roundup/admin.py:182
 msgid ""
 "\n"
 "All commands (except help) require a tracker specifier. This is just\n"
@@ -248,12 +248,12 @@
 "\n"
 "Справка по командам:\n"
 
-#: ../roundup/admin.py:244
+#: ../roundup/admin.py:245
 #, python-format
 msgid "%s:"
 msgstr ""
 
-#: ../roundup/admin.py:249
+#: ../roundup/admin.py:250
 msgid ""
 "Usage: help topic\n"
 "        Give help about topic.\n"
@@ -338,13 +338,14 @@
 "        См.также \"help initopts\".\n"
 "        "
 
-#: ../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 "Недостаточно аргументов"
 
@@ -425,10 +426,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 ""
 "Вызов: genconfig <имя файла>\n"
@@ -496,7 +498,7 @@
 "Повторная инициализация уничтожит все ваши данные!\n"
 "Удалить существующую базу? Y/N: "
 
-#: ../roundup/admin.py:574
+#: ../roundup/admin.py:573
 #, fuzzy
 msgid ""
 "Usage: get property designator[,designator]*\n"
@@ -517,24 +519,24 @@
 "        перечисленных в списке описателей.\n"
 "        "
 
-#: ../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 ""
 "Ключ '-d' неприменим, потому что тип атрибута %s - не Link и не Multilink"
 
-#: ../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 "В классе %(classname)s нет объекта \"%(nodeid)s\""
 
-#: ../roundup/admin.py:647
+#: ../roundup/admin.py:646
 #, python-format
 msgid "no such %(classname)s property \"%(propname)s\""
 msgstr "У класса %(classname)s нет атрибута \"%(propname)s\""
 
-#: ../roundup/admin.py:656
+#: ../roundup/admin.py:654
 #, fuzzy
 msgid ""
 "Usage: set items property=value property=value ...\n"
@@ -546,11 +548,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 ""
 "Вызов: set items атрибут=значение атрибут=значение ...\n"
@@ -568,6 +572,34 @@
 "        "
 
 #: ../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 ""
+"Вызов: find класс атрибут=значение ...\n"
+"        Найти объекты класса с данным значением ссылочного атрибута.\n"
+"\n"
+"        Найти объекты указанного класса с данным значением ссылочного\n"
+"        атрибута.  Значение может быть идентификатором объекта, на\n"
+"        который ссылается атрибут, или ключом этого объекта.\n"
+"        "
+
+#: ../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 не имеет атрибута \"%(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"
@@ -585,13 +617,7 @@
 "        который ссылается атрибут, или ключом этого объекта.\n"
 "        "
 
-#: ../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 не имеет атрибута \"%(propname)s\""
-
-#: ../roundup/admin.py:782
+#: ../roundup/admin.py:845
 msgid ""
 "Usage: specification classname\n"
 "        Show the properties for a classname.\n"
@@ -605,27 +631,28 @@
 "        Выдает список атрибутов указанного класса.\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 (ключевой атрибут)"
 
-#: ../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 ""
 "Вызов: display описатель[,описатель]*\n"
@@ -635,12 +662,12 @@
 "        заданных описателями.\n"
 "        "
 
-#: ../roundup/admin.py:829
+#: ../roundup/admin.py:894
 #, python-format
 msgid "%(key)s: %(value)s"
 msgstr ""
 
-#: ../roundup/admin.py:832
+#: ../roundup/admin.py:897
 msgid ""
 "Usage: create classname property=value ...\n"
 "        Create a new entry of a given class.\n"
@@ -658,31 +685,31 @@
 "        этого объекта указанными значениями.\n"
 "        "
 
-#: ../roundup/admin.py:860
+#: ../roundup/admin.py:925
 #, python-format
 msgid "%(propname)s (Password): "
 msgstr " %(propname)s (пароль): "
 
-#: ../roundup/admin.py:862
+#: ../roundup/admin.py:928
 #, python-format
 msgid "   %(propname)s (Again): "
 msgstr "%(propname)s (еще раз): "
 
-#: ../roundup/admin.py:864
+#: ../roundup/admin.py:931
 msgid "Sorry, try again..."
 msgstr "Пароли не совпали.  Попробуйте еще раз."
 
-#: ../roundup/admin.py:868
+#: ../roundup/admin.py:935
 #, python-format
 msgid "%(propname)s (%(proptype)s): "
 msgstr ""
 
-#: ../roundup/admin.py:886
+#: ../roundup/admin.py:953
 #, python-format
 msgid "you must provide the \"%(propname)s\" property."
 msgstr "Атрибут \"%(propname)s\" должен быть заполнен."
 
-#: ../roundup/admin.py:898
+#: ../roundup/admin.py:965
 msgid ""
 "Usage: list classname [property]\n"
 "        List the instances of a class.\n"
@@ -711,16 +738,16 @@
 "        выдает список значений этого атрибута.\n"
 "        "
 
-#: ../roundup/admin.py:911
+#: ../roundup/admin.py:978
 msgid "Too many arguments supplied"
 msgstr "Подано слишком много параметров"
 
-#: ../roundup/admin.py:947
+#: ../roundup/admin.py:1014
 #, python-format
 msgid "%(nodeid)4s: %(value)s"
 msgstr ""
 
-#: ../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"
@@ -780,12 +807,17 @@
 "        обрезает значения столбца \"Name\" до четырех символов.\n"
 "        "
 
-#: ../roundup/admin.py:995
+#: ../roundup/admin.py:1062
 #, python-format
 msgid "\"%(spec)s\" not name:width"
 msgstr "Значение \"%(spec)s\" должно быть задано как имя:ширина"
 
-#: ../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"
@@ -800,7 +832,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"
@@ -824,7 +856,7 @@
 "        автоматически, если при выполнении команды не произошло ошибки.\n"
 "        "
 
-#: ../roundup/admin.py:1097
+#: ../roundup/admin.py:1171
 msgid ""
 "Usage: rollback\n"
 "        Undo all changes that are pending commit to the database.\n"
@@ -845,7 +877,7 @@
 "        было в момент последней записи.\n"
 "        "
 
-#: ../roundup/admin.py:1110
+#: ../roundup/admin.py:1184
 #, fuzzy
 msgid ""
 "Usage: retire designator[,designator]*\n"
@@ -867,7 +899,7 @@
 "        использованы в других объектах.\n"
 "        "
 
-#: ../roundup/admin.py:1138
+#: ../roundup/admin.py:1212
 #, fuzzy
 msgid ""
 "Usage: restore designator[,designator]*\n"
@@ -886,8 +918,13 @@
 "        можно пользоваться снова.\n"
 "        "
 
+#: ../roundup/admin.py:1233
+#, fuzzy
+msgid "no such %(classname)s node \" % (nodeid)s\""
+msgstr "В классе %(classname)s нет объекта \"%(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"
@@ -924,7 +961,7 @@
 "        exporttables.\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"
@@ -962,7 +999,7 @@
 "        полностью, используйте команду export.\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"
@@ -1006,7 +1043,15 @@
 "        из существующей базы все объекты).\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"
@@ -1046,11 +1091,11 @@
 "\n"
 "        "
 
-#: ../roundup/admin.py:1384
+#: ../roundup/admin.py:1466
 msgid "Invalid format"
 msgstr "Неправильный формат"
 
-#: ../roundup/admin.py:1395
+#: ../roundup/admin.py:1477
 msgid ""
 "Usage: reindex [classname|designator]*\n"
 "        Re-generate a tracker's search indexes.\n"
@@ -1066,15 +1111,17 @@
 "        данных.  Обычно построение индексов происходит автоматически.\n"
 "        "
 
-#: ../roundup/admin.py:1409
+#: ../roundup/admin.py:1491
 #, python-format
 msgid "no such item \"%(designator)s\""
 msgstr "объект \"%(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 ""
 "Вызов: security [роль]\n"
@@ -1082,49 +1129,49 @@
 "        ролям.\n"
 "        "
 
-#: ../roundup/admin.py:1427
+#: ../roundup/admin.py:1510
 #, fuzzy, python-format
 msgid "No such Role \"%(role)s\"\n"
 msgstr "Роль \"%(role)s\" не существует"
 
-#: ../roundup/admin.py:1433
+#: ../roundup/admin.py:1516
 #, fuzzy, python-format
 msgid "New Web users get the Roles \"%(role)s\"\n"
 msgstr "Новые пользователи web получают роли \"%(role)s\""
 
-#: ../roundup/admin.py:1435
+#: ../roundup/admin.py:1519
 #, fuzzy, python-format
 msgid "New Web users get the Role \"%(role)s\"\n"
 msgstr "Новые пользователи web получают роль \"%(role)s\""
 
-#: ../roundup/admin.py:1438
+#: ../roundup/admin.py:1523
 #, fuzzy, python-format
 msgid "New Email users get the Roles \"%(role)s\"\n"
 msgstr "Новые пользователи email получают роли \"%(role)s\""
 
-#: ../roundup/admin.py:1440
+#: ../roundup/admin.py:1525
 #, fuzzy, python-format
 msgid "New Email users get the Role \"%(role)s\"\n"
 msgstr "Новые пользователи email получают роль \"%(role)s\""
 
-#: ../roundup/admin.py:1443
+#: ../roundup/admin.py:1528
 #, fuzzy, python-format
 msgid "Role \"%(name)s\":\n"
 msgstr "Роль \"%(name)s\":"
 
-#: ../roundup/admin.py:1448
+#: ../roundup/admin.py:1533
 #, fuzzy
 msgid " %(description)s (%(name)s for \"%(klass)s\""
 msgstr " %(description)s (%(name)s только для класса \"%(klass)s\")"
 
-#: ../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 для класса \"%(klass)s\": только свойства "
 "%(properties)s)"
 
-#: ../roundup/admin.py:1460
+#: ../roundup/admin.py:1545
 #, python-format
 msgid ""
 "\n"
@@ -1132,82 +1179,77 @@
 "\n"
 msgstr ""
 
-#: ../roundup/admin.py:1462
-#, fuzzy
-msgid " %(description)s (%(name)s for \"%(klass)s\" "
-msgstr " %(description)s (%(name)s только для класса \"%(klass)s\")"
-
-#: ../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 только для класса \"%(klass)s\")"
 
-#: ../roundup/admin.py:1465
+#: ../roundup/admin.py:1550
 #, fuzzy, python-format
 msgid " %(description)s (%(name)s)\n"
 msgstr " %(description)s (%(name)s только для класса \"%(klass)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 "Центр управления заданиями"
 
-#: ../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 ""
 "Команда \"%(command)s\" неизвестна. (\"help commands\" выдает список команд)"
 
-#: ../roundup/admin.py:1524
+#: ../roundup/admin.py:1610
 #, python-format
 msgid "Multiple commands match \"%(command)s\": %(list)s"
 msgstr "\"%(command)s\" соответствует нескольким командам: %(list)s"
 
-#: ../roundup/admin.py:1532
+#: ../roundup/admin.py:1619
 msgid "Enter tracker home: "
 msgstr "Домашний каталог трекера: "
 
-#: ../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 "Ошибка: %(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 "Ошибка: Трекер не открывается: %(message)s"
 
-#: ../roundup/admin.py:1586
+#: ../roundup/admin.py:1673
 #, python-format
 msgid ""
 "Roundup %s ready for input.\n"
@@ -1216,88 +1258,95 @@
 "Roundup %s к вашим услугам.\n"
 "Введите \"help\" для справки."
 
-#: ../roundup/admin.py:1591
+#: ../roundup/admin.py:1678
 msgid "Note: command history and editing not available"
 msgstr "Примечание: работает редактор и история команд"
 
-#: ../roundup/admin.py:1595
+#: ../roundup/admin.py:1682
 msgid "roundup> "
 msgstr ""
 
-#: ../roundup/admin.py:1597
+#: ../roundup/admin.py:1684
 msgid "exit..."
 msgstr "приходите к нам еще..."
 
-#: ../roundup/admin.py:1610
+#: ../roundup/admin.py:1697
 msgid "There are unsaved changes. Commit them (y/N)? "
 msgstr "Ой, тут несохраненные изменения. Записать в базу данных (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 "создание"
 
-#: ../roundup/backends/rdbms_common.py:1888
+#: ../roundup/backends/rdbms_common.py:1917
 msgid "unlink"
 msgstr "отвязка"
 
-#: ../roundup/backends/rdbms_common.py:1892
+#: ../roundup/backends/rdbms_common.py:1921
 msgid "link"
 msgstr "привязка"
 
-#: ../roundup/backends/rdbms_common.py:2034
+#: ../roundup/backends/rdbms_common.py:2063
 msgid "set"
 msgstr "установка"
 
-#: ../roundup/backends/rdbms_common.py:2063
+#: ../roundup/backends/rdbms_common.py:2092
 msgid "retired"
 msgstr "запрещение"
 
-#: ../roundup/backends/rdbms_common.py:2093
+#: ../roundup/backends/rdbms_common.py:2122
 msgid "restored"
 msgstr "восстановление"
 
@@ -1556,7 +1605,7 @@
 msgid "You do not have permission to view %(class)s"
 msgstr "У вас нет разрешения редактировать %(class)s"
 
-#: ../roundup/cgi/cgitb.py:53
+#: ../roundup/cgi/cgitb.py:57
 #, python-format
 msgid ""
 "<h1>Templating Error</h1>\n"
@@ -1567,27 +1616,27 @@
 "<p><b>%(exc_type)s</b>: %(exc_value)s</p>\n"
 "<p class=\"help\">Информация об ошибке:</p>"
 
-#: ../roundup/cgi/cgitb.py:68
+#: ../roundup/cgi/cgitb.py:72
 #, python-format
 msgid "<li>\"%(name)s\" (%(info)s)</li>"
 msgstr ""
 
-#: ../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>Символ \"%(name)s\" не найден в пути:<ol>%(path)s</ol><li>"
 
-#: ../roundup/cgi/cgitb.py:75
+#: ../roundup/cgi/cgitb.py:79
 #, python-format
 msgid "<li>In %s</li>"
 msgstr "<li>В %s</li>"
 
-#: ../roundup/cgi/cgitb.py:80
+#: ../roundup/cgi/cgitb.py:84
 #, python-format
 msgid "A problem occurred in your template \"%s\"."
 msgstr "Ошибка произошла при обработке шаблона \"%s\"."
 
-#: ../roundup/cgi/cgitb.py:88
+#: ../roundup/cgi/cgitb.py:92
 #, python-format
 msgid ""
 "\n"
@@ -1607,16 +1656,16 @@
 " %(locals)s\n"
 "</table></li>\n"
 
-#: ../roundup/cgi/cgitb.py:107
+#: ../roundup/cgi/cgitb.py:111
 msgid "Full traceback:"
 msgstr "Стек вызовов:"
 
-#: ../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 ""
 
-#: ../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) "
@@ -1627,19 +1676,19 @@
 "которой произошла ошибка, - последняя вызванная функция - показана первой.  "
 "Информация об ошибке:"
 
-#: ../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;имя файла не определено - вероятно вызвано из <tt>eval</tt> или "
 "<tt>exec</tt>&gt;"
 
-#: ../roundup/cgi/cgitb.py:142
+#: ../roundup/cgi/cgitb.py:147
 #, python-format
 msgid "in <strong>%s</strong>"
 msgstr "в <strong>%s</strong>"
 
-#: ../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>неопределено</em>"
 
@@ -1657,154 +1706,154 @@
 "Администратору трекера отослано сообщение об ошибке.</p>\n"
 "</body></html>"
 
-#: ../roundup/cgi/client.py:794
+#: ../roundup/cgi/client.py:795
 msgid "Form Error: "
 msgstr "Ошибка формы: "
 
-#: ../roundup/cgi/client.py:884
+#: ../roundup/cgi/client.py:885
 #, python-format
 msgid "Unrecognized charset: %r"
 msgstr "Кодировка %r не распознана"
 
-#: ../roundup/cgi/client.py:1132
+#: ../roundup/cgi/client.py:1140
 msgid "Anonymous users are not allowed to use the web interface"
 msgstr "Анонимным пользователям не разрешено пользоваться веб-интерфейсом."
 
-#: ../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/client.py:1265
+#: ../roundup/cgi/client.py:1273
 #, fuzzy, python-format
 msgid "Invalid Origin %s"
 msgstr "Неправильный пароль или имя пользователя."
 
-#: ../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 "У вас нет разрешения на просмотр этого файла."
 
-#: ../roundup/cgi/client.py:1876
+#: ../roundup/cgi/client.py:1884
 #, python-format
 msgid "%(starttag)sTime elapsed: %(seconds)fs%(endtag)s\n"
 msgstr "%(starttag)sЗатраченное время: %(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 "
@@ -1876,112 +1925,112 @@
 msgid "You are not allowed to %(action)s items of class %(class)s"
 msgstr "У вас нет разрешения %(action)s для класса %(class)s"
 
-#: ../roundup/cgi/templating.py:791
+#: ../roundup/cgi/templating.py:798
 msgid "(list)"
 msgstr "(список)"
 
-#: ../roundup/cgi/templating.py:863
+#: ../roundup/cgi/templating.py:871
 msgid "Submit New Entry"
 msgstr "Добавить"
 
 # ../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 "[недоступно]"
 
-#: ../roundup/cgi/templating.py:886
+#: ../roundup/cgi/templating.py:894
 msgid "New node - no history"
 msgstr "Новая карточка - нет истории"
 
-#: ../roundup/cgi/templating.py:1011
+#: ../roundup/cgi/templating.py:1026
 msgid "Submit Changes"
 msgstr "Изменить"
 
-#: ../roundup/cgi/templating.py:1083
+#: ../roundup/cgi/templating.py:1098
 msgid "<em>The indicated property no longer exists</em>"
 msgstr "<em>Указанный атрибут уже не существует.</em>"
 
-#: ../roundup/cgi/templating.py:1084
+#: ../roundup/cgi/templating.py:1099
 #, python-format
 msgid "<em>%s: %s</em>\n"
 msgstr ""
 
-#: ../roundup/cgi/templating.py:1119
+#: ../roundup/cgi/templating.py:1134
 #, python-format
 msgid "The linked class %(classname)s no longer exists"
 msgstr "Связянный класс %(classname)s уже не существует"
 
 # :823
-#: ../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>Связанный объект уже не существует</strike>"
 
-#: ../roundup/cgi/templating.py:1244
+#: ../roundup/cgi/templating.py:1259
 #, python-format
 msgid "%s: (no value)"
 msgstr "%s: (нет значения)"
 
-#: ../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></"
 "strong>"
 msgstr "<strong><em>Неизвестный тип события!</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>Примечание:</strong></td></tr>"
 
-#: ../roundup/cgi/templating.py:1282
+#: ../roundup/cgi/templating.py:1297
 msgid "History"
 msgstr "История"
 
-#: ../roundup/cgi/templating.py:1284
+#: ../roundup/cgi/templating.py:1299
 msgid "<th>Date</th>"
 msgstr "<th>Дата</th>"
 
-#: ../roundup/cgi/templating.py:1285
+#: ../roundup/cgi/templating.py:1300
 msgid "<th>User</th>"
 msgstr "<th>Пользователь</th>"
 
-#: ../roundup/cgi/templating.py:1286
+#: ../roundup/cgi/templating.py:1301
 msgid "<th>Action</th>"
 msgstr "<th>Действие</th>"
 
-#: ../roundup/cgi/templating.py:1287
+#: ../roundup/cgi/templating.py:1302
 msgid "<th>Args</th>"
 msgstr "<th>Параметры</th>"
 
-#: ../roundup/cgi/templating.py:1335
+#: ../roundup/cgi/templating.py:1350
 #, python-format
 msgid "Copy of %(class)s %(id)s"
 msgstr "Копия: %(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 "Нет"
 
-#: ../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 "Да"
 
-#: ../roundup/cgi/templating.py:2054
+#: ../roundup/cgi/templating.py:2069
 msgid ""
 "default value for DateHTMLProperty must be either DateHTMLProperty or string "
 "date representation."
@@ -1989,17 +2038,17 @@
 "значение по умолчанию для DateHTMLProperty должно быть объектом "
 "DateHTMLProperty или строковым представлением даты."
 
-#: ../roundup/cgi/templating.py:2220
+#: ../roundup/cgi/templating.py:2242
 #, python-format
 msgid "Attempt to look up %(attr)s on a missing value"
 msgstr "Попытка получить атрибут \"%(attr)s\" несуществующего объекта"
 
-#: ../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 "Попытка получить атрибут \"%(attr)s\" несуществующего объекта"
 
-#: ../roundup/cgi/templating.py:2334
+#: ../roundup/cgi/templating.py:2356
 #, python-format
 msgid "<option %svalue=\"-1\">- no selection -</option>"
 msgstr "<option %svalue=\"-1\">- не указано -</option>"
@@ -2017,7 +2066,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 "
@@ -2026,11 +2075,11 @@
 "Дата должна быть в формате \"yyyy-mm-dd\", \"mm-dd\", \"HH:MM\", \"HH:MM:SS"
 "\" или \"yyyy-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\" "
@@ -2039,7 +2088,7 @@
 "Неверное значение даты/времени: %r.  Дата должна быть в формате \"yyyy-mm-dd"
 "\", \"mm-dd\", \"HH:MM\", \"HH:MM:SS\" или \"yyyy-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 "
@@ -2047,12 +2096,12 @@
 msgstr ""
 "Интервал должен быть в формате [+-] [#y] [#m] [#w] [#d] [[[H]H:MM]:SS] [дата]"
 
-#: ../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 "Интервал должен быть в формате [+-] [#y] [#m] [#w] [#d] [[[H]H:MM]:SS]"
 
-#: ../roundup/date.py:1024
+#: ../roundup/date.py:1038
 #, python-format
 msgid "%(number)s year"
 msgid_plural "%(number)s years"
@@ -2060,7 +2109,7 @@
 msgstr[1] "%(number)s года"
 msgstr[2] "%(number)s лет"
 
-#: ../roundup/date.py:1028
+#: ../roundup/date.py:1042
 #, python-format
 msgid "%(number)s month"
 msgid_plural "%(number)s months"
@@ -2068,7 +2117,7 @@
 msgstr[1] "%(number)s месяца"
 msgstr[2] "%(number)s месяцев"
 
-#: ../roundup/date.py:1032
+#: ../roundup/date.py:1046
 #, python-format
 msgid "%(number)s week"
 msgid_plural "%(number)s weeks"
@@ -2076,7 +2125,7 @@
 msgstr[1] "%(number)s недели"
 msgstr[2] "%(number)s недель"
 
-#: ../roundup/date.py:1036
+#: ../roundup/date.py:1050
 #, python-format
 msgid "%(number)s day"
 msgid_plural "%(number)s days"
@@ -2084,15 +2133,15 @@
 msgstr[1] "%(number)s дня"
 msgstr[2] "%(number)s дней"
 
-#: ../roundup/date.py:1040
+#: ../roundup/date.py:1054
 msgid "tomorrow"
 msgstr "завтра"
 
-#: ../roundup/date.py:1042
+#: ../roundup/date.py:1056
 msgid "yesterday"
 msgstr "вчера"
 
-#: ../roundup/date.py:1045
+#: ../roundup/date.py:1059
 #, python-format
 msgid "%(number)s hour"
 msgid_plural "%(number)s hours"
@@ -2100,38 +2149,38 @@
 msgstr[1] "%(number)s часа"
 msgstr[2] "%(number)s часов"
 
-#: ../roundup/date.py:1049
+#: ../roundup/date.py:1063
 msgid "an hour"
 msgstr "час"
 
-#: ../roundup/date.py:1051
+#: ../roundup/date.py:1065
 msgid "1 1/2 hours"
 msgstr "полтора часа"
 
 # third form ain't used
-#: ../roundup/date.py:1053
-#, python-format
+#: ../roundup/date.py:1067
+#, fuzzy, python-format
 msgid "1 %(number)s/4 hours"
 msgid_plural "1 %(number)s/4 hours"
 msgstr[0] "час с четвертью"
 msgstr[1] "час и %(number)s четверти"
 msgstr[2] "час и %(number)s четвертей"
 
-#: ../roundup/date.py:1057
+#: ../roundup/date.py:1072
 msgid "in a moment"
 msgstr "сейчас"
 
-#: ../roundup/date.py:1059
+#: ../roundup/date.py:1074
 msgid "just now"
 msgstr "только что"
 
 # используется в выражениях "через минуту" или "минуту назад"
-#: ../roundup/date.py:1062
+#: ../roundup/date.py:1077
 msgid "1 minute"
 msgstr "минуту"
 
 # используется в выражениях "через 2 минуты" или "2 минуты назад"
-#: ../roundup/date.py:1065
+#: ../roundup/date.py:1080
 #, python-format
 msgid "%(number)s minute"
 msgid_plural "%(number)s minutes"
@@ -2139,75 +2188,75 @@
 msgstr[1] "%(number)s минуты"
 msgstr[2] "%(number)s минут"
 
-#: ../roundup/date.py:1068
+#: ../roundup/date.py:1083
 msgid "1/2 an hour"
 msgstr "полчаса"
 
-#: ../roundup/date.py:1070
-#, python-format
+#: ../roundup/date.py:1085
+#, fuzzy, python-format
 msgid "%(number)s/4 hour"
 msgid_plural "%(number)s/4 hours"
 msgstr[0] "четверть часа"
 msgstr[1] "%(number)s четверти часа"
 msgstr[2] "%(number)s четвертей часа"
 
-#: ../roundup/date.py:1074
+#: ../roundup/date.py:1089
 #, python-format
 msgid "%s ago"
 msgstr "%s назад"
 
-#: ../roundup/date.py:1076
+#: ../roundup/date.py:1091
 #, python-format
 msgid "in %s"
 msgstr "через %s"
 
-#: ../roundup/hyperdb.py:103
+#: ../roundup/hyperdb.py:114
 #, fuzzy, python-format
 msgid "property %s: %s"
 msgstr "Ошибка: %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 ""
@@ -2524,7 +2573,7 @@
 "аргументы должны быть в формате [имя=значение,значение,...;имя=значение,"
 "значение,...]"
 
-#: ../roundup/rest.py:1830
+#: ../roundup/rest.py:1838
 #, python-format
 msgid "Api rate limits exceeded. Please wait: %s seconds."
 msgstr ""
@@ -4217,6 +4266,10 @@
 msgid "Please log in or register."
 msgstr "Пожалуйста, входите или зарегистрируйтесь"
 
+#, fuzzy
+#~ msgid " %(description)s (%(name)s for \"%(klass)s\" "
+#~ msgstr " %(description)s (%(name)s только для класса \"%(klass)s\")"
+
 #~ msgid "Error: a later version of python is required"
 #~ msgstr "Ошибка: требуется более новая версия Python"
 

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