Mercurial > p > roundup > code
comparison locale/zh_CN.po @ 8109:cd642eaf358e
fix: remove duplicate source sring after fix to admin.py. Update to new roundup.pot extraction
| author | John Rouillard <rouilj@ieee.org> |
|---|---|
| date | Wed, 07 Aug 2024 21:52:58 -0400 |
| parents | 47f0a4eba1b2 |
| children | 3812c0fb1137 |
comparison
equal
deleted
inserted
replaced
| 8108:78bca158e1e6 | 8109:cd642eaf358e |
|---|---|
| 6 # | 6 # |
| 7 msgid "" | 7 msgid "" |
| 8 msgstr "" | 8 msgstr "" |
| 9 "Project-Id-Version: Roundup 2.4.0\n" | 9 "Project-Id-Version: Roundup 2.4.0\n" |
| 10 "Report-Msgid-Bugs-To: roundup-devel@lists.sourceforge.net\n" | 10 "Report-Msgid-Bugs-To: roundup-devel@lists.sourceforge.net\n" |
| 11 "POT-Creation-Date: 2024-07-09 15:12-0400\n" | 11 "POT-Creation-Date: 2024-08-07 21:43-0400\n" |
| 12 "PO-Revision-Date: 2013-10-31 12:22+0100\n" | 12 "PO-Revision-Date: 2013-10-31 12:22+0100\n" |
| 13 "Last-Translator: Cheer Xiao <xiaqqaix@gmail.com>\n" | 13 "Last-Translator: Cheer Xiao <xiaqqaix@gmail.com>\n" |
| 14 "Language-Team: Chinese Simplified <limodou@gmail.com>\n" | 14 "Language-Team: Chinese Simplified <limodou@gmail.com>\n" |
| 15 "Language: zh_CN\n" | 15 "Language: zh_CN\n" |
| 16 "MIME-Version: 1.0\n" | 16 "MIME-Version: 1.0\n" |
| 28 | 28 |
| 29 #: ../roundup/actions.py:65 ../roundup/cgi/actions.py:240 | 29 #: ../roundup/actions.py:65 ../roundup/cgi/actions.py:240 |
| 30 msgid "You may not retire the admin or anonymous user" | 30 msgid "You may not retire the admin or anonymous user" |
| 31 msgstr "你不能撤除管理员或匿名用户" | 31 msgstr "你不能撤除管理员或匿名用户" |
| 32 | 32 |
| 33 #: ../roundup/admin.py:130 | 33 #: ../roundup/admin.py:131 |
| 34 msgid "" | 34 msgid "" |
| 35 "Have 'display designator[,designator*]' show header inside\n" | 35 "Have 'display designator[,designator*]' show header inside\n" |
| 36 " []'s before items. Includes retired/active status.\n" | 36 " []'s before items. Includes retired/active status.\n" |
| 37 msgstr "" | 37 msgstr "" |
| 38 | 38 |
| 39 #: ../roundup/admin.py:134 | 39 #: ../roundup/admin.py:135 |
| 40 msgid "" | 40 msgid "" |
| 41 "Have 'display designator' and 'specification class' show\n" | 41 "Have 'display designator' and 'specification class' show\n" |
| 42 " protected fields: creator, id etc.\n" | 42 " protected fields: creator, id etc.\n" |
| 43 msgstr "" | 43 msgstr "" |
| 44 | 44 |
| 45 #: ../roundup/admin.py:138 | 45 #: ../roundup/admin.py:139 |
| 46 msgid "" | 46 msgid "" |
| 47 "Controls history options. It is a bitstring where setting\n" | 47 "Controls history options. It is a bitstring where setting\n" |
| 48 " the bit disables the feature. A value of 0 (default)\n" | 48 " the bit disables the feature. A value of 0 (default)\n" |
| 49 " enables all features. Value 1 disables loading of\n" | 49 " enables all features. Value 1 disables loading of\n" |
| 50 " history. Value 2 disables saving history. Value 4\n" | 50 " history. Value 2 disables saving history. Value 4\n" |
| 51 " disables loading init file. Since it is a bitstring a\n" | 51 " disables loading init file. Since it is a bitstring a\n" |
| 52 " value of 6 disables both loading init file and saving\n" | 52 " value of 6 disables both loading init file and saving\n" |
| 53 " history.\n" | 53 " history.\n" |
| 54 msgstr "" | 54 msgstr "" |
| 55 | 55 |
| 56 #: ../roundup/admin.py:147 | 56 #: ../roundup/admin.py:148 |
| 57 msgid "" | 57 msgid "" |
| 58 "Set the number of lines of history to keep for this session.\n" | 58 "Set the number of lines of history to keep for this session.\n" |
| 59 " -1 is infinite.\n" | 59 " -1 is infinite.\n" |
| 60 msgstr "" | 60 msgstr "" |
| 61 | 61 |
| 62 #: ../roundup/admin.py:151 | 62 #: ../roundup/admin.py:152 |
| 63 msgid "Set indexer to use when running 'reindex' NYI\n" | 63 msgid "Set indexer to use when running 'reindex' NYI\n" |
| 64 msgstr "" | 64 msgstr "" |
| 65 | 65 |
| 66 #: ../roundup/admin.py:154 | 66 #: ../roundup/admin.py:155 |
| 67 msgid "Force reopening of tracker when running each command.\n" | 67 msgid "Force reopening of tracker when running each command.\n" |
| 68 msgstr "" | 68 msgstr "" |
| 69 | 69 |
| 70 #: ../roundup/admin.py:157 | 70 #: ../roundup/admin.py:158 |
| 71 msgid "" | 71 msgid "" |
| 72 "set the number of rows imported before a database commit is\n" | 72 "set the number of rows imported before a database commit is\n" |
| 73 " done. Used only for imports on PostgreSQL.\n" | 73 " done. Used only for imports on PostgreSQL.\n" |
| 74 msgstr "" | 74 msgstr "" |
| 75 | 75 |
| 76 #: ../roundup/admin.py:159 | 76 #: ../roundup/admin.py:160 |
| 77 msgid "Show retired items in table, list etc. One of 'no', 'only', 'both'\n" | 77 msgid "Show retired items in table, list etc. One of 'no', 'only', 'both'\n" |
| 78 msgstr "" | 78 msgstr "" |
| 79 | 79 |
| 80 #: ../roundup/admin.py:161 | 80 #: ../roundup/admin.py:162 |
| 81 msgid "internal mapping for show_retired.\n" | 81 msgid "internal mapping for show_retired.\n" |
| 82 msgstr "" | 82 msgstr "" |
| 83 | 83 |
| 84 #: ../roundup/admin.py:162 | 84 #: ../roundup/admin.py:163 |
| 85 msgid "Enable verbose output: tracing, descriptions...\n" | 85 msgid "Enable verbose output: tracing, descriptions...\n" |
| 86 msgstr "" | 86 msgstr "" |
| 87 | 87 |
| 88 # ../roundup/admin.py:84 :943 :992 :1014 | 88 # ../roundup/admin.py:84 :943 :992 :1014 |
| 89 #: ../roundup/admin.py:174 ../roundup/admin.py:1179 ../roundup/admin.py:1824 | 89 #: ../roundup/admin.py:175 ../roundup/admin.py:1188 ../roundup/admin.py:1836 |
| 90 #: ../roundup/admin.py:1856 ../roundup/admin.py:174:1179 :1824:1856 | 90 #: ../roundup/admin.py:1868 ../roundup/admin.py:175:1188 :1836:1868 |
| 91 #, python-format | 91 #, python-format |
| 92 msgid "no such class \"%(classname)s\"" | 92 msgid "no such class \"%(classname)s\"" |
| 93 msgstr "无此类别 \"%(classname)s\"" | 93 msgstr "无此类别 \"%(classname)s\"" |
| 94 | 94 |
| 95 # ../roundup/admin.py:94 :98 | 95 # ../roundup/admin.py:94 :98 |
| 96 #: ../roundup/admin.py:187 | 96 #: ../roundup/admin.py:188 |
| 97 #, python-format | 97 #, python-format |
| 98 msgid "argument \"%(arg)s\" not propname=value" | 98 msgid "argument \"%(arg)s\" not propname=value" |
| 99 msgstr "参数 \"%(arg)s\" 不是 propname=value 的形式" | 99 msgstr "参数 \"%(arg)s\" 不是 propname=value 的形式" |
| 100 | 100 |
| 101 #: ../roundup/admin.py:200 | 101 #: ../roundup/admin.py:201 |
| 102 #, python-format | 102 #, python-format |
| 103 msgid "" | 103 msgid "" |
| 104 "Problem: %(message)s\n" | 104 "Problem: %(message)s\n" |
| 105 "\n" | 105 "\n" |
| 106 msgstr "" | 106 msgstr "" |
| 107 "问题: %(message)s\n" | 107 "问题: %(message)s\n" |
| 108 "\n" | 108 "\n" |
| 109 | 109 |
| 110 #: ../roundup/admin.py:201 | 110 #: ../roundup/admin.py:202 |
| 111 #, fuzzy, python-format | 111 #, fuzzy, python-format |
| 112 msgid "" | 112 msgid "" |
| 113 "%(message)sUsage: roundup-admin [options] [<command> <arguments>]\n" | 113 "%(message)sUsage: roundup-admin [options] [<command> <arguments>]\n" |
| 114 "\n" | 114 "\n" |
| 115 "Options:\n" | 115 "Options:\n" |
| 155 " roundup-admin -h\n" | 155 " roundup-admin -h\n" |
| 156 " roundup-admin help -- 本帮助\n" | 156 " roundup-admin help -- 本帮助\n" |
| 157 " roundup-admin help <command> -- 命令详解帮助\n" | 157 " roundup-admin help <command> -- 命令详解帮助\n" |
| 158 " roundup-admin help all -- 所有可用的帮助\n" | 158 " roundup-admin help all -- 所有可用的帮助\n" |
| 159 | 159 |
| 160 #: ../roundup/admin.py:230 | 160 #: ../roundup/admin.py:231 |
| 161 #, fuzzy | 161 #, fuzzy |
| 162 msgid "Commands: " | 162 msgid "Commands: " |
| 163 msgstr "命令:" | 163 msgstr "命令:" |
| 164 | 164 |
| 165 #: ../roundup/admin.py:237 | 165 #: ../roundup/admin.py:238 |
| 166 msgid "" | 166 msgid "" |
| 167 "Commands may be abbreviated as long as the abbreviation\n" | 167 "Commands may be abbreviated as long as the abbreviation\n" |
| 168 "matches only one command, e.g. l == li == lis == list." | 168 "matches only one command, e.g. l == li == lis == list." |
| 169 msgstr "" | 169 msgstr "" |
| 170 "命令可以被缩写,只要缩写只有一个命令可以匹配上,\n" | 170 "命令可以被缩写,只要缩写只有一个命令可以匹配上,\n" |
| 171 "如:l == li == lis == list." | 171 "如:l == li == lis == list." |
| 172 | 172 |
| 173 #: ../roundup/admin.py:266 | 173 #: ../roundup/admin.py:270 |
| 174 #, fuzzy | 174 #, fuzzy |
| 175 msgid "" | 175 msgid "" |
| 176 "\n" | 176 "\n" |
| 177 "All commands (except help) require a tracker specifier. This is just\n" | 177 "All commands (except help) require a tracker specifier. This is just\n" |
| 178 "the path to the roundup tracker you're working with. A roundup tracker\n" | 178 "the path to the roundup tracker you're working with. A roundup tracker\n" |
| 293 " \"8:47:11\" 表示 <Date yyyy-mm-dd.13:47:11>\n" | 293 " \"8:47:11\" 表示 <Date yyyy-mm-dd.13:47:11>\n" |
| 294 " \".\" 表示 \"现在\"\n" | 294 " \".\" 表示 \"现在\"\n" |
| 295 "\n" | 295 "\n" |
| 296 "使用帮助:\n" | 296 "使用帮助:\n" |
| 297 | 297 |
| 298 #: ../roundup/admin.py:330 | 298 #: ../roundup/admin.py:334 |
| 299 #, python-format | 299 #, python-format |
| 300 msgid "%s:" | 300 msgid "%s:" |
| 301 msgstr "%s:" | 301 msgstr "%s:" |
| 302 | 302 |
| 303 # ../roundup/admin.py:337 :387 | 303 # ../roundup/admin.py:337 :387 |
| 304 #: ../roundup/admin.py:435 ../roundup/admin.py:1384 | 304 #: ../roundup/admin.py:439 ../roundup/admin.py:1396 |
| 305 #: ../roundup/admin.py:435:1384 | 305 #: ../roundup/admin.py:439:1396 |
| 306 msgid "Templates:" | 306 msgid "Templates:" |
| 307 msgstr "模板:" | 307 msgstr "模板:" |
| 308 | 308 |
| 309 # ../roundup/admin.py:340 :398 | 309 # ../roundup/admin.py:340 :398 |
| 310 #: ../roundup/admin.py:438 ../roundup/admin.py:1394 | 310 #: ../roundup/admin.py:442 ../roundup/admin.py:1406 |
| 311 #: ../roundup/admin.py:438:1394 | 311 #: ../roundup/admin.py:442:1406 |
| 312 msgid "Back ends:" | 312 msgid "Back ends:" |
| 313 msgstr "后端:" | 313 msgstr "后端:" |
| 314 | 314 |
| 315 #. noqa: ARG002 | 315 #. noqa: ARG002 |
| 316 #: ../roundup/admin.py:455 | 316 #: ../roundup/admin.py:459 |
| 317 msgid "" | 317 msgid "" |
| 318 "Usage: commit\n" | 318 "Usage: commit\n" |
| 319 " Commit changes made to the database during an interactive session.\n" | 319 " Commit changes made to the database during an interactive session.\n" |
| 320 "\n" | 320 "\n" |
| 321 " The changes made during an interactive session are not\n" | 321 " The changes made during an interactive session are not\n" |
| 332 " 在一个交互会话中所产生的改动不会自动写入数据库 - 它们必须使用此命令\n" | 332 " 在一个交互会话中所产生的改动不会自动写入数据库 - 它们必须使用此命令\n" |
| 333 " 来提交。\n" | 333 " 来提交。\n" |
| 334 " 在命令行中的 One-off 命令如果成功会被自动提交。\n" | 334 " 在命令行中的 One-off 命令如果成功会被自动提交。\n" |
| 335 " " | 335 " " |
| 336 | 336 |
| 337 #: ../roundup/admin.py:470 | 337 #: ../roundup/admin.py:474 |
| 338 msgid "" | 338 msgid "" |
| 339 "Usage: create classname property=value ...\n" | 339 "Usage: create classname property=value ...\n" |
| 340 " Create a new entry of a given class.\n" | 340 " Create a new entry of a given class.\n" |
| 341 "\n" | 341 "\n" |
| 342 " This creates a new entry of the given class using the property\n" | 342 " This creates a new entry of the given class using the property\n" |
| 352 "name=value 参数。\n" | 352 "name=value 参数。\n" |
| 353 " " | 353 " " |
| 354 | 354 |
| 355 # ../roundup/admin.py:359 :494 :573 :623 :676 :697 :725 :796 :863 :934 :982 | 355 # ../roundup/admin.py:359 :494 :573 :623 :676 :697 :725 :796 :863 :934 :982 |
| 356 # :1004 :1031 :1093 :1159 | 356 # :1004 :1031 :1093 :1159 |
| 357 #: ../roundup/admin.py:478 ../roundup/admin.py:552 ../roundup/admin.py:600 | 357 #: ../roundup/admin.py:482 ../roundup/admin.py:555 ../roundup/admin.py:606 |
| 358 #: ../roundup/admin.py:723 ../roundup/admin.py:796 ../roundup/admin.py:842 | 358 #: ../roundup/admin.py:733 ../roundup/admin.py:806 ../roundup/admin.py:851 |
| 359 #: ../roundup/admin.py:893 ../roundup/admin.py:990 ../roundup/admin.py:1206 | 359 #: ../roundup/admin.py:902 ../roundup/admin.py:999 ../roundup/admin.py:1216 |
| 360 #: ../roundup/admin.py:1357 ../roundup/admin.py:1485 ../roundup/admin.py:1571 | 360 #: ../roundup/admin.py:1369 ../roundup/admin.py:1497 ../roundup/admin.py:1580 |
| 361 #: ../roundup/admin.py:1691 ../roundup/admin.py:1814 ../roundup/admin.py:1846 | 361 #: ../roundup/admin.py:1703 ../roundup/admin.py:1826 ../roundup/admin.py:1858 |
| 362 #: ../roundup/admin.py:1962 ../roundup/admin.py:2016 ../roundup/admin.py:2064 | 362 #: ../roundup/admin.py:1974 ../roundup/admin.py:2028 ../roundup/admin.py:2076 |
| 363 #: ../roundup/admin.py:478:552 :1206:1357:1485 :1571:1691 :1814:1846 :1962:2016 | 363 #: ../roundup/admin.py:482:555 :1216:1369:1497 :1580:1703 :1826:1858 :1974:2028 |
| 364 #: :2064 :600:723 :796:842 :893:990 | 364 #: :2076 :606:733 :806:851 :902:999 |
| 365 msgid "Not enough arguments supplied" | 365 msgid "Not enough arguments supplied" |
| 366 msgstr "未提供足够的参数" | 366 msgstr "未提供足够的参数" |
| 367 | 367 |
| 368 #: ../roundup/admin.py:498 | 368 #: ../roundup/admin.py:502 |
| 369 #, python-format | 369 #, python-format |
| 370 msgid "%(propname)s (Password): " | 370 msgid "%(propname)s (Password): " |
| 371 msgstr "%(propname)s (密码):" | 371 msgstr "%(propname)s (密码):" |
| 372 | 372 |
| 373 #: ../roundup/admin.py:501 | 373 #: ../roundup/admin.py:505 |
| 374 #, python-format | 374 #, python-format |
| 375 msgid " %(propname)s (Again): " | 375 msgid " %(propname)s (Again): " |
| 376 msgstr " %(propname)s (再次):" | 376 msgstr " %(propname)s (再次):" |
| 377 | 377 |
| 378 #: ../roundup/admin.py:505 | 378 #: ../roundup/admin.py:509 |
| 379 msgid "Sorry, try again..." | 379 msgid "Sorry, try again..." |
| 380 msgstr "抱歉,再试一次..." | 380 msgstr "抱歉,再试一次..." |
| 381 | 381 |
| 382 #: ../roundup/admin.py:510 | 382 #: ../roundup/admin.py:514 |
| 383 #, python-format | 383 #, python-format |
| 384 msgid "%(propname)s (%(proptype)s): " | 384 msgid "%(propname)s (%(proptype)s): " |
| 385 msgstr "" | 385 msgstr "" |
| 386 | 386 |
| 387 #: ../roundup/admin.py:529 | 387 #: ../roundup/admin.py:533 |
| 388 #, python-format | 388 #, python-format |
| 389 msgid "you must provide the \"%(propname)s\" property." | 389 msgid "you must provide the \"%(propname)s\" property." |
| 390 msgstr "你必须提供 \"%(propname)s\" 属性。" | 390 msgstr "你必须提供 \"%(propname)s\" 属性。" |
| 391 | 391 |
| 392 #: ../roundup/admin.py:541 | 392 #: ../roundup/admin.py:545 |
| 393 #, fuzzy | 393 #, fuzzy |
| 394 msgid "" | 394 msgid "" |
| 395 "Usage: display designator[,designator]*\n" | 395 "Usage: display designator[,designator]*\n" |
| 396 "\n" | |
| 397 " Show the property values for the given node(s).\n" | 396 " Show the property values for the given node(s).\n" |
| 398 "\n" | 397 "\n" |
| 399 " A designator is a classname and a nodeid concatenated,\n" | 398 " A designator is a classname and a nodeid concatenated,\n" |
| 400 " eg. bug1, user10, ...\n" | 399 " eg. bug1, user10, ...\n" |
| 401 "\n" | 400 "\n" |
| 407 " 显示给出结点的属性值。\n" | 406 " 显示给出结点的属性值。\n" |
| 408 "\n" | 407 "\n" |
| 409 " 将显示给出结点的属性和相应的值。\n" | 408 " 将显示给出结点的属性和相应的值。\n" |
| 410 " " | 409 " " |
| 411 | 410 |
| 412 #: ../roundup/admin.py:583 | 411 #: ../roundup/admin.py:586 |
| 413 #, fuzzy, python-format | 412 #, fuzzy, python-format |
| 414 msgid "%(protected)s%(key)s: %(value)s" | 413 msgid "%(protected)s%(key)s: %(value)s" |
| 415 msgstr "%(key)s: %(value)s" | 414 msgstr "%(key)s: %(value)s" |
| 416 | 415 |
| 417 #. grab the directory to export to | 416 #. grab the directory to export to |
| 418 #: ../roundup/admin.py:586 | 417 #: ../roundup/admin.py:589 |
| 419 #, fuzzy | 418 #, fuzzy |
| 420 msgid "" | 419 msgid "" |
| 421 "Usage: export [[-]class[,class]] export_dir\n" | 420 "Usage: export [[-]class[,class]] export_dir\n" |
| 422 " Export the database to colon-separated-value files.\n" | 421 " Export the database and file content.\n" |
| 422 "\n" | |
| 423 " Database content is exported to colon separated files.\n" | |
| 423 " To exclude the files (e.g. for the msg or file class),\n" | 424 " To exclude the files (e.g. for the msg or file class),\n" |
| 424 " use the exporttables command.\n" | 425 " use the exporttables command.\n" |
| 425 "\n" | 426 "\n" |
| 426 " Optionally limit the export to just the named classes\n" | 427 " Optionally limit the export to just the named classes\n" |
| 427 " or exclude the named classes, if the 1st argument starts with '-'.\n" | 428 " or exclude the named classes, if the 1st argument\n" |
| 429 " starts with '-'.\n" | |
| 428 "\n" | 430 "\n" |
| 429 " This action exports the current data from the database into\n" | 431 " This action exports the current data from the database into\n" |
| 430 " colon-separated-value files that are placed in the nominated\n" | 432 " colon-separated-value files that are placed in the nominated\n" |
| 431 " destination directory.\n" | 433 " export_dir directory.\n" |
| 432 " " | 434 " " |
| 433 msgstr "" | 435 msgstr "" |
| 434 "用法:export [class[,class]] export_dir\n" | 436 "用法:export [class[,class]] export_dir\n" |
| 435 " 导出数据库为冒号分隔值的文件。\n" | 437 " 导出数据库为冒号分隔值的文件。\n" |
| 436 "\n" | 438 "\n" |
| 438 "\n" | 440 "\n" |
| 439 " 这个动作从数据库中导出当前的数据到以冒号分隔值的文件中去,它们将存\n" | 441 " 这个动作从数据库中导出当前的数据到以冒号分隔值的文件中去,它们将存\n" |
| 440 " 放在指定的目标目录中。\n" | 442 " 放在指定的目标目录中。\n" |
| 441 " " | 443 " " |
| 442 | 444 |
| 443 #: ../roundup/admin.py:698 | 445 #: ../roundup/admin.py:704 |
| 444 #, fuzzy | 446 #, fuzzy |
| 445 msgid "" | 447 msgid "" |
| 446 "Usage: exporttables [[-]class[,class]] export_dir\n" | 448 "Usage: exporttables [[-]class[,class]] export_dir\n" |
| 447 " Export the database to colon-separated-value files, excluding the\n" | 449 " Export only the database to files, no file content.\n" |
| 448 " files below $TRACKER_HOME/db/files/ (which can be archived " | 450 "\n" |
| 449 "separately).\n" | 451 " Database content is exported to colon separated files.\n" |
| 452 " The files below $TRACKER_HOME/db/files/ (which can be\n" | |
| 453 " archived separately) are not part of the export.\n" | |
| 450 " To include the files, use the export command.\n" | 454 " To include the files, use the export command.\n" |
| 451 "\n" | 455 "\n" |
| 452 " Optionally limit the export to just the named classes\n" | 456 " Optionally limit the export to just the named classes\n" |
| 453 " or exclude the named classes, if the 1st argument starts with '-'.\n" | 457 " or exclude the named classes, if the 1st argument\n" |
| 458 " starts with '-'.\n" | |
| 454 "\n" | 459 "\n" |
| 455 " This action exports the current data from the database into\n" | 460 " This action exports the current data from the database into\n" |
| 456 " colon-separated-value files that are placed in the nominated\n" | 461 " colon-separated-value files that are placed in the export_dir\n" |
| 457 " destination directory.\n" | 462 " destination directory.\n" |
| 458 " " | 463 " " |
| 459 msgstr "" | 464 msgstr "" |
| 460 "用法:export [class[,class]] export_dir\n" | 465 "用法:export [class[,class]] export_dir\n" |
| 461 " 导出数据库为冒号分隔值的文件。\n" | 466 " 导出数据库为冒号分隔值的文件。\n" |
| 464 "\n" | 469 "\n" |
| 465 " 这个动作从数据库中导出当前的数据到以冒号分隔值的文件中去,它们将存\n" | 470 " 这个动作从数据库中导出当前的数据到以冒号分隔值的文件中去,它们将存\n" |
| 466 " 放在指定的目标目录中。\n" | 471 " 放在指定的目标目录中。\n" |
| 467 " " | 472 " " |
| 468 | 473 |
| 469 #: ../roundup/admin.py:713 | 474 #: ../roundup/admin.py:723 |
| 470 #, fuzzy | 475 #, fuzzy |
| 471 msgid "" | 476 msgid "" |
| 472 "Usage: filter classname propname=value ...\n" | 477 "Usage: filter classname propname=value ...\n" |
| 473 " Find the nodes of the given class with a given property value.\n" | 478 " Find the nodes of the given class with a given property value.\n" |
| 474 "\n" | 479 "\n" |
| 486 "点ID,\n" | 491 "点ID,\n" |
| 487 " 或者是结点的键值。\n" | 492 " 或者是结点的键值。\n" |
| 488 " " | 493 " " |
| 489 | 494 |
| 490 # ../roundup/admin.py:663 :816 :828 :882 | 495 # ../roundup/admin.py:663 :816 :828 :882 |
| 491 #: ../roundup/admin.py:754 | 496 #: ../roundup/admin.py:764 |
| 492 #, fuzzy, python-format | 497 #, fuzzy, python-format |
| 493 msgid "Class %(curclassname)s has no property %(pn)s in %(propname)s." | 498 msgid "Class %(curclassname)s has no property %(pn)s in %(propname)s." |
| 494 msgstr "%(classname)s 没有 \"%(propname)s\" 属性" | 499 msgstr "%(classname)s 没有 \"%(propname)s\" 属性" |
| 495 | 500 |
| 496 # ../roundup/admin.py:663 :816 :828 :882 | 501 # ../roundup/admin.py:663 :816 :828 :882 |
| 497 #: ../roundup/admin.py:781 ../roundup/admin.py:830 ../roundup/admin.py:1505 | 502 #: ../roundup/admin.py:791 ../roundup/admin.py:840 ../roundup/admin.py:1517 |
| 498 #: ../roundup/admin.py:1518 ../roundup/admin.py:2086 | 503 #: ../roundup/admin.py:1530 ../roundup/admin.py:2098 |
| 499 #: ../roundup/admin.py:781:830 :1505:1518:2086 | 504 #: ../roundup/admin.py:791:840 :1517:1530:2098 |
| 500 #, python-format | 505 #, python-format |
| 501 msgid "%(classname)s has no property \"%(propname)s\"" | 506 msgid "%(classname)s has no property \"%(propname)s\"" |
| 502 msgstr "%(classname)s 没有 \"%(propname)s\" 属性" | 507 msgstr "%(classname)s 没有 \"%(propname)s\" 属性" |
| 503 | 508 |
| 504 #: ../roundup/admin.py:788 | 509 #: ../roundup/admin.py:798 |
| 505 msgid "" | 510 msgid "" |
| 506 "Usage: find classname propname=value ...\n" | 511 "Usage: find classname propname=value ...\n" |
| 507 " Find the nodes of the given class with a given link property value.\n" | 512 " Find the nodes of the given class with a given link property value.\n" |
| 508 "\n" | 513 "\n" |
| 509 " Find the nodes of the given class with a given link property value.\n" | 514 " Find the nodes of the given class with a given link property value.\n" |
| 517 " 根据给定的 link 属性值来查找给定类型的结点。这个值或者是链接结点的结" | 522 " 根据给定的 link 属性值来查找给定类型的结点。这个值或者是链接结点的结" |
| 518 "点ID,\n" | 523 "点ID,\n" |
| 519 " 或者是结点的键值。\n" | 524 " 或者是结点的键值。\n" |
| 520 " " | 525 " " |
| 521 | 526 |
| 522 #: ../roundup/admin.py:837 | 527 #: ../roundup/admin.py:847 |
| 523 msgid "" | 528 msgid "" |
| 524 "Usage: genconfig <filename>\n" | 529 "Usage: genconfig filename\n" |
| 525 " Generate a new tracker config file (ini style) with default\n" | 530 " Create a new tracker config file with default values in filename.\n" |
| 526 " values in <filename>.\n" | |
| 527 " " | 531 " " |
| 528 msgstr "" | 532 msgstr "" |
| 529 | 533 |
| 530 #: ../roundup/admin.py:855 | 534 #: ../roundup/admin.py:864 |
| 531 #, python-format | 535 #, python-format |
| 532 msgid "" | 536 msgid "" |
| 533 "Changing option\n" | 537 "Changing option\n" |
| 534 " 'password_pbkdf2_default_rounds'\n" | 538 " 'password_pbkdf2_default_rounds'\n" |
| 535 "from old default of %(old_number)s to new default of %(new_number)s." | 539 "from old default of %(old_number)s to new default of %(new_number)s." |
| 536 msgstr "" | 540 msgstr "" |
| 537 | 541 |
| 538 #: ../roundup/admin.py:866 | 542 #: ../roundup/admin.py:875 |
| 539 #, python-format | 543 #, python-format |
| 540 msgid "" | 544 msgid "" |
| 541 "Update 'password_pbkdf2_default_rounds' to a number equal to or larger\n" | 545 "Update 'password_pbkdf2_default_rounds' to a number equal to or larger\n" |
| 542 " than %s.\n" | 546 " than %s.\n" |
| 543 msgstr "" | 547 msgstr "" |
| 544 | 548 |
| 545 #: ../roundup/admin.py:873 | 549 #: ../roundup/admin.py:882 |
| 546 msgid "" | 550 msgid "" |
| 547 "Check the rdbms mysql_* settings. Your charset and collations may need\n" | 551 "Check the rdbms mysql_* settings. Your charset and collations may need\n" |
| 548 " to be changed. See upgrading instructions.\n" | 552 " to be changed. See upgrading instructions.\n" |
| 549 msgstr "" | 553 msgstr "" |
| 550 | 554 |
| 551 #: ../roundup/admin.py:883 | 555 #: ../roundup/admin.py:892 |
| 552 #, fuzzy | 556 #, fuzzy |
| 553 msgid "" | 557 msgid "" |
| 554 "Usage: get property designator[,designator]*\n" | 558 "Usage: get property designator[,designator]*\n" |
| 555 " Get the given property of one or more designator(s).\n" | 559 " Get the given property of one or more designator(s).\n" |
| 556 "\n" | 560 "\n" |
| 566 "\n" | 570 "\n" |
| 567 " 通过指示器(designator)来得到指定结点的属性值。\n" | 571 " 通过指示器(designator)来得到指定结点的属性值。\n" |
| 568 " " | 572 " " |
| 569 | 573 |
| 570 # ../roundup/admin.py:527 :542 | 574 # ../roundup/admin.py:527 :542 |
| 571 #: ../roundup/admin.py:916 | 575 #: ../roundup/admin.py:925 |
| 572 #, python-format | 576 #, python-format |
| 573 msgid "property %s is not of type Multilink or Link so -d flag does not apply." | 577 msgid "property %s is not of type Multilink or Link so -d flag does not apply." |
| 574 msgstr "属性 %s 不是 Multilink 或 Link 类型,所以 -d 标志不能应用。" | 578 msgstr "属性 %s 不是 Multilink 或 Link 类型,所以 -d 标志不能应用。" |
| 575 | 579 |
| 576 # ../roundup/admin.py:550 :945 :994 :1016 | 580 # ../roundup/admin.py:550 :945 :994 :1016 |
| 577 #: ../roundup/admin.py:933 ../roundup/admin.py:1181 ../roundup/admin.py:1858 | 581 #: ../roundup/admin.py:942 ../roundup/admin.py:1190 ../roundup/admin.py:1842 |
| 578 #: ../roundup/admin.py:933:1181:1858 | 582 #: ../roundup/admin.py:1870 ../roundup/admin.py:942:1190 :1842:1870 |
| 579 #, python-format | 583 #, python-format |
| 580 msgid "no such %(classname)s node \"%(nodeid)s\"" | 584 msgid "no such %(classname)s node \"%(nodeid)s\"" |
| 581 msgstr "没有这样的 %(classname)s 结点 \"%(nodeid)s\"" | 585 msgstr "没有这样的 %(classname)s 结点 \"%(nodeid)s\"" |
| 582 | 586 |
| 583 #: ../roundup/admin.py:936 | 587 #: ../roundup/admin.py:945 |
| 584 #, python-format | 588 #, python-format |
| 585 msgid "no such %(classname)s property \"%(propname)s\"" | 589 msgid "no such %(classname)s property \"%(propname)s\"" |
| 586 msgstr "没有这样的 %(classname)s 属性 \"%(propname)s\"" | 590 msgstr "没有这样的 %(classname)s 属性 \"%(propname)s\"" |
| 587 | 591 |
| 588 #: ../roundup/admin.py:941 | 592 #: ../roundup/admin.py:950 |
| 589 msgid "" | 593 msgid "" |
| 590 "Usage: help topic\n" | 594 "Usage: help topic\n" |
| 591 " Give help about topic.\n" | 595 " Give help about topic.\n" |
| 592 "\n" | 596 "\n" |
| 593 " commands -- list commands\n" | 597 " commands -- list commands\n" |
| 603 " <command> -- 指定命令的帮助规范\n" | 607 " <command> -- 指定命令的帮助规范\n" |
| 604 " initopts -- 初始化命令选项\n" | 608 " initopts -- 初始化命令选项\n" |
| 605 " all -- 所有可用的帮助\n" | 609 " all -- 所有可用的帮助\n" |
| 606 " " | 610 " " |
| 607 | 611 |
| 608 #: ../roundup/admin.py:960 | 612 #: ../roundup/admin.py:969 |
| 609 #, python-format | 613 #, python-format |
| 610 msgid "Sorry, no help for \"%(topic)s\"" | 614 msgid "Sorry, no help for \"%(topic)s\"" |
| 611 msgstr "抱歉,没有“%(topic)s”的帮助信息" | 615 msgstr "抱歉,没有“%(topic)s”的帮助信息" |
| 612 | 616 |
| 613 #: ../roundup/admin.py:977 | 617 #: ../roundup/admin.py:986 |
| 614 #, fuzzy | 618 #, fuzzy |
| 615 msgid "" | 619 msgid "" |
| 616 "Usage: history designator [skipquiet] [raw]\n" | 620 "Usage: history designator [skipquiet] [raw]\n" |
| 617 " Show the history entries of a designator.\n" | 621 " Show the history entries of a designator.\n" |
| 618 "\n" | 622 "\n" |
| 630 "\n" | 634 "\n" |
| 631 " 这个动作指明一个特别的结点将不能被 list 或 find 命令得到,并且\n" | 635 " 这个动作指明一个特别的结点将不能被 list 或 find 命令得到,并且\n" |
| 632 " 它的键值可以被重用。\n" | 636 " 它的键值可以被重用。\n" |
| 633 " " | 637 " " |
| 634 | 638 |
| 635 #: ../roundup/admin.py:1002 | 639 #: ../roundup/admin.py:1011 |
| 636 #, python-format | 640 #, python-format |
| 637 msgid "Unexpected argument(s): %s. Expected 'skipquiet' or 'raw'." | 641 msgid "Unexpected argument(s): %s. Expected 'skipquiet' or 'raw'." |
| 638 msgstr "" | 642 msgstr "" |
| 639 | 643 |
| 640 #: ../roundup/admin.py:1053 | 644 #: ../roundup/admin.py:1062 |
| 641 #, fuzzy | 645 #, fuzzy |
| 642 msgid "removed" | 646 msgid "removed" |
| 643 msgstr "删除" | 647 msgstr "删除" |
| 644 | 648 |
| 645 #: ../roundup/admin.py:1055 | 649 #: ../roundup/admin.py:1064 |
| 646 msgid "added" | 650 msgid "added" |
| 647 msgstr "" | 651 msgstr "" |
| 648 | 652 |
| 649 #: ../roundup/admin.py:1057 | 653 #: ../roundup/admin.py:1066 |
| 650 #, python-format | 654 #, python-format |
| 651 msgid "Unknown history set operation '%s'. Expected +/-." | 655 msgid "Unknown history set operation '%s'. Expected +/-." |
| 652 msgstr "" | 656 msgstr "" |
| 653 | 657 |
| 654 #. .Hint added issue23 to superseder | 658 #. .Hint added issue23 to superseder |
| 655 #: ../roundup/admin.py:1082 | 659 #: ../roundup/admin.py:1091 |
| 656 #, fuzzy, python-format | 660 #, fuzzy, python-format |
| 657 msgid "added %(class)s%(item_id)s to %(propname)s" | 661 msgid "added %(class)s%(item_id)s to %(propname)s" |
| 658 msgstr "%(class)s %(id)s %(properties)s 编辑成功" | 662 msgstr "%(class)s %(id)s %(properties)s 编辑成功" |
| 659 | 663 |
| 660 #. .Hint read as: assignedto was admin(1) | 664 #. .Hint read as: assignedto was admin(1) |
| 661 #. where assignedto is the property | 665 #. where assignedto is the property |
| 662 #. admin is the key name for value 1 | 666 #. admin is the key name for value 1 |
| 663 #: ../roundup/admin.py:1103 | 667 #: ../roundup/admin.py:1112 |
| 664 #, python-format | 668 #, python-format |
| 665 msgid "%(prop)s was %(name)s(%(value)s)" | 669 msgid "%(prop)s was %(name)s(%(value)s)" |
| 666 msgstr "" | 670 msgstr "" |
| 667 | 671 |
| 668 #: ../roundup/admin.py:1109 ../roundup/admin.py:1138 | 672 #: ../roundup/admin.py:1118 ../roundup/admin.py:1147 |
| 669 #: ../roundup/admin.py:1109:1138 | 673 #: ../roundup/admin.py:1118:1147 |
| 670 #, fuzzy, python-format | 674 #, fuzzy, python-format |
| 671 msgid "%(prop)s was %(value)s" | 675 msgid "%(prop)s was %(value)s" |
| 672 msgstr "%(key)s: %(value)s" | 676 msgstr "%(key)s: %(value)s" |
| 673 | 677 |
| 674 #: ../roundup/admin.py:1128 | 678 #: ../roundup/admin.py:1137 |
| 675 #, python-format | 679 #, python-format |
| 676 msgid "%(prop)s was [%(value_list)s]" | 680 msgid "%(prop)s was [%(value_list)s]" |
| 677 msgstr "" | 681 msgstr "" |
| 678 | 682 |
| 679 #. .Hint modified nosy: added demo(3) | 683 #. .Hint modified nosy: added demo(3) |
| 680 #: ../roundup/admin.py:1135 | 684 #: ../roundup/admin.py:1144 |
| 681 #, python-format | 685 #, python-format |
| 682 msgid "modified %(prop)s: %(how)s" | 686 msgid "modified %(prop)s: %(how)s" |
| 683 msgstr "" | 687 msgstr "" |
| 684 | 688 |
| 685 #: ../roundup/admin.py:1186 | 689 #: ../roundup/admin.py:1195 |
| 690 #, fuzzy | |
| 686 msgid "" | 691 msgid "" |
| 687 "Usage: import import_dir\n" | 692 "Usage: import import_dir\n" |
| 688 " Import a database from the directory containing CSV files,\n" | 693 " Import a database and file contents from the directory.\n" |
| 689 " two per class to import.\n" | 694 "\n" |
| 690 "\n" | 695 " The directory should have the same format as one containing\n" |
| 696 " the output of export. There are two files imported per class.\n" | |
| 691 " The files used in the import are:\n" | 697 " The files used in the import are:\n" |
| 692 "\n" | 698 "\n" |
| 693 " <class>.csv\n" | 699 " <class>.csv\n" |
| 694 " This must define the same properties as the class (including\n" | 700 " This must define the same properties as the class (including\n" |
| 695 " having a \"header\" line with those property names.)\n" | 701 " having a \"header\" line with those property names.)\n" |
| 720 " 新结点被加入到已经存在的数据库中 - 如果你想要使用导入数据来创\n" | 726 " 新结点被加入到已经存在的数据库中 - 如果你想要使用导入数据来创\n" |
| 721 " 建一个新的数据库,那么创建一个新数据库(或者,麻烦点,回收所有\n" | 727 " 建一个新的数据库,那么创建一个新数据库(或者,麻烦点,回收所有\n" |
| 722 " 旧数据。)\n" | 728 " 旧数据。)\n" |
| 723 " " | 729 " " |
| 724 | 730 |
| 725 #: ../roundup/admin.py:1276 | 731 #: ../roundup/admin.py:1287 |
| 726 msgid "" | 732 msgid "" |
| 727 "Usage: importtables export_dir\n" | 733 "Usage: importtables export_dir\n" |
| 728 "\n" | |
| 729 " This imports the database tables exported using exporttables.\n" | 734 " This imports the database tables exported using exporttables.\n" |
| 735 "\n" | |
| 736 " It does not import the content of files like msgs and files.\n" | |
| 730 " " | 737 " " |
| 731 msgstr "" | 738 msgstr "" |
| 732 | 739 |
| 733 #. password | 740 #. password |
| 734 #: ../roundup/admin.py:1283 | 741 #: ../roundup/admin.py:1295 |
| 735 msgid "" | 742 msgid "" |
| 736 "Usage: initialise [adminpw]\n" | 743 "Usage: initialise [adminpw]\n" |
| 737 " Initialise a new Roundup tracker.\n" | 744 " Initialise a new Roundup tracker.\n" |
| 738 "\n" | 745 "\n" |
| 739 " The administrator details will be set at this step.\n" | 746 " The administrator details will be set at this step.\n" |
| 747 " 管理员的信息需要在这一步进行设置。\n" | 754 " 管理员的信息需要在这一步进行设置。\n" |
| 748 "\n" | 755 "\n" |
| 749 " 执行tracker的初始化函数 dbinit.init()\n" | 756 " 执行tracker的初始化函数 dbinit.init()\n" |
| 750 " " | 757 " " |
| 751 | 758 |
| 752 #: ../roundup/admin.py:1297 | 759 #: ../roundup/admin.py:1309 |
| 753 msgid "Admin Password: " | 760 msgid "Admin Password: " |
| 754 msgstr "管理员密码:" | 761 msgstr "管理员密码:" |
| 755 | 762 |
| 756 #: ../roundup/admin.py:1298 | 763 #: ../roundup/admin.py:1310 |
| 757 msgid " Confirm: " | 764 msgid " Confirm: " |
| 758 msgstr " 确认:" | 765 msgstr " 确认:" |
| 759 | 766 |
| 760 #: ../roundup/admin.py:1302 | 767 #: ../roundup/admin.py:1314 |
| 761 msgid "Instance home does not exist" | 768 msgid "Instance home does not exist" |
| 762 msgstr "实例目录不存在" | 769 msgstr "实例目录不存在" |
| 763 | 770 |
| 764 #: ../roundup/admin.py:1306 | 771 #: ../roundup/admin.py:1318 |
| 765 msgid "Instance has not been installed" | 772 msgid "Instance has not been installed" |
| 766 msgstr "实例还没有安装" | 773 msgstr "实例还没有安装" |
| 767 | 774 |
| 768 #: ../roundup/admin.py:1314 | 775 #: ../roundup/admin.py:1326 |
| 769 msgid "" | 776 msgid "" |
| 770 "WARNING: The database is already initialised!\n" | 777 "WARNING: The database is already initialised!\n" |
| 771 "If you re-initialise it, you will lose all the data!\n" | 778 "If you re-initialise it, you will lose all the data!\n" |
| 772 "Erase it? Y/N: " | 779 "Erase it? Y/N: " |
| 773 msgstr "" | 780 msgstr "" |
| 774 "警告:数据库已经被初始化!\n" | 781 "警告:数据库已经被初始化!\n" |
| 775 "如果你重新初始化它,所有的数据将会丢失!\n" | 782 "如果你重新初始化它,所有的数据将会丢失!\n" |
| 776 "删除它吗?Y/N: " | 783 "删除它吗?Y/N: " |
| 777 | 784 |
| 778 #: ../roundup/admin.py:1334 | 785 #: ../roundup/admin.py:1346 |
| 779 #, fuzzy | 786 #, fuzzy |
| 780 msgid "" | 787 msgid "" |
| 781 "Usage: install [template [backend [key=val[,key=val]]]]\n" | 788 "Usage: install [template [backend [key=val[,key=val]]]]\n" |
| 782 " Install a new Roundup tracker.\n" | 789 " Install a new Roundup tracker.\n" |
| 783 "\n" | 790 "\n" |
| 813 " init() 方法来修改 tracker 的初始数据库内容。\n" | 820 " init() 方法来修改 tracker 的初始数据库内容。\n" |
| 814 "\n" | 821 "\n" |
| 815 " 请查看初始化参数帮助。\n" | 822 " 请查看初始化参数帮助。\n" |
| 816 " " | 823 " " |
| 817 | 824 |
| 818 #: ../roundup/admin.py:1363 | 825 #: ../roundup/admin.py:1375 |
| 819 #, python-format | 826 #, python-format |
| 820 msgid "Instance home parent directory \"%(parent)s\" does not exist" | 827 msgid "Instance home parent directory \"%(parent)s\" does not exist" |
| 821 msgstr "实例目录的父目录 \"%(parent)s\" 不存在" | 828 msgstr "实例目录的父目录 \"%(parent)s\" 不存在" |
| 822 | 829 |
| 823 #: ../roundup/admin.py:1372 | 830 #: ../roundup/admin.py:1384 |
| 824 #, python-format | 831 #, python-format |
| 825 msgid "" | 832 msgid "" |
| 826 "WARNING: There appears to be a tracker in \"%(tracker_home)s\"!\n" | 833 "WARNING: There appears to be a tracker in \"%(tracker_home)s\"!\n" |
| 827 "If you re-install it, you will lose all the data!\n" | 834 "If you re-install it, you will lose all the data!\n" |
| 828 "Erase it? Y/N: " | 835 "Erase it? Y/N: " |
| 829 msgstr "" | 836 msgstr "" |
| 830 "警告: 在 \"%(tracker_home)s\" 已经存在一个 tracker 了!\n" | 837 "警告: 在 \"%(tracker_home)s\" 已经存在一个 tracker 了!\n" |
| 831 "如果你重新安装,所有的数据将会丢失!\n" | 838 "如果你重新安装,所有的数据将会丢失!\n" |
| 832 "删除它吗?Y/N: " | 839 "删除它吗?Y/N: " |
| 833 | 840 |
| 834 #: ../roundup/admin.py:1385 | 841 #: ../roundup/admin.py:1397 |
| 835 #, fuzzy | 842 #, fuzzy |
| 836 msgid "Select template" | 843 msgid "Select template" |
| 837 msgstr "选择模板 [classic]:" | 844 msgstr "选择模板 [classic]:" |
| 838 | 845 |
| 839 #: ../roundup/admin.py:1395 | 846 #: ../roundup/admin.py:1407 |
| 840 #, fuzzy | 847 #, fuzzy |
| 841 msgid "Select backend" | 848 msgid "Select backend" |
| 842 msgstr "选择后端 [anydbm]:" | 849 msgstr "选择后端 [anydbm]:" |
| 843 | 850 |
| 844 #: ../roundup/admin.py:1406 | 851 #: ../roundup/admin.py:1418 |
| 845 #, python-format | 852 #, python-format |
| 846 msgid "Error in configuration settings: \"%s\"" | 853 msgid "Error in configuration settings: \"%s\"" |
| 847 msgstr "配置设定有错: “%s”" | 854 msgstr "配置设定有错: “%s”" |
| 848 | 855 |
| 849 #: ../roundup/admin.py:1439 | 856 #: ../roundup/admin.py:1451 |
| 850 #, fuzzy, python-format | 857 #, fuzzy, python-format |
| 851 msgid "" | 858 msgid "" |
| 852 "\n" | 859 "\n" |
| 853 "---------------------------------------------------------------------------\n" | 860 "---------------------------------------------------------------------------\n" |
| 854 " You should now edit the tracker configuration file:\n" | 861 " You should now edit the tracker configuration file:\n" |
| 856 msgstr "" | 863 msgstr "" |
| 857 "\n" | 864 "\n" |
| 858 " 现在你应该修改tracker的配置文件:\n" | 865 " 现在你应该修改tracker的配置文件:\n" |
| 859 " %(config_file)s" | 866 " %(config_file)s" |
| 860 | 867 |
| 861 #: ../roundup/admin.py:1449 | 868 #: ../roundup/admin.py:1461 |
| 862 msgid " ... at a minimum, you must set following options:" | 869 msgid " ... at a minimum, you must set following options:" |
| 863 msgstr " ... 至少,你必须设置以下选项:" | 870 msgstr " ... 至少,你必须设置以下选项:" |
| 864 | 871 |
| 865 #: ../roundup/admin.py:1454 | 872 #: ../roundup/admin.py:1466 |
| 866 #, fuzzy, python-format | 873 #, fuzzy, python-format |
| 867 msgid "" | 874 msgid "" |
| 868 "\n" | 875 "\n" |
| 869 " If you wish to modify the database schema,\n" | 876 " If you wish to modify the database schema,\n" |
| 870 " you should also edit the schema file:\n" | 877 " you should also edit the schema file:\n" |
| 884 " %(database_config_file)s\n" | 891 " %(database_config_file)s\n" |
| 885 " 你可能也需要修改数据库初始化文件:\n" | 892 " 你可能也需要修改数据库初始化文件:\n" |
| 886 " %(database_init_file)s\n" | 893 " %(database_init_file)s\n" |
| 887 " ... 查看关于客户化的文档来了解更多的信息。\n" | 894 " ... 查看关于客户化的文档来了解更多的信息。\n" |
| 888 | 895 |
| 889 #: ../roundup/admin.py:1470 | 896 #: ../roundup/admin.py:1482 |
| 890 msgid "" | 897 msgid "" |
| 891 "Usage: list classname [property]\n" | 898 "Usage: list classname [property]\n" |
| 892 " List the instances of a class.\n" | 899 " List the instances of a class.\n" |
| 893 "\n" | 900 "\n" |
| 894 " Lists all instances of the given class. If the property is not\n" | 901 " Lists all instances of the given class. If the property is not\n" |
| 910 "\n" | 917 "\n" |
| 911 " 如果没有指定属性,使用 -c, -S 或 -s 会打印出条目 id 的列表。如果指\n" | 918 " 如果没有指定属性,使用 -c, -S 或 -s 会打印出条目 id 的列表。如果指\n" |
| 912 " 定了属性,对每个类型实例会打印出这个属性。\n" | 919 " 定了属性,对每个类型实例会打印出这个属性。\n" |
| 913 " " | 920 " " |
| 914 | 921 |
| 915 #: ../roundup/admin.py:1483 | 922 #: ../roundup/admin.py:1495 |
| 916 msgid "Too many arguments supplied" | 923 msgid "Too many arguments supplied" |
| 917 msgstr "提供了太多的参数了" | 924 msgstr "提供了太多的参数了" |
| 918 | 925 |
| 919 #: ../roundup/admin.py:1516 | 926 #: ../roundup/admin.py:1528 |
| 920 #, python-format | 927 #, python-format |
| 921 msgid "%(nodeid)4s: %(value)s" | 928 msgid "%(nodeid)4s: %(value)s" |
| 922 msgstr "%(nodeid)4s: %(value)s" | 929 msgstr "%(nodeid)4s: %(value)s" |
| 923 | 930 |
| 924 #. noqa: ARG002 - args unused | 931 #. noqa: ARG002 - args unused |
| 925 #: ../roundup/admin.py:1523 | 932 #: ../roundup/admin.py:1535 |
| 926 msgid "" | 933 msgid "" |
| 927 "Usage: migrate\n" | 934 "Usage: migrate\n" |
| 928 "\n" | |
| 929 " Update a tracker's database to be compatible with the Roundup\n" | 935 " Update a tracker's database to be compatible with the Roundup\n" |
| 930 " codebase.\n" | 936 " codebase.\n" |
| 931 "\n" | 937 "\n" |
| 932 " You should run the \"migrate\" command for your tracker once\n" | 938 " You should run the \"migrate\" command for your tracker once\n" |
| 933 " you've installed the latest codebase.\n" | 939 " you've installed the latest codebase.\n" |
| 944 " It's safe to run this even if it's not required, so just get\n" | 950 " It's safe to run this even if it's not required, so just get\n" |
| 945 " into the habit.\n" | 951 " into the habit.\n" |
| 946 " " | 952 " " |
| 947 msgstr "" | 953 msgstr "" |
| 948 | 954 |
| 949 #: ../roundup/admin.py:1544 | 955 #: ../roundup/admin.py:1555 |
| 950 #, python-format | 956 #, python-format |
| 951 msgid "Tracker updated to schema version %s." | 957 msgid "Tracker updated to schema version %s." |
| 952 msgstr "" | 958 msgstr "" |
| 953 | 959 |
| 954 #: ../roundup/admin.py:1548 | 960 #: ../roundup/admin.py:1559 |
| 955 #, fuzzy, python-format | 961 #, fuzzy, python-format |
| 956 msgid "No migration action required. At schema version %s." | 962 msgid "No migration action required. At schema version %s." |
| 957 msgstr "不必执行迁移" | 963 msgstr "不必执行迁移" |
| 958 | 964 |
| 959 #: ../roundup/admin.py:1553 | 965 #: ../roundup/admin.py:1564 |
| 966 #, fuzzy | |
| 960 msgid "" | 967 msgid "" |
| 961 "Usage: pack period | date\n" | 968 "Usage: pack period | date\n" |
| 962 "\n" | 969 " Remove journal entries older than the date/period.\n" |
| 963 " Remove journal entries older than a period of time specified or\n" | |
| 964 " before a certain date.\n" | |
| 965 "\n" | 970 "\n" |
| 966 " A period is specified using the suffixes \"y\", \"m\", and \"d\". " | 971 " A period is specified using the suffixes \"y\", \"m\", and \"d\". " |
| 967 "The\n" | 972 "The\n" |
| 968 " suffix \"w\" (for \"week\") means 7 days.\n" | 973 " suffix \"w\" (for \"week\") means 7 days.\n" |
| 969 "\n" | 974 "\n" |
| 992 " 日期格式是 \"YYYY-MM-DD\" 例如:\n" | 997 " 日期格式是 \"YYYY-MM-DD\" 例如:\n" |
| 993 " 2001-01-01\n" | 998 " 2001-01-01\n" |
| 994 "\n" | 999 "\n" |
| 995 " " | 1000 " " |
| 996 | 1001 |
| 997 #: ../roundup/admin.py:1581 | 1002 #: ../roundup/admin.py:1590 |
| 998 msgid "Invalid format" | 1003 msgid "Invalid format" |
| 999 msgstr "无效的格式" | 1004 msgstr "无效的格式" |
| 1000 | 1005 |
| 1001 #: ../roundup/admin.py:1592 | 1006 #: ../roundup/admin.py:1601 |
| 1002 msgid "" | 1007 msgid "" |
| 1003 "Usage: perftest [mode] [arguments]*\n" | 1008 "Usage: perftest [mode] [arguments]*\n" |
| 1004 "\n" | 1009 " Time operations in Roundup.\n" |
| 1005 " Time operations in Roundup. Supported arguments:\n" | 1010 "\n" |
| 1011 " Supported arguments:\n" | |
| 1006 "\n" | 1012 "\n" |
| 1007 " [password] [rounds=<integer>] [scheme=<scheme>]\n" | 1013 " [password] [rounds=<integer>] [scheme=<scheme>]\n" |
| 1008 "\n" | 1014 "\n" |
| 1009 " 'password' is the default mode. The tracker's config.ini\n" | 1015 " 'password' is the default mode. The tracker's config.ini\n" |
| 1010 " setting for 'password_pbkdf2_default_rounds' is the default\n" | 1016 " setting for 'password_pbkdf2_default_rounds' is the default\n" |
| 1013 " coded into Roundup. List supported schemes by using 'scheme='.\n" | 1019 " coded into Roundup. List supported schemes by using 'scheme='.\n" |
| 1014 "\n" | 1020 "\n" |
| 1015 " " | 1021 " " |
| 1016 msgstr "" | 1022 msgstr "" |
| 1017 | 1023 |
| 1018 #: ../roundup/admin.py:1625 | 1024 #: ../roundup/admin.py:1635 |
| 1019 msgid "Invalid 'rounds'. Must be larger than 999." | 1025 msgid "Invalid 'rounds'. Must be larger than 999." |
| 1020 msgstr "" | 1026 msgstr "" |
| 1021 | 1027 |
| 1022 #: ../roundup/admin.py:1629 | 1028 #: ../roundup/admin.py:1639 |
| 1023 #, python-format | 1029 #, python-format |
| 1024 msgid "Invalid 'rounds'. It must be an integer not: %s" | 1030 msgid "Invalid 'rounds'. It must be an integer not: %s" |
| 1025 msgstr "" | 1031 msgstr "" |
| 1026 | 1032 |
| 1027 #: ../roundup/admin.py:1656 | 1033 #: ../roundup/admin.py:1666 |
| 1028 msgid "scheme does not support rounds." | 1034 msgid "scheme does not support rounds." |
| 1029 msgstr "" | 1035 msgstr "" |
| 1030 | 1036 |
| 1031 #: ../roundup/admin.py:1659 | 1037 #: ../roundup/admin.py:1669 |
| 1032 #, python-format | 1038 #, python-format |
| 1033 msgid "Hash time: %(time)0.9f seconds, scheme: %(scheme)s, rounds: %(rounds)s" | 1039 msgid "Hash time: %(time)0.9f seconds, scheme: %(scheme)s, rounds: %(rounds)s" |
| 1034 msgstr "" | 1040 msgstr "" |
| 1035 | 1041 |
| 1036 #: ../roundup/admin.py:1665 | 1042 #: ../roundup/admin.py:1675 |
| 1037 msgid "" | 1043 msgid "" |
| 1038 "Usage: pragma setting=value | 'list'\n" | 1044 "Usage: pragma setting=value | 'list'\n" |
| 1039 " Set internal admin settings to a value. E.G.\n" | 1045 " Set internal admin settings to a value.\n" |
| 1046 "\n" | |
| 1047 " For example:\n" | |
| 1040 "\n" | 1048 "\n" |
| 1041 " pragma verbose=True\n" | 1049 " pragma verbose=True\n" |
| 1042 " pragma verbose=yes\n" | 1050 " pragma verbose=yes\n" |
| 1043 " pragma verbose=on\n" | 1051 " pragma verbose=on\n" |
| 1044 " pragma verbose=1\n" | 1052 " pragma verbose=1\n" |
| 1058 " Replaces exporttables/importtables with\n" | 1066 " Replaces exporttables/importtables with\n" |
| 1059 " exportfiles=false then export/import\n" | 1067 " exportfiles=false then export/import\n" |
| 1060 " " | 1068 " " |
| 1061 msgstr "" | 1069 msgstr "" |
| 1062 | 1070 |
| 1063 #: ../roundup/admin.py:1698 | 1071 #: ../roundup/admin.py:1710 |
| 1064 #, python-format | 1072 #, python-format |
| 1065 msgid "Argument must be setting=value, was given: %s." | 1073 msgid "Argument must be setting=value, was given: %s." |
| 1066 msgstr "" | 1074 msgstr "" |
| 1067 | 1075 |
| 1068 #: ../roundup/admin.py:1701 | 1076 #: ../roundup/admin.py:1713 |
| 1069 msgid "Current settings and values (NYI - not yet implemented):" | 1077 msgid "Current settings and values (NYI - not yet implemented):" |
| 1070 msgstr "" | 1078 msgstr "" |
| 1071 | 1079 |
| 1072 #: ../roundup/admin.py:1712 | 1080 #: ../roundup/admin.py:1724 |
| 1073 msgid "" | 1081 msgid "" |
| 1074 " Help for this pragma is missing. Please report it to the Roundup " | 1082 " Help for this pragma is missing. Please report it to the Roundup " |
| 1075 "project.\n" | 1083 "project.\n" |
| 1076 msgstr "" | 1084 msgstr "" |
| 1077 | 1085 |
| 1078 #: ../roundup/admin.py:1718 | 1086 #: ../roundup/admin.py:1730 |
| 1079 #, fuzzy, python-format | 1087 #, fuzzy, python-format |
| 1080 msgid "Unknown setting %s. Try \"pragma list\"." | 1088 msgid "Unknown setting %s. Try \"pragma list\"." |
| 1081 msgstr "未知用户名" | 1089 msgstr "未知用户名" |
| 1082 | 1090 |
| 1083 #: ../roundup/admin.py:1728 | 1091 #: ../roundup/admin.py:1740 |
| 1084 #, python-format | 1092 #, python-format |
| 1085 msgid "Incorrect value for boolean setting %(setting)s: %(value)s." | 1093 msgid "Incorrect value for boolean setting %(setting)s: %(value)s." |
| 1086 msgstr "" | 1094 msgstr "" |
| 1087 | 1095 |
| 1088 #: ../roundup/admin.py:1735 | 1096 #: ../roundup/admin.py:1747 |
| 1089 #, python-format | 1097 #, python-format |
| 1090 msgid "Incorrect value for integer setting %(setting)s: %(value)s." | 1098 msgid "Incorrect value for integer setting %(setting)s: %(value)s." |
| 1091 msgstr "" | 1099 msgstr "" |
| 1092 | 1100 |
| 1093 #: ../roundup/admin.py:1742 | 1101 #: ../roundup/admin.py:1754 |
| 1094 #, python-format | 1102 #, python-format |
| 1095 msgid "" | 1103 msgid "" |
| 1096 "Incorrect value for setting %(setting)s: %(value)s. Should be no, both, or " | 1104 "Incorrect value for setting %(setting)s: %(value)s. Should be no, both, or " |
| 1097 "only." | 1105 "only." |
| 1098 msgstr "" | 1106 msgstr "" |
| 1099 | 1107 |
| 1100 #: ../roundup/admin.py:1752 | 1108 #: ../roundup/admin.py:1764 |
| 1101 #, python-format | 1109 #, python-format |
| 1102 msgid "Internal error: pragma can not handle values of type: %s" | 1110 msgid "Internal error: pragma can not handle values of type: %s" |
| 1103 msgstr "" | 1111 msgstr "" |
| 1104 | 1112 |
| 1105 #: ../roundup/admin.py:1761 | 1113 #: ../roundup/admin.py:1773 |
| 1106 #, fuzzy | 1114 #, fuzzy |
| 1107 msgid "" | 1115 msgid "" |
| 1108 "Usage: reindex [classname|classname:#-#|designator]*\n" | 1116 "Usage: reindex [classname|classname:#-#|designator]*\n" |
| 1109 " Re-generate a tracker's search indexes.\n" | 1117 " Re-generate a tracker's search indexes.\n" |
| 1110 "\n" | 1118 "\n" |
| 1123 " 重新生成 tracker 的搜索索引。\n" | 1131 " 重新生成 tracker 的搜索索引。\n" |
| 1124 "\n" | 1132 "\n" |
| 1125 " 重新生成 tracker 的搜索索引,它将自动进行。\n" | 1133 " 重新生成 tracker 的搜索索引,它将自动进行。\n" |
| 1126 " " | 1134 " " |
| 1127 | 1135 |
| 1128 #: ../roundup/admin.py:1783 | 1136 #: ../roundup/admin.py:1795 |
| 1129 #, python-format | 1137 #, python-format |
| 1130 msgid "no such item \"%(designator)s\"" | 1138 msgid "no such item \"%(designator)s\"" |
| 1131 msgstr "没有这样的条目 \"%(designator)s\"" | 1139 msgstr "没有这样的条目 \"%(designator)s\"" |
| 1132 | 1140 |
| 1133 #: ../roundup/admin.py:1793 | 1141 #: ../roundup/admin.py:1805 |
| 1134 #, fuzzy, python-format | 1142 #, fuzzy, python-format |
| 1135 msgid "no such item \"%(class)s%(id)s\"" | 1143 msgid "no such item \"%(class)s%(id)s\"" |
| 1136 msgstr "没有这样的条目 \"%(designator)s\"" | 1144 msgstr "没有这样的条目 \"%(designator)s\"" |
| 1137 | 1145 |
| 1138 #: ../roundup/admin.py:1805 | 1146 #: ../roundup/admin.py:1817 |
| 1139 #, fuzzy | 1147 #, fuzzy |
| 1140 msgid "" | 1148 msgid "" |
| 1141 "Usage: restore designator[,designator]*\n" | 1149 "Usage: restore designator[,designator]*\n" |
| 1142 " Restore the retired node specified by designator.\n" | 1150 " Restore the retired node specified by designator.\n" |
| 1143 "\n" | 1151 "\n" |
| 1151 " 恢复由指示器(designator)表明的已经撤除的结点。\n" | 1159 " 恢复由指示器(designator)表明的已经撤除的结点。\n" |
| 1152 "\n" | 1160 "\n" |
| 1153 " 给定的结点将对用户来说再次生效。\n" | 1161 " 给定的结点将对用户来说再次生效。\n" |
| 1154 " " | 1162 " " |
| 1155 | 1163 |
| 1156 # ../roundup/admin.py:550 :945 :994 :1016 | 1164 #: ../roundup/admin.py:1848 |
| 1157 #: ../roundup/admin.py:1830 | |
| 1158 #, fuzzy | |
| 1159 msgid "no such %(classname)s node \"%(nodeid)s\"" | |
| 1160 msgstr "没有这样的 %(classname)s 结点 \"%(nodeid)s\"" | |
| 1161 | |
| 1162 #: ../roundup/admin.py:1836 | |
| 1163 #, fuzzy | 1165 #, fuzzy |
| 1164 msgid "" | 1166 msgid "" |
| 1165 "Usage: retire designator[,designator]*\n" | 1167 "Usage: retire designator[,designator]*\n" |
| 1166 " Retire the node specified by designator.\n" | 1168 " Retire the node specified by designator.\n" |
| 1167 "\n" | 1169 "\n" |
| 1178 " 这个动作指明一个特别的结点将不能被 list 或 find 命令得到,并且\n" | 1180 " 这个动作指明一个特别的结点将不能被 list 或 find 命令得到,并且\n" |
| 1179 " 它的键值可以被重用。\n" | 1181 " 它的键值可以被重用。\n" |
| 1180 " " | 1182 " " |
| 1181 | 1183 |
| 1182 #. noqa: ARG002 - args unused | 1184 #. noqa: ARG002 - args unused |
| 1183 #: ../roundup/admin.py:1864 | 1185 #: ../roundup/admin.py:1876 |
| 1184 msgid "" | 1186 msgid "" |
| 1185 "Usage: rollback\n" | 1187 "Usage: rollback\n" |
| 1186 " Undo all changes that are pending commit to the database.\n" | 1188 " Undo all changes that are pending commit to the database.\n" |
| 1187 "\n" | 1189 "\n" |
| 1188 " The changes made during an interactive session are not\n" | 1190 " The changes made during an interactive session are not\n" |
| 1197 " 在交互对话中产生的改动并不自动写到数据库中 - 它们必须被手工提交。\n" | 1199 " 在交互对话中产生的改动并不自动写到数据库中 - 它们必须被手工提交。\n" |
| 1198 " 这个命令用来撤除所有这些改动,所以在后面跟上提交的话不会对数据库\n" | 1200 " 这个命令用来撤除所有这些改动,所以在后面跟上提交的话不会对数据库\n" |
| 1199 " 产生变化。\n" | 1201 " 产生变化。\n" |
| 1200 " " | 1202 " " |
| 1201 | 1203 |
| 1202 #: ../roundup/admin.py:1877 | 1204 #: ../roundup/admin.py:1889 |
| 1203 msgid "" | 1205 msgid "" |
| 1204 "Usage: security [Role name]\n" | 1206 "Usage: security [Role name]\n" |
| 1205 "\n" | 1207 " Display the Permissions available to one or all Roles.\n" |
| 1206 " Display the Permissions available to one or all Roles.\n" | 1208 "\n" |
| 1207 " Also validates that any properties defined in a\n" | 1209 " Also validates that any properties defined in a\n" |
| 1208 " permission are valid.\n" | 1210 " permission are valid.\n" |
| 1209 "\n" | 1211 "\n" |
| 1210 " Run this after changing your permissions to catch\n" | 1212 " Run this after changing your permissions to catch\n" |
| 1211 " typos.\n" | 1213 " typos.\n" |
| 1212 " " | 1214 " " |
| 1213 msgstr "" | 1215 msgstr "" |
| 1214 | 1216 |
| 1215 #: ../roundup/admin.py:1892 | 1217 #: ../roundup/admin.py:1904 |
| 1216 #, fuzzy, python-format | 1218 #, fuzzy, python-format |
| 1217 msgid "No such Role \"%(role)s\"\n" | 1219 msgid "No such Role \"%(role)s\"\n" |
| 1218 msgstr "没有这样的角色 \"%(role)s\"" | 1220 msgstr "没有这样的角色 \"%(role)s\"" |
| 1219 | 1221 |
| 1220 #: ../roundup/admin.py:1898 | 1222 #: ../roundup/admin.py:1910 |
| 1221 #, fuzzy, python-format | 1223 #, fuzzy, python-format |
| 1222 msgid "New Web users get the Roles \"%(role)s\"\n" | 1224 msgid "New Web users get the Roles \"%(role)s\"\n" |
| 1223 msgstr "新Web用户得到角色 \"%(role)s\"" | 1225 msgstr "新Web用户得到角色 \"%(role)s\"" |
| 1224 | 1226 |
| 1225 #: ../roundup/admin.py:1901 | 1227 #: ../roundup/admin.py:1913 |
| 1226 #, fuzzy, python-format | 1228 #, fuzzy, python-format |
| 1227 msgid "New Web users get the Role \"%(role)s\"\n" | 1229 msgid "New Web users get the Role \"%(role)s\"\n" |
| 1228 msgstr "新Web用户得到角色 \"%(role)s\"" | 1230 msgstr "新Web用户得到角色 \"%(role)s\"" |
| 1229 | 1231 |
| 1230 #: ../roundup/admin.py:1905 | 1232 #: ../roundup/admin.py:1917 |
| 1231 #, fuzzy, python-format | 1233 #, fuzzy, python-format |
| 1232 msgid "New Email users get the Roles \"%(role)s\"\n" | 1234 msgid "New Email users get the Roles \"%(role)s\"\n" |
| 1233 msgstr "新邮件用户得到角色 \"%(role)s\"" | 1235 msgstr "新邮件用户得到角色 \"%(role)s\"" |
| 1234 | 1236 |
| 1235 #: ../roundup/admin.py:1907 | 1237 #: ../roundup/admin.py:1919 |
| 1236 #, fuzzy, python-format | 1238 #, fuzzy, python-format |
| 1237 msgid "New Email users get the Role \"%(role)s\"\n" | 1239 msgid "New Email users get the Role \"%(role)s\"\n" |
| 1238 msgstr "新邮件用户得到角色 \"%(role)s\"" | 1240 msgstr "新邮件用户得到角色 \"%(role)s\"" |
| 1239 | 1241 |
| 1240 #: ../roundup/admin.py:1910 | 1242 #: ../roundup/admin.py:1922 |
| 1241 #, fuzzy, python-format | 1243 #, fuzzy, python-format |
| 1242 msgid "Role \"%(name)s\":\n" | 1244 msgid "Role \"%(name)s\":\n" |
| 1243 msgstr "角色 \"%(name)s\":" | 1245 msgstr "角色 \"%(name)s\":" |
| 1244 | 1246 |
| 1245 #: ../roundup/admin.py:1916 | 1247 #: ../roundup/admin.py:1928 |
| 1246 #, fuzzy | 1248 #, fuzzy |
| 1247 msgid " %(description)s (%(name)s for \"%(klass)s\"" | 1249 msgid " %(description)s (%(name)s for \"%(klass)s\"" |
| 1248 msgstr " %(description)s (%(name)s 仅用于 \"%(klass)s\")" | 1250 msgstr " %(description)s (%(name)s 仅用于 \"%(klass)s\")" |
| 1249 | 1251 |
| 1250 #: ../roundup/admin.py:1916 | 1252 #: ../roundup/admin.py:1928 |
| 1251 #, fuzzy, python-format | 1253 #, fuzzy, python-format |
| 1252 msgid " %(description)s (%(name)s for \"%(klass)s\": %(properties)s only)\n" | 1254 msgid " %(description)s (%(name)s for \"%(klass)s\": %(properties)s only)\n" |
| 1253 msgstr " %(description)s (%(name)s 仅用于 \"%(klass)s\")" | 1255 msgstr " %(description)s (%(name)s 仅用于 \"%(klass)s\")" |
| 1254 | 1256 |
| 1255 #: ../roundup/admin.py:1929 | 1257 #: ../roundup/admin.py:1941 |
| 1256 #, python-format | 1258 #, python-format |
| 1257 msgid "" | 1259 msgid "" |
| 1258 "\n" | 1260 "\n" |
| 1259 " **Invalid properties for %(class)s: %(props)s\n" | 1261 " **Invalid properties for %(class)s: %(props)s\n" |
| 1260 "\n" | 1262 "\n" |
| 1261 msgstr "" | 1263 msgstr "" |
| 1262 | 1264 |
| 1263 #: ../roundup/admin.py:1935 | 1265 #: ../roundup/admin.py:1947 |
| 1264 #, fuzzy, python-format | 1266 #, fuzzy, python-format |
| 1265 msgid " %(description)s (%(name)s for \"%(klass)s\" only)\n" | 1267 msgid " %(description)s (%(name)s for \"%(klass)s\" only)\n" |
| 1266 msgstr " %(description)s (%(name)s 仅用于 \"%(klass)s\")" | 1268 msgstr " %(description)s (%(name)s 仅用于 \"%(klass)s\")" |
| 1267 | 1269 |
| 1268 #: ../roundup/admin.py:1938 | 1270 #: ../roundup/admin.py:1950 |
| 1269 #, fuzzy, python-format | 1271 #, fuzzy, python-format |
| 1270 msgid " %(description)s (%(name)s)\n" | 1272 msgid " %(description)s (%(name)s)\n" |
| 1271 msgstr " %(description)s (%(name)s)" | 1273 msgstr " %(description)s (%(name)s)" |
| 1272 | 1274 |
| 1273 #: ../roundup/admin.py:1942 | 1275 #: ../roundup/admin.py:1954 |
| 1274 #, fuzzy | 1276 #, fuzzy |
| 1275 msgid "" | 1277 msgid "" |
| 1276 "Usage: set items property=value [property=value ...]\n" | 1278 "Usage: set items property=value [property=value ...]\n" |
| 1277 " Set the given properties of one or more items(s).\n" | 1279 " Set the given properties of one or more items(s).\n" |
| 1278 "\n" | 1280 "\n" |
| 1301 " (例如:\"property=\")那么属性是未设置的。如果属性是一个多链接" | 1303 " (例如:\"property=\")那么属性是未设置的。如果属性是一个多链接" |
| 1302 "(multilink),\n" | 1304 "(multilink),\n" |
| 1303 " 你需要为多链接提供用逗号分隔的数字(例如 \"1,2,3\")。\n" | 1305 " 你需要为多链接提供用逗号分隔的数字(例如 \"1,2,3\")。\n" |
| 1304 " " | 1306 " " |
| 1305 | 1307 |
| 1306 #: ../roundup/admin.py:2010 | 1308 #: ../roundup/admin.py:2022 |
| 1307 msgid "" | 1309 msgid "" |
| 1308 "Usage: specification classname\n" | 1310 "Usage: specification classname\n" |
| 1309 " Show the properties for a classname.\n" | 1311 " Show the properties for a classname.\n" |
| 1310 "\n" | 1312 "\n" |
| 1311 " This lists the properties for a given class.\n" | 1313 " This lists the properties for a given class.\n" |
| 1315 " 显示一个类型名的属性。\n" | 1317 " 显示一个类型名的属性。\n" |
| 1316 "\n" | 1318 "\n" |
| 1317 " 会列出给定类型的属性。\n" | 1319 " 会列出给定类型的属性。\n" |
| 1318 " " | 1320 " " |
| 1319 | 1321 |
| 1320 #: ../roundup/admin.py:2029 | 1322 #: ../roundup/admin.py:2041 |
| 1321 #, fuzzy, python-format | 1323 #, fuzzy, python-format |
| 1322 msgid "%(key)s: %(value)s (key property)\n" | 1324 msgid "%(key)s: %(value)s (key property)\n" |
| 1323 msgstr "%(key)s: %(value)s (关键属性)" | 1325 msgstr "%(key)s: %(value)s (关键属性)" |
| 1324 | 1326 |
| 1325 #: ../roundup/admin.py:2032 | 1327 #: ../roundup/admin.py:2044 |
| 1326 #, fuzzy, python-format | 1328 #, fuzzy, python-format |
| 1327 msgid "%(key)s: %(value)s\n" | 1329 msgid "%(key)s: %(value)s\n" |
| 1328 msgstr "%(key)s: %(value)s" | 1330 msgstr "%(key)s: %(value)s" |
| 1329 | 1331 |
| 1330 #: ../roundup/admin.py:2035 | 1332 #: ../roundup/admin.py:2047 |
| 1331 msgid "" | 1333 msgid "" |
| 1332 "Usage: table classname [property[,property]*]\n" | 1334 "Usage: table classname [property[,property]*]\n" |
| 1333 " List the instances of a class in tabular form.\n" | 1335 " List the instances of a class in tabular form.\n" |
| 1334 "\n" | 1336 "\n" |
| 1335 " Lists all instances of the given class. If the properties are not\n" | 1337 " Lists all instances of the given class. If the properties are not\n" |
| 1383 " 4 feat\n" | 1385 " 4 feat\n" |
| 1384 "\n" | 1386 "\n" |
| 1385 " 将生成4个字符宽的 \"Name\" 列。\n" | 1387 " 将生成4个字符宽的 \"Name\" 列。\n" |
| 1386 " " | 1388 " " |
| 1387 | 1389 |
| 1388 #: ../roundup/admin.py:2081 | 1390 #: ../roundup/admin.py:2093 |
| 1389 #, python-format | 1391 #, python-format |
| 1390 msgid "\"%(spec)s\" not name:width" | 1392 msgid "\"%(spec)s\" not name:width" |
| 1391 msgstr "\"%(spec)s\" 不是 名字:宽度" | 1393 msgstr "\"%(spec)s\" 不是 名字:宽度" |
| 1392 | 1394 |
| 1393 #: ../roundup/admin.py:2103 | 1395 #: ../roundup/admin.py:2115 |
| 1394 #, python-format | 1396 #, python-format |
| 1395 msgid "\"%(spec)s\" does not have an integer width: \"%(width)s\"" | 1397 msgid "\"%(spec)s\" does not have an integer width: \"%(width)s\"" |
| 1396 msgstr "" | 1398 msgstr "" |
| 1397 | 1399 |
| 1398 #: ../roundup/admin.py:2139 | 1400 #: ../roundup/admin.py:2151 |
| 1399 msgid "" | 1401 msgid "" |
| 1400 "Usage: templates [trace_search]\n" | 1402 "Usage: templates [trace_search]\n" |
| 1401 " List templates and their installed directories.\n" | 1403 " List templates and their installed directories.\n" |
| 1402 "\n" | 1404 "\n" |
| 1403 " With trace_search also list all directories that are\n" | 1405 " With trace_search also list all directories that are\n" |
| 1404 " searched for templates.\n" | 1406 " searched for templates.\n" |
| 1405 " " | 1407 " " |
| 1406 msgstr "" | 1408 msgstr "" |
| 1407 | 1409 |
| 1408 #: ../roundup/admin.py:2167 | 1410 #: ../roundup/admin.py:2179 |
| 1409 msgid "" | 1411 msgid "" |
| 1410 "Usage: updateconfig <filename>\n" | 1412 "Usage: updateconfig <filename>\n" |
| 1411 " Generate an updated tracker config file (ini style) in\n" | 1413 " Merge existing tracker config with new settings.\n" |
| 1412 " <filename>. Use current settings from existing roundup\n" | 1414 "\n" |
| 1413 " tracker in tracker home.\n" | 1415 " Output the updated config file to <filename>. Use current\n" |
| 1416 " settings from existing roundup tracker in tracker home.\n" | |
| 1414 " " | 1417 " " |
| 1415 msgstr "" | 1418 msgstr "" |
| 1416 | 1419 |
| 1417 # ../roundup/cgi/actions.py:549 :559 :730 :749 | 1420 # ../roundup/cgi/actions.py:549 :559 :730 :749 |
| 1418 #: ../roundup/admin.py:2175 ../roundup/cgi/actions.py:886 | 1421 #: ../roundup/admin.py:2188 ../roundup/cgi/actions.py:886 |
| 1419 #: ../roundup/cgi/actions.py:897 ../roundup/cgi/actions.py:1099 | 1422 #: ../roundup/cgi/actions.py:897 ../roundup/cgi/actions.py:1099 |
| 1420 #: ../roundup/cgi/actions.py:1113 ../roundup/cgi/actions.py:886:897 :1099:1113 | 1423 #: ../roundup/cgi/actions.py:1113 ../roundup/cgi/actions.py:886:897 :1099:1113 |
| 1421 #, python-format | 1424 #, python-format |
| 1422 msgid "Error: %s" | 1425 msgid "Error: %s" |
| 1423 msgstr "错误:%s" | 1426 msgstr "错误:%s" |
| 1424 | 1427 |
| 1425 #: ../roundup/admin.py:2207 | 1428 #: ../roundup/admin.py:2220 |
| 1426 #, python-format | 1429 #, python-format |
| 1427 msgid "Unknown command \"%(command)s\" (\"help commands\" for a list)" | 1430 msgid "Unknown command \"%(command)s\" (\"help commands\" for a list)" |
| 1428 msgstr "未知命令 \"%(command)s\" (\"help commands\" 查看命令列表)" | 1431 msgstr "未知命令 \"%(command)s\" (\"help commands\" 查看命令列表)" |
| 1429 | 1432 |
| 1430 #: ../roundup/admin.py:2213 | 1433 #: ../roundup/admin.py:2226 |
| 1431 #, python-format | 1434 #, python-format |
| 1432 msgid "Multiple commands match \"%(command)s\": %(list)s" | 1435 msgid "Multiple commands match \"%(command)s\": %(list)s" |
| 1433 msgstr "多命令匹配 \"%(command)s\": %(list)s" | 1436 msgstr "多命令匹配 \"%(command)s\": %(list)s" |
| 1434 | 1437 |
| 1435 #: ../roundup/admin.py:2228 | 1438 #: ../roundup/admin.py:2241 |
| 1436 msgid "Enter tracker home: " | 1439 msgid "Enter tracker home: " |
| 1437 msgstr "输入tracker起始目录:" | 1440 msgstr "输入tracker起始目录:" |
| 1438 | 1441 |
| 1439 #: ../roundup/admin.py:2257 ../roundup/admin.py:2261 | 1442 #: ../roundup/admin.py:2270 ../roundup/admin.py:2274 |
| 1440 #: ../roundup/admin.py:2257:2261 | 1443 #: ../roundup/admin.py:2270:2274 |
| 1441 #, python-format | 1444 #, python-format |
| 1442 msgid "Error: Couldn't open tracker: %(message)s" | 1445 msgid "Error: Couldn't open tracker: %(message)s" |
| 1443 msgstr "错误:不能打开tracker:%(message)s" | 1446 msgstr "错误:不能打开tracker:%(message)s" |
| 1444 | 1447 |
| 1445 #: ../roundup/admin.py:2309 | 1448 #: ../roundup/admin.py:2322 |
| 1446 #, python-format | 1449 #, python-format |
| 1447 msgid "" | 1450 msgid "" |
| 1448 "Roundup %s ready for input.\n" | 1451 "Roundup %s ready for input.\n" |
| 1449 "Type \"help\" for help." | 1452 "Type \"help\" for help." |
| 1450 msgstr "" | 1453 msgstr "" |
| 1451 "Roundup %s 输入就绪。\n" | 1454 "Roundup %s 输入就绪。\n" |
| 1452 "敲入 \"help\" 获得帮助。" | 1455 "敲入 \"help\" 获得帮助。" |
| 1453 | 1456 |
| 1454 #: ../roundup/admin.py:2342 | 1457 #: ../roundup/admin.py:2355 |
| 1455 msgid "Note: command history and editing not available" | 1458 msgid "Note: command history and editing not available" |
| 1456 msgstr "注意:命令历史和编辑无效" | 1459 msgstr "注意:命令历史和编辑无效" |
| 1457 | 1460 |
| 1458 #: ../roundup/admin.py:2348 | 1461 #: ../roundup/admin.py:2361 |
| 1459 msgid "exit..." | 1462 msgid "exit..." |
| 1460 msgstr "退出..." | 1463 msgstr "退出..." |
| 1461 | 1464 |
| 1462 #: ../roundup/admin.py:2361 | 1465 #: ../roundup/admin.py:2374 |
| 1463 msgid "There are unsaved changes. Commit them (y/N)? " | 1466 msgid "There are unsaved changes. Commit them (y/N)? " |
| 1464 msgstr "存在未被保存的改动。提交吗(y/N)?" | 1467 msgstr "存在未被保存的改动。提交吗(y/N)?" |
| 1465 | 1468 |
| 1466 #: ../roundup/backends/back_anydbm.py:215 | 1469 #: ../roundup/backends/back_anydbm.py:215 |
| 1467 #: ../roundup/backends/rdbms_common.py:928 | 1470 #: ../roundup/backends/rdbms_common.py:928 |
| 1983 #: ../roundup/cgi/cgitb.py:209 ../roundup/cgi/cgitb.py:215 | 1986 #: ../roundup/cgi/cgitb.py:209 ../roundup/cgi/cgitb.py:215 |
| 1984 #: ../roundup/cgi/cgitb.py:209:215 | 1987 #: ../roundup/cgi/cgitb.py:209:215 |
| 1985 msgid "<em>undefined</em>" | 1988 msgid "<em>undefined</em>" |
| 1986 msgstr "<em>未定义</em>" | 1989 msgstr "<em>未定义</em>" |
| 1987 | 1990 |
| 1988 #: ../roundup/cgi/client.py:90 | 1991 #: ../roundup/cgi/client.py:105 |
| 1989 msgid "" | 1992 msgid "" |
| 1990 "<html><head><title>An error has occurred</title></head>\n" | 1993 "<html><head><title>An error has occurred</title></head>\n" |
| 1991 "<body><h1>An error has occurred</h1>\n" | 1994 "<body><h1>An error has occurred</h1>\n" |
| 1992 "<p>A problem was encountered processing your request.\n" | 1995 "<p>A problem was encountered processing your request.\n" |
| 1993 "The tracker maintainers have been notified of the problem.</p>\n" | 1996 "The tracker maintainers have been notified of the problem.</p>\n" |
| 1994 "</body></html>" | 1997 "</body></html>" |
| 1995 msgstr "" | 1998 msgstr "" |
| 1996 | 1999 |
| 1997 #: ../roundup/cgi/client.py:702 ../roundup/cgi/client.py:1622 | 2000 #: ../roundup/cgi/client.py:717 ../roundup/cgi/client.py:1635 |
| 1998 #: ../roundup/cgi/client.py:702:1622 | 2001 #: ../roundup/cgi/client.py:717:1635 |
| 1999 msgid "Required Header Missing" | 2002 msgid "Required Header Missing" |
| 2000 msgstr "" | 2003 msgstr "" |
| 2001 | 2004 |
| 2002 #: ../roundup/cgi/client.py:704 | 2005 #: ../roundup/cgi/client.py:719 |
| 2003 #, fuzzy | 2006 #, fuzzy |
| 2004 msgid "Client is not allowed to use Rest Interface." | 2007 msgid "Client is not allowed to use Rest Interface." |
| 2005 msgstr "匿名用户不允许使用 web 界面" | 2008 msgstr "匿名用户不允许使用 web 界面" |
| 2006 | 2009 |
| 2007 #: ../roundup/cgi/client.py:956 | 2010 #: ../roundup/cgi/client.py:971 |
| 2008 msgid "Form Error: " | 2011 msgid "Form Error: " |
| 2009 msgstr "表格错误:" | 2012 msgstr "表格错误:" |
| 2010 | 2013 |
| 2011 #: ../roundup/cgi/client.py:1049 | 2014 #: ../roundup/cgi/client.py:1064 |
| 2012 #, python-format | 2015 #, python-format |
| 2013 msgid "Unrecognized charset: %r" | 2016 msgid "Unrecognized charset: %r" |
| 2014 msgstr "无法识别的字符集:%r" | 2017 msgstr "无法识别的字符集:%r" |
| 2015 | 2018 |
| 2016 #: ../roundup/cgi/client.py:1318 ../roundup/cgi/client.py:2281 | 2019 #: ../roundup/cgi/client.py:1331 ../roundup/cgi/client.py:2294 |
| 2017 #: ../roundup/cgi/client.py:1318:2281 | 2020 #: ../roundup/cgi/client.py:1331:2294 |
| 2018 msgid "broken form: multiple @action values submitted" | 2021 msgid "broken form: multiple @action values submitted" |
| 2019 msgstr "" | 2022 msgstr "" |
| 2020 | 2023 |
| 2021 #: ../roundup/cgi/client.py:1335 | 2024 #: ../roundup/cgi/client.py:1348 |
| 2022 msgid "Anonymous users are not allowed to use the web interface" | 2025 msgid "Anonymous users are not allowed to use the web interface" |
| 2023 msgstr "匿名用户不允许使用 web 界面" | 2026 msgstr "匿名用户不允许使用 web 界面" |
| 2024 | 2027 |
| 2025 #: ../roundup/cgi/client.py:1483 | 2028 #: ../roundup/cgi/client.py:1496 |
| 2026 msgid "Referer header not available." | 2029 msgid "Referer header not available." |
| 2027 msgstr "" | 2030 msgstr "" |
| 2028 | 2031 |
| 2029 #: ../roundup/cgi/client.py:1487 | 2032 #: ../roundup/cgi/client.py:1500 |
| 2030 #, python-format | 2033 #, python-format |
| 2031 msgid "csrf key used with wrong method from: %s" | 2034 msgid "csrf key used with wrong method from: %s" |
| 2032 msgstr "" | 2035 msgstr "" |
| 2033 | 2036 |
| 2034 #: ../roundup/cgi/client.py:1516 | 2037 #: ../roundup/cgi/client.py:1529 |
| 2035 #, python-format | 2038 #, python-format |
| 2036 msgid "csrf header %(header)s required but missing for user%(userid)s." | 2039 msgid "csrf header %(header)s required but missing for user%(userid)s." |
| 2037 msgstr "" | 2040 msgstr "" |
| 2038 | 2041 |
| 2039 #: ../roundup/cgi/client.py:1520 | 2042 #: ../roundup/cgi/client.py:1533 |
| 2040 #, python-format | 2043 #, python-format |
| 2041 msgid "Missing header: %s" | 2044 msgid "Missing header: %s" |
| 2042 msgstr "" | 2045 msgstr "" |
| 2043 | 2046 |
| 2044 #: ../roundup/cgi/client.py:1528 | 2047 #: ../roundup/cgi/client.py:1541 |
| 2045 #, python-format | 2048 #, python-format |
| 2046 msgid "csrf Referer header check failed for user%(userid)s. Value=%(referer)s" | 2049 msgid "csrf Referer header check failed for user%(userid)s. Value=%(referer)s" |
| 2047 msgstr "" | 2050 msgstr "" |
| 2048 | 2051 |
| 2049 #: ../roundup/cgi/client.py:1533 | 2052 #: ../roundup/cgi/client.py:1546 |
| 2050 #, fuzzy, python-format | 2053 #, fuzzy, python-format |
| 2051 msgid "Invalid Referer: %s" | 2054 msgid "Invalid Referer: %s" |
| 2052 msgstr "无效登录" | 2055 msgstr "无效登录" |
| 2053 | 2056 |
| 2054 #: ../roundup/cgi/client.py:1548 | 2057 #: ../roundup/cgi/client.py:1561 |
| 2055 #, python-format | 2058 #, python-format |
| 2056 msgid "csrf Origin header check failed for user%(userid)s. Value=%(origin)s" | 2059 msgid "csrf Origin header check failed for user%(userid)s. Value=%(origin)s" |
| 2057 msgstr "" | 2060 msgstr "" |
| 2058 | 2061 |
| 2059 #: ../roundup/cgi/client.py:1553 | 2062 #: ../roundup/cgi/client.py:1566 |
| 2060 #, fuzzy, python-format | 2063 #, fuzzy, python-format |
| 2061 msgid "Invalid Origin %s" | 2064 msgid "Invalid Origin %s" |
| 2062 msgstr "无效登录" | 2065 msgstr "无效登录" |
| 2063 | 2066 |
| 2064 #: ../roundup/cgi/client.py:1567 | 2067 #: ../roundup/cgi/client.py:1580 |
| 2065 #, python-format | 2068 #, python-format |
| 2066 msgid "" | 2069 msgid "" |
| 2067 "csrf X-FORWARDED-HOST header check failed for user%(userid)s. Value=%(host)s" | 2070 "csrf X-FORWARDED-HOST header check failed for user%(userid)s. Value=%(host)s" |
| 2068 msgstr "" | 2071 msgstr "" |
| 2069 | 2072 |
| 2070 #: ../roundup/cgi/client.py:1573 | 2073 #: ../roundup/cgi/client.py:1586 |
| 2071 #, python-format | 2074 #, python-format |
| 2072 msgid "Invalid X-FORWARDED-HOST %s" | 2075 msgid "Invalid X-FORWARDED-HOST %s" |
| 2073 msgstr "" | 2076 msgstr "" |
| 2074 | 2077 |
| 2075 #: ../roundup/cgi/client.py:1592 | 2078 #: ../roundup/cgi/client.py:1605 |
| 2076 #, python-format | 2079 #, python-format |
| 2077 msgid "csrf HOST header check failed for user%(userid)s. Value=%(host)s" | 2080 msgid "csrf HOST header check failed for user%(userid)s. Value=%(host)s" |
| 2078 msgstr "" | 2081 msgstr "" |
| 2079 | 2082 |
| 2080 #: ../roundup/cgi/client.py:1597 | 2083 #: ../roundup/cgi/client.py:1610 |
| 2081 #, fuzzy, python-format | 2084 #, fuzzy, python-format |
| 2082 msgid "Invalid HOST %s" | 2085 msgid "Invalid HOST %s" |
| 2083 msgstr "无效请求" | 2086 msgstr "无效请求" |
| 2084 | 2087 |
| 2085 #: ../roundup/cgi/client.py:1605 | 2088 #: ../roundup/cgi/client.py:1618 |
| 2086 msgid "Csrf: unable to verify sufficient headers" | 2089 msgid "Csrf: unable to verify sufficient headers" |
| 2087 msgstr "" | 2090 msgstr "" |
| 2088 | 2091 |
| 2089 #: ../roundup/cgi/client.py:1606 | 2092 #: ../roundup/cgi/client.py:1619 |
| 2090 msgid "Unable to verify sufficient headers" | 2093 msgid "Unable to verify sufficient headers" |
| 2091 msgstr "" | 2094 msgstr "" |
| 2092 | 2095 |
| 2093 #: ../roundup/cgi/client.py:1619 | 2096 #: ../roundup/cgi/client.py:1632 |
| 2094 #, python-format | 2097 #, python-format |
| 2095 msgid "csrf X-REQUESTED-WITH xmlrpc required header check failed for user%s." | 2098 msgid "csrf X-REQUESTED-WITH xmlrpc required header check failed for user%s." |
| 2096 msgstr "" | 2099 msgstr "" |
| 2097 | 2100 |
| 2098 #: ../roundup/cgi/client.py:1660 | 2101 #: ../roundup/cgi/client.py:1673 |
| 2099 #, python-format | 2102 #, python-format |
| 2100 msgid "Required csrf field missing for user%s" | 2103 msgid "Required csrf field missing for user%s" |
| 2101 msgstr "" | 2104 msgstr "" |
| 2102 | 2105 |
| 2103 #: ../roundup/cgi/client.py:1662 ../roundup/cgi/client.py:1689 | 2106 #: ../roundup/cgi/client.py:1675 ../roundup/cgi/client.py:1702 |
| 2104 #: ../roundup/cgi/client.py:1706 ../roundup/cgi/client.py:1662:1689:1706 | 2107 #: ../roundup/cgi/client.py:1719 ../roundup/cgi/client.py:1675:1702:1719 |
| 2105 msgid "" | 2108 msgid "" |
| 2106 "We can't validate your session (csrf failure). Re-enter any unsaved data and " | 2109 "We can't validate your session (csrf failure). Re-enter any unsaved data and " |
| 2107 "try again." | 2110 "try again." |
| 2108 msgstr "" | 2111 msgstr "" |
| 2109 | 2112 |
| 2110 #: ../roundup/cgi/client.py:1666 | 2113 #: ../roundup/cgi/client.py:1679 |
| 2111 #, python-format | 2114 #, python-format |
| 2112 msgid "csrf field not supplied by user%s" | 2115 msgid "csrf field not supplied by user%s" |
| 2113 msgstr "" | 2116 msgstr "" |
| 2114 | 2117 |
| 2115 #: ../roundup/cgi/client.py:1678 | 2118 #: ../roundup/cgi/client.py:1691 |
| 2116 #, python-format | 2119 #, python-format |
| 2117 msgid "" | 2120 msgid "" |
| 2118 "Csrf mismatch user: current user %(user)s != stored user %(stored)s, current " | 2121 "Csrf mismatch user: current user %(user)s != stored user %(stored)s, current " |
| 2119 "session, stored session: %(cur_sess)s,%(stor_sess)s for key %(key)s." | 2122 "session, stored session: %(cur_sess)s,%(stor_sess)s for key %(key)s." |
| 2120 msgstr "" | 2123 msgstr "" |
| 2121 | 2124 |
| 2122 #: ../roundup/cgi/client.py:1696 | 2125 #: ../roundup/cgi/client.py:1709 |
| 2123 #, python-format | 2126 #, python-format |
| 2124 msgid "" | 2127 msgid "" |
| 2125 "Csrf mismatch user: current session %(curr_sess)s != stored session " | 2128 "Csrf mismatch user: current session %(curr_sess)s != stored session " |
| 2126 "%(stor_sess)s, current user/stored user is: %(user)s for key %(key)s." | 2129 "%(stor_sess)s, current user/stored user is: %(user)s for key %(key)s." |
| 2127 msgstr "" | 2130 msgstr "" |
| 2128 | 2131 |
| 2129 #: ../roundup/cgi/client.py:1888 | 2132 #: ../roundup/cgi/client.py:1901 |
| 2130 msgid "You are not allowed to view this file." | 2133 msgid "You are not allowed to view this file." |
| 2131 msgstr "你没有查看此文件的权限" | 2134 msgstr "你没有查看此文件的权限" |
| 2132 | 2135 |
| 2133 #: ../roundup/cgi/client.py:2159 | 2136 #: ../roundup/cgi/client.py:2172 |
| 2134 #, python-format | 2137 #, python-format |
| 2135 msgid "%(starttag)sTime elapsed: %(seconds)fs%(endtag)s\n" | 2138 msgid "%(starttag)sTime elapsed: %(seconds)fs%(endtag)s\n" |
| 2136 msgstr "" | 2139 msgstr "" |
| 2137 | 2140 |
| 2138 #: ../roundup/cgi/client.py:2163 | 2141 #: ../roundup/cgi/client.py:2176 |
| 2139 #, python-format | 2142 #, python-format |
| 2140 msgid "" | 2143 msgid "" |
| 2141 "%(starttag)sCache hits: %(cache_hits)d, misses %(cache_misses)d. Loading " | 2144 "%(starttag)sCache hits: %(cache_hits)d, misses %(cache_misses)d. Loading " |
| 2142 "items: %(get_items)f secs. Filtering: %(filtering)f secs.%(endtag)s\n" | 2145 "items: %(get_items)f secs. Filtering: %(filtering)f secs.%(endtag)s\n" |
| 2143 msgstr "" | 2146 msgstr "" |
| 2144 | 2147 |
| 2145 #: ../roundup/cgi/client.py:2703 | 2148 #: ../roundup/cgi/client.py:2716 |
| 2146 #, python-format | 2149 #, python-format |
| 2147 msgid "" | 2150 msgid "" |
| 2148 "Cache failure: compressed file %(compressed)s is older than its source file " | 2151 "Cache failure: compressed file %(compressed)s is older than its source file " |
| 2149 "%(filename)s" | 2152 "%(filename)s" |
| 2150 msgstr "" | 2153 msgstr "" |
| 2199 #, python-format | 2202 #, python-format |
| 2200 msgid "Required %(class)s property %(property)s not supplied" | 2203 msgid "Required %(class)s property %(property)s not supplied" |
| 2201 msgid_plural "Required %(class)s properties %(property)s not supplied" | 2204 msgid_plural "Required %(class)s properties %(property)s not supplied" |
| 2202 msgstr[0] "要求的 %(class)s 属性 %(property)s 没有被提供" | 2205 msgstr[0] "要求的 %(class)s 属性 %(property)s 没有被提供" |
| 2203 | 2206 |
| 2204 #: ../roundup/cgi/templating.py:277 | 2207 #: ../roundup/cgi/templating.py:278 |
| 2205 #, python-format | 2208 #, python-format |
| 2206 msgid "You are not allowed to %(action)s items of class %(class)s" | 2209 msgid "You are not allowed to %(action)s items of class %(class)s" |
| 2207 msgstr "你不允许 %(action)s 类 %(class)s 的项目" | 2210 msgstr "你不允许 %(action)s 类 %(class)s 的项目" |
| 2208 | 2211 |
| 2209 #: ../roundup/cgi/templating.py:914 | 2212 #: ../roundup/cgi/templating.py:916 |
| 2210 msgid "(list)" | 2213 msgid "(list)" |
| 2211 msgstr "(列表)" | 2214 msgstr "(列表)" |
| 2212 | 2215 |
| 2213 #: ../roundup/cgi/templating.py:989 | 2216 #: ../roundup/cgi/templating.py:991 |
| 2214 msgid "Submit New Entry" | 2217 msgid "Submit New Entry" |
| 2215 msgstr "提交" | 2218 msgstr "提交" |
| 2216 | 2219 |
| 2217 #: ../roundup/cgi/templating.py:1011 ../roundup/cgi/templating.py:1187 | 2220 #: ../roundup/cgi/templating.py:1013 ../roundup/cgi/templating.py:1189 |
| 2218 #: ../roundup/cgi/templating.py:1822 ../roundup/cgi/templating.py:1853 | 2221 #: ../roundup/cgi/templating.py:1824 ../roundup/cgi/templating.py:1855 |
| 2219 #: ../roundup/cgi/templating.py:1874 ../roundup/cgi/templating.py:1912 | 2222 #: ../roundup/cgi/templating.py:1876 ../roundup/cgi/templating.py:1914 |
| 2220 #: ../roundup/cgi/templating.py:1965 ../roundup/cgi/templating.py:1989 | 2223 #: ../roundup/cgi/templating.py:1967 ../roundup/cgi/templating.py:1991 |
| 2221 #: ../roundup/cgi/templating.py:1996 ../roundup/cgi/templating.py:2033 | 2224 #: ../roundup/cgi/templating.py:1998 ../roundup/cgi/templating.py:2035 |
| 2222 #: ../roundup/cgi/templating.py:2086 ../roundup/cgi/templating.py:2119 | 2225 #: ../roundup/cgi/templating.py:2088 ../roundup/cgi/templating.py:2121 |
| 2223 #: ../roundup/cgi/templating.py:2214 ../roundup/cgi/templating.py:2235 | 2226 #: ../roundup/cgi/templating.py:2216 ../roundup/cgi/templating.py:2237 |
| 2224 #: ../roundup/cgi/templating.py:2326 ../roundup/cgi/templating.py:2346 | 2227 #: ../roundup/cgi/templating.py:2328 ../roundup/cgi/templating.py:2348 |
| 2225 #: ../roundup/cgi/templating.py:2368 ../roundup/cgi/templating.py:2411 | 2228 #: ../roundup/cgi/templating.py:2370 ../roundup/cgi/templating.py:2413 |
| 2226 #: ../roundup/cgi/templating.py:2421 ../roundup/cgi/templating.py:2486 | 2229 #: ../roundup/cgi/templating.py:2423 ../roundup/cgi/templating.py:2488 |
| 2227 #: ../roundup/cgi/templating.py:2789 ../roundup/cgi/templating.py:1011:1187 | 2230 #: ../roundup/cgi/templating.py:2791 ../roundup/cgi/templating.py:1013:1189 |
| 2228 #: :1822:1853 :1874:1912 :1965:1989 :1996:2033 :2086:2119 :2214:2235 :2326:2346 | 2231 #: :1824:1855 :1876:1914 :1967:1991 :1998:2035 :2088:2121 :2216:2237 :2328:2348 |
| 2229 #: :2368:2411 :2421:2486:2789 | 2232 #: :2370:2413 :2423:2488:2791 |
| 2230 msgid "[hidden]" | 2233 msgid "[hidden]" |
| 2231 msgstr "[隐藏]" | 2234 msgstr "[隐藏]" |
| 2232 | 2235 |
| 2233 #: ../roundup/cgi/templating.py:1012 | 2236 #: ../roundup/cgi/templating.py:1014 |
| 2234 msgid "New node - no history" | 2237 msgid "New node - no history" |
| 2235 msgstr "新记录 - 无历史" | 2238 msgstr "新记录 - 无历史" |
| 2236 | 2239 |
| 2237 #: ../roundup/cgi/templating.py:1152 | 2240 #: ../roundup/cgi/templating.py:1154 |
| 2238 msgid "Submit Changes" | 2241 msgid "Submit Changes" |
| 2239 msgstr "提交变动" | 2242 msgstr "提交变动" |
| 2240 | 2243 |
| 2241 #: ../roundup/cgi/templating.py:1230 | 2244 #: ../roundup/cgi/templating.py:1232 |
| 2242 msgid "<em>The indicated property no longer exists</em>" | 2245 msgid "<em>The indicated property no longer exists</em>" |
| 2243 msgstr "<em>指示的属性不再存在</em>" | 2246 msgstr "<em>指示的属性不再存在</em>" |
| 2244 | 2247 |
| 2245 #: ../roundup/cgi/templating.py:1266 | 2248 #: ../roundup/cgi/templating.py:1268 |
| 2246 #, python-format | 2249 #, python-format |
| 2247 msgid "The linked class %(classname)s no longer exists" | 2250 msgid "The linked class %(classname)s no longer exists" |
| 2248 msgstr "链接的类 %(classname)s 不再存在" | 2251 msgstr "链接的类 %(classname)s 不再存在" |
| 2249 | 2252 |
| 2250 #: ../roundup/cgi/templating.py:1303 ../roundup/cgi/templating.py:1333 | 2253 #: ../roundup/cgi/templating.py:1305 ../roundup/cgi/templating.py:1335 |
| 2251 #: ../roundup/cgi/templating.py:2495 ../roundup/cgi/templating.py:2798 | 2254 #: ../roundup/cgi/templating.py:2497 ../roundup/cgi/templating.py:2800 |
| 2252 #: ../roundup/cgi/templating.py:1303:1333 :2495:2798 | 2255 #: ../roundup/cgi/templating.py:1305:1335 :2497:2800 |
| 2253 msgid "[label is missing]" | 2256 msgid "[label is missing]" |
| 2254 msgstr "" | 2257 msgstr "" |
| 2255 | 2258 |
| 2256 # ../roundup/cgi/templating.py:872 :893 | 2259 # ../roundup/cgi/templating.py:872 :893 |
| 2257 #: ../roundup/cgi/templating.py:1307 ../roundup/cgi/templating.py:1336 | 2260 #: ../roundup/cgi/templating.py:1309 ../roundup/cgi/templating.py:1338 |
| 2258 #: ../roundup/cgi/templating.py:1307:1336 | 2261 #: ../roundup/cgi/templating.py:1309:1338 |
| 2259 msgid "<strike>The linked node no longer exists</strike>" | 2262 msgid "<strike>The linked node no longer exists</strike>" |
| 2260 msgstr "<strike>链接的结点不再存在</strike>" | 2263 msgstr "<strike>链接的结点不再存在</strike>" |
| 2261 | 2264 |
| 2262 #: ../roundup/cgi/templating.py:1398 | 2265 #: ../roundup/cgi/templating.py:1400 |
| 2263 #, python-format | 2266 #, python-format |
| 2264 msgid "%s: (no value)" | 2267 msgid "%s: (no value)" |
| 2265 msgstr "%s: (无值)" | 2268 msgstr "%s: (无值)" |
| 2266 | 2269 |
| 2267 #: ../roundup/cgi/templating.py:1414 | 2270 #: ../roundup/cgi/templating.py:1416 |
| 2268 #, fuzzy, python-format | 2271 #, fuzzy, python-format |
| 2269 msgid "" | 2272 msgid "" |
| 2270 "<strong><em>This event %s is not handled by the history display!</em></" | 2273 "<strong><em>This event %s is not handled by the history display!</em></" |
| 2271 "strong>" | 2274 "strong>" |
| 2272 msgstr "<strong><em>这个事件不能被历史显示所处理!</em></strong>" | 2275 msgstr "<strong><em>这个事件不能被历史显示所处理!</em></strong>" |
| 2273 | 2276 |
| 2274 #: ../roundup/cgi/templating.py:1427 | 2277 #: ../roundup/cgi/templating.py:1429 |
| 2275 msgid "<tr><td colspan=4><strong>Note:</strong></td></tr>" | 2278 msgid "<tr><td colspan=4><strong>Note:</strong></td></tr>" |
| 2276 msgstr "<tr><td colspan=4><strong>注意:</strong></td></tr>" | 2279 msgstr "<tr><td colspan=4><strong>注意:</strong></td></tr>" |
| 2277 | 2280 |
| 2278 #: ../roundup/cgi/templating.py:1436 | 2281 #: ../roundup/cgi/templating.py:1438 |
| 2279 msgid "History" | 2282 msgid "History" |
| 2280 msgstr "历史" | 2283 msgstr "历史" |
| 2281 | 2284 |
| 2282 #: ../roundup/cgi/templating.py:1438 | 2285 #: ../roundup/cgi/templating.py:1440 |
| 2283 msgid "<th>Date</th>" | 2286 msgid "<th>Date</th>" |
| 2284 msgstr "<th>日期</th>" | 2287 msgstr "<th>日期</th>" |
| 2285 | 2288 |
| 2286 #: ../roundup/cgi/templating.py:1439 | 2289 #: ../roundup/cgi/templating.py:1441 |
| 2287 msgid "<th>User</th>" | 2290 msgid "<th>User</th>" |
| 2288 msgstr "<th>用户</th>" | 2291 msgstr "<th>用户</th>" |
| 2289 | 2292 |
| 2290 #: ../roundup/cgi/templating.py:1440 | 2293 #: ../roundup/cgi/templating.py:1442 |
| 2291 msgid "<th>Action</th>" | 2294 msgid "<th>Action</th>" |
| 2292 msgstr "<th>动作</th>" | 2295 msgstr "<th>动作</th>" |
| 2293 | 2296 |
| 2294 #: ../roundup/cgi/templating.py:1441 | 2297 #: ../roundup/cgi/templating.py:1443 |
| 2295 msgid "<th>Args</th>" | 2298 msgid "<th>Args</th>" |
| 2296 msgstr "<th>参数</th>" | 2299 msgstr "<th>参数</th>" |
| 2297 | 2300 |
| 2298 #: ../roundup/cgi/templating.py:1492 | 2301 #: ../roundup/cgi/templating.py:1494 |
| 2299 #, fuzzy, python-format | 2302 #, fuzzy, python-format |
| 2300 msgid "Copy of %(class)s %(id)s" | 2303 msgid "Copy of %(class)s %(id)s" |
| 2301 msgstr "%(class)s %(id)s 被创建" | 2304 msgstr "%(class)s %(id)s 被创建" |
| 2302 | 2305 |
| 2303 #: ../roundup/cgi/templating.py:2123 ../roundup/cgi/templating.py:2158 | 2306 #: ../roundup/cgi/templating.py:2125 ../roundup/cgi/templating.py:2160 |
| 2304 #: ../roundup/cgi/templating.py:1380:2123:2158 | 2307 #: ../roundup/cgi/templating.py:1382:2125:2160 |
| 2305 msgid "No" | 2308 msgid "No" |
| 2306 msgstr "否" | 2309 msgstr "否" |
| 2307 | 2310 |
| 2308 #: ../roundup/cgi/templating.py:2123 ../roundup/cgi/templating.py:2152 | 2311 #: ../roundup/cgi/templating.py:2125 ../roundup/cgi/templating.py:2154 |
| 2309 #: ../roundup/cgi/templating.py:1380:2123:2152 | 2312 #: ../roundup/cgi/templating.py:1382:2125:2154 |
| 2310 msgid "Yes" | 2313 msgid "Yes" |
| 2311 msgstr "是" | 2314 msgstr "是" |
| 2312 | 2315 |
| 2313 #: ../roundup/cgi/templating.py:2284 | 2316 #: ../roundup/cgi/templating.py:2286 |
| 2314 msgid "" | 2317 msgid "" |
| 2315 "default value for DateHTMLProperty must be either DateHTMLProperty or string " | 2318 "default value for DateHTMLProperty must be either DateHTMLProperty or string " |
| 2316 "date representation." | 2319 "date representation." |
| 2317 msgstr "DateHTMLProperty 的缺省值或者是 DateHTMLProperty 或字符串的日期表示。" | 2320 msgstr "DateHTMLProperty 的缺省值或者是 DateHTMLProperty 或字符串的日期表示。" |
| 2318 | 2321 |
| 2319 #: ../roundup/cgi/templating.py:2466 | 2322 #: ../roundup/cgi/templating.py:2468 |
| 2320 #, python-format | 2323 #, python-format |
| 2321 msgid "Attempt to look up %(attr)s on a missing value" | 2324 msgid "Attempt to look up %(attr)s on a missing value" |
| 2322 msgstr "" | 2325 msgstr "" |
| 2323 | 2326 |
| 2324 #: ../roundup/cgi/templating.py:2477 | 2327 #: ../roundup/cgi/templating.py:2479 |
| 2325 #, python-format | 2328 #, python-format |
| 2326 msgid "Attempt to look up %(item)s on a missing value" | 2329 msgid "Attempt to look up %(item)s on a missing value" |
| 2327 msgstr "" | 2330 msgstr "" |
| 2328 | 2331 |
| 2329 #: ../roundup/cgi/templating.py:2582 | 2332 #: ../roundup/cgi/templating.py:2584 |
| 2330 #, python-format | 2333 #, python-format |
| 2331 msgid "<option %svalue=\"-1\">- no selection -</option>" | 2334 msgid "<option %svalue=\"-1\">- no selection -</option>" |
| 2332 msgstr "<option %svalue=\"-1\">- 未选择 -</option>" | 2335 msgstr "<option %svalue=\"-1\">- 未选择 -</option>" |
| 2333 | 2336 |
| 2334 #: ../roundup/cgi/templating.py:3743 | 2337 #: ../roundup/cgi/templating.py:3745 |
| 2335 #, python-format | 2338 #, python-format |
| 2336 msgid "Unable to read or expand file '%(name)s' in template '%(template)s'." | 2339 msgid "Unable to read or expand file '%(name)s' in template '%(template)s'." |
| 2337 msgstr "" | 2340 msgstr "" |
| 2338 | 2341 |
| 2339 #: ../roundup/cgi/templating.py:3793 | 2342 #: ../roundup/cgi/templating.py:3795 |
| 2340 #, python-format | 2343 #, python-format |
| 2341 msgid "" | 2344 msgid "" |
| 2342 "Found an incorrect token when expandfile applied string subsitution on " | 2345 "Found an incorrect token when expandfile applied string subsitution on " |
| 2343 "'%(fullpath)s'. ValueError('%(issue)s') was raised. Check the format of your " | 2346 "'%(fullpath)s'. ValueError('%(issue)s') was raised. Check the format of your " |
| 2344 "named conversion specifiers." | 2347 "named conversion specifiers." |
| 2778 | 2781 |
| 2779 #: ../roundup/mailgw.py:1856 | 2782 #: ../roundup/mailgw.py:1856 |
| 2780 msgid "not of form [arg=value,value,...;arg=value,value,...]" | 2783 msgid "not of form [arg=value,value,...;arg=value,value,...]" |
| 2781 msgstr "" | 2784 msgstr "" |
| 2782 | 2785 |
| 2786 #: ../roundup/pygettext.py:401 | |
| 2787 #, python-format | |
| 2788 msgid "*** %(file)s:%(lineno)s: Seen unexpected token \"%(token)s\"" | |
| 2789 msgstr "" | |
| 2790 | |
| 2791 #: ../roundup/pygettext.py:457 | |
| 2792 #, python-format | |
| 2793 msgid "# File: %(filename)s, line: %(lineno)d" | |
| 2794 msgstr "" | |
| 2795 | |
| 2796 #: ../roundup/pygettext.py:464 | |
| 2797 #, python-format | |
| 2798 msgid " %(filename)s:%(lineno)d" | |
| 2799 msgstr "" | |
| 2800 | |
| 2801 #: ../roundup/pygettext.py:540 | |
| 2802 #, fuzzy, python-format | |
| 2803 msgid "Invalid value for --style: %s" | |
| 2804 msgstr "无效登录" | |
| 2805 | |
| 2806 #: ../roundup/pygettext.py:548 | |
| 2807 #, python-format | |
| 2808 msgid "pygettext.py (xgettext for Python) %s" | |
| 2809 msgstr "" | |
| 2810 | |
| 2811 #: ../roundup/pygettext.py:554 | |
| 2812 #, python-format | |
| 2813 msgid "--width argument must be an integer: %s" | |
| 2814 msgstr "" | |
| 2815 | |
| 2816 #: ../roundup/pygettext.py:582 | |
| 2817 #, python-format | |
| 2818 msgid "Can't read --exclude-file: %s" | |
| 2819 msgstr "" | |
| 2820 | |
| 2821 #: ../roundup/pygettext.py:601 | |
| 2822 msgid "Reading standard input" | |
| 2823 msgstr "" | |
| 2824 | |
| 2825 #: ../roundup/pygettext.py:606 | |
| 2826 #, python-format | |
| 2827 msgid "Working on %s" | |
| 2828 msgstr "" | |
| 2829 | |
| 2830 #: ../roundup/pygettext.py:640 | |
| 2831 msgid "a unicode string" | |
| 2832 msgstr "" | |
| 2833 | |
| 2834 #: ../roundup/pygettext.py:642 | |
| 2835 #, python-format | |
| 2836 msgid "*** Seen unexpected token \"%(token)s\"" | |
| 2837 msgstr "" | |
| 2838 | |
| 2839 #: ../roundup/pygettext.py:643 | |
| 2840 msgid "morethanonestring" | |
| 2841 msgstr "" | |
| 2842 | |
| 2783 #: ../roundup/rest.py:410 | 2843 #: ../roundup/rest.py:410 |
| 2784 #, python-format | 2844 #, python-format |
| 2785 msgid "Method %(m)s not allowed. Allowed: %(a)s" | 2845 msgid "Method %(m)s not allowed. Allowed: %(a)s" |
| 2786 msgstr "" | 2846 msgstr "" |
| 2787 | 2847 |
| 2807 msgid "" | 2867 msgid "" |
| 2808 "Unable to parse Accept Header. %(error)s. Acceptable types: " | 2868 "Unable to parse Accept Header. %(error)s. Acceptable types: " |
| 2809 "%(acceptable_types)s" | 2869 "%(acceptable_types)s" |
| 2810 msgstr "" | 2870 msgstr "" |
| 2811 | 2871 |
| 2812 #: ../roundup/rest.py:2437 | 2872 #: ../roundup/rest.py:2441 |
| 2813 #, python-format | 2873 #, python-format |
| 2814 msgid "" | 2874 msgid "" |
| 2815 "Unrecognized api version: %s. See /rest without specifying api version for " | 2875 "Unrecognized api version: %s. See /rest without specifying api version for " |
| 2816 "supported versions." | 2876 "supported versions." |
| 2817 msgstr "" | 2877 msgstr "" |
| 2908 "%(new)s\n" | 2968 "%(new)s\n" |
| 2909 "Was:\n" | 2969 "Was:\n" |
| 2910 "%(old)s" | 2970 "%(old)s" |
| 2911 msgstr "" | 2971 msgstr "" |
| 2912 | 2972 |
| 2913 #: ../roundup/scripts/roundup_demo.py:151 | 2973 #: ../roundup/scripts/roundup_demo.py:50 |
| 2974 #, python-format | |
| 2975 msgid "" | |
| 2976 "Enter tracker template to use (one of (%(template_list)s)) " | |
| 2977 "[%(default_template)s]: " | |
| 2978 msgstr "" | |
| 2979 | |
| 2980 #: ../roundup/scripts/roundup_demo.py:166 | |
| 2914 #, python-format | 2981 #, python-format |
| 2915 msgid "Enter directory path to create demo tracker [%s]: " | 2982 msgid "Enter directory path to create demo tracker [%s]: " |
| 2916 msgstr "输入目录来创建演示tracker [%s]:" | 2983 msgstr "输入目录来创建演示tracker [%s]:" |
| 2917 | 2984 |
| 2918 #: ../roundup/scripts/roundup_demo.py:170 | 2985 #: ../roundup/scripts/roundup_gettext.py:33 |
| 2919 #, python-format | 2986 msgid "" |
| 2920 msgid "" | 2987 "\n" |
| 2921 "Enter tracker template to use (one of (%(template_list)s)) " | 2988 "Extracting translatable strings only from html templates.\n" |
| 2922 "[%(default_template)s]: " | 2989 "Because the 'polib' module is missing, unable to extract\n" |
| 2923 msgstr "" | 2990 "translations from detectors or extensions.\n" |
| 2924 | 2991 "The 'polib' module can be installed with pip.\n" |
| 2925 #: ../roundup/scripts/roundup_gettext.py:35 | 2992 msgstr "" |
| 2993 | |
| 2994 #: ../roundup/scripts/roundup_gettext.py:71 | |
| 2926 #, python-format | 2995 #, python-format |
| 2927 msgid "Usage: %(program)s <tracker home>" | 2996 msgid "Usage: %(program)s <tracker home>" |
| 2928 msgstr "" | 2997 msgstr "" |
| 2929 | 2998 |
| 2930 #: ../roundup/scripts/roundup_gettext.py:51 | 2999 #: ../roundup/scripts/roundup_gettext.py:89 |
| 2931 #, python-format | 3000 #, python-format |
| 2932 msgid "No tracker templates found in directory %s" | 3001 msgid "No tracker templates found in directory %s" |
| 2933 msgstr "" | 3002 msgstr "" |
| 2934 | 3003 |
| 2935 #: ../roundup/scripts/roundup_mailgw.py:182 | 3004 #: ../roundup/scripts/roundup_mailgw.py:182 |
