Mercurial > p > roundup > code
diff locale/zh_TW.po @ 7203:12a3cd86668f
auto update 'password_pbkdf2_default_rounds' "
If the current value for password_pbkdf2_default_rounds is the old
default value of 10000, updateconfig will use the new default
value when writing the new config.
If the curreny value for password_pbkdf2_default_rounds is less than
the new default the user will be told to update the value.
New translation strings added. Updates to upgrading.txt doc.
| author | John Rouillard <rouilj@ieee.org> |
|---|---|
| date | Wed, 01 Mar 2023 10:51:37 -0500 |
| parents | c9a02c670e69 |
| children | ccb0e566e0be |
line wrap: on
line diff
--- a/locale/zh_TW.po Wed Mar 01 10:43:54 2023 -0500 +++ b/locale/zh_TW.po Wed Mar 01 10:51:37 2023 -0500 @@ -7,7 +7,7 @@ msgstr "" "Project-Id-Version: Roundup 2.3.0\n" "Report-Msgid-Bugs-To: roundup-devel@lists.sourceforge.net\n" -"POT-Creation-Date: 2022-11-23 22:28-0500\n" +"POT-Creation-Date: 2023-03-01 10:35-0500\n" "PO-Revision-Date: 2013-10-31 12:23+0100\n" "Last-Translator: Fred Lin <gasolin@gmail>\n" "Language-Team: Chinese Traditional <gasolin@gmail.com>\n" @@ -25,24 +25,24 @@ "You do not have permission to retire or restore the %(classname)s class." msgstr "你沒有權限來 %(action)s %(classname)s 類型。" -#: ../roundup/actions.py:64 ../roundup/cgi/actions.py:240 +#: ../roundup/actions.py:65 ../roundup/cgi/actions.py:240 msgid "You may not retire the admin or anonymous user" msgstr "你不能刪除管理員或匿名用戶" # ../roundup/admin.py:84 :943 :992 :1014 -#: ../roundup/admin.py:106 ../roundup/admin.py:1259 ../roundup/admin.py:1314 -#: ../roundup/admin.py:1341 ../roundup/admin.py:106:1259 :1314:1341 +#: ../roundup/admin.py:112 ../roundup/admin.py:1295 ../roundup/admin.py:1350 +#: ../roundup/admin.py:1377 ../roundup/admin.py:112:1295 :1350:1377 #, python-format msgid "no such class \"%(classname)s\"" msgstr "無此類別 \"%(classname)s\"" # ../roundup/admin.py:94 :98 -#: ../roundup/admin.py:118 +#: ../roundup/admin.py:124 #, python-format msgid "argument \"%(arg)s\" not propname=value" msgstr "參數 \"%(arg)s\" 不是 propname=value 的形式" -#: ../roundup/admin.py:131 +#: ../roundup/admin.py:137 #, python-format msgid "" "Problem: %(message)s\n" @@ -51,7 +51,7 @@ "問題: %(message)s\n" "\n" -#: ../roundup/admin.py:132 +#: ../roundup/admin.py:138 #, fuzzy, python-format msgid "" "%(message)sUsage: roundup-admin [options] [<command> <arguments>]\n" @@ -98,12 +98,12 @@ " roundup-admin help <command> -- 命令詳解說明\n" " roundup-admin help all -- 所有可用的說明\n" -#: ../roundup/admin.py:159 +#: ../roundup/admin.py:165 #, fuzzy msgid "Commands: " msgstr "命令:" -#: ../roundup/admin.py:166 +#: ../roundup/admin.py:172 msgid "" "Commands may be abbreviated as long as the abbreviation\n" "matches only one command, e.g. l == li == lis == list." @@ -111,7 +111,8 @@ "命令可以被縮寫,只要縮寫只有一個命令可以匹配上,\n" "如:l == li == lis == list." -#: ../roundup/admin.py:195 +#: ../roundup/admin.py:201 +#, fuzzy msgid "" "\n" "All commands (except help) require a tracker specifier. This is just\n" @@ -163,7 +164,7 @@ " . ROUNDUP_LOGIN environment variable\n" " . the -u command-line option\n" "If either the name or password is not supplied, they are obtained from the\n" -"command-line.\n" +"command-line. (See admin guide before using -u.)\n" "\n" "Date format examples:\n" " \"2000-04-17.03:45\" means <Date 2000-04-17.08:45:00>\n" @@ -233,12 +234,12 @@ "\n" "使用說明:\n" -#: ../roundup/admin.py:258 +#: ../roundup/admin.py:264 #, python-format msgid "%s:" msgstr "" -#: ../roundup/admin.py:265 +#: ../roundup/admin.py:271 msgid "" "Usage: help topic\n" " Give help about topic.\n" @@ -258,22 +259,22 @@ " all -- 所有可用的說明\n" " " -#: ../roundup/admin.py:287 +#: ../roundup/admin.py:293 #, python-format msgid "Sorry, no help for \"%(topic)s\"" msgstr "抱歉,沒有對 \"%(topic)s\" 的說明信息" # ../roundup/admin.py:337 :387 -#: ../roundup/admin.py:402 ../roundup/admin.py:458 ../roundup/admin.py:402:458 +#: ../roundup/admin.py:408 ../roundup/admin.py:464 ../roundup/admin.py:408:464 msgid "Templates:" msgstr "模板:" # ../roundup/admin.py:340 :398 -#: ../roundup/admin.py:405 ../roundup/admin.py:468 ../roundup/admin.py:405:468 +#: ../roundup/admin.py:411 ../roundup/admin.py:474 ../roundup/admin.py:411:474 msgid "Back ends:" msgstr "後端:" -#: ../roundup/admin.py:408 +#: ../roundup/admin.py:414 #, fuzzy msgid "" "Usage: install [template [backend [key=val[,key=val]]]]\n" @@ -315,23 +316,23 @@ # ../roundup/admin.py:359 :494 :573 :623 :676 :697 :725 :796 :863 :934 :982 # :1004 :1031 :1093 :1159 -#: ../roundup/admin.py:431 ../roundup/admin.py:562 ../roundup/admin.py:635 -#: ../roundup/admin.py:728 ../roundup/admin.py:786 ../roundup/admin.py:872 -#: ../roundup/admin.py:931 ../roundup/admin.py:958 ../roundup/admin.py:985 -#: ../roundup/admin.py:1062 ../roundup/admin.py:1157 ../roundup/admin.py:1243 -#: ../roundup/admin.py:1304 ../roundup/admin.py:1331 ../roundup/admin.py:1367 -#: ../roundup/admin.py:1495 ../roundup/admin.py:1579 -#: ../roundup/admin.py:431:562 :1157 :1243:1304 :1331:1367 :1495:1579 :635:728 -#: :786:872 :931:958 :985:1062 +#: ../roundup/admin.py:437 ../roundup/admin.py:568 ../roundup/admin.py:671 +#: ../roundup/admin.py:764 ../roundup/admin.py:822 ../roundup/admin.py:908 +#: ../roundup/admin.py:967 ../roundup/admin.py:994 ../roundup/admin.py:1021 +#: ../roundup/admin.py:1098 ../roundup/admin.py:1193 ../roundup/admin.py:1279 +#: ../roundup/admin.py:1340 ../roundup/admin.py:1367 ../roundup/admin.py:1403 +#: ../roundup/admin.py:1531 ../roundup/admin.py:1615 +#: ../roundup/admin.py:437:568 :1021:1098:1193 :1279:1340 :1367:1403 :1531:1615 +#: :671:764 :822:908 :967:994 msgid "Not enough arguments supplied" msgstr "未提供足夠的參數" -#: ../roundup/admin.py:437 +#: ../roundup/admin.py:443 #, python-format msgid "Instance home parent directory \"%(parent)s\" does not exist" msgstr "實例目錄的父目錄 \"%(parent)s\" 不存在" -#: ../roundup/admin.py:446 +#: ../roundup/admin.py:452 #, python-format msgid "" "WARNING: There appears to be a tracker in \"%(tracker_home)s\"!\n" @@ -342,22 +343,22 @@ "如果你打算重新安裝它,所有的數據將會丟失!\n" "刪除它嗎?Y/N: " -#: ../roundup/admin.py:459 +#: ../roundup/admin.py:465 #, fuzzy msgid "Select template" msgstr "選擇模板 [classic]:" -#: ../roundup/admin.py:469 +#: ../roundup/admin.py:475 #, fuzzy msgid "Select backend" msgstr "選擇後端 [anydbm]:" -#: ../roundup/admin.py:480 +#: ../roundup/admin.py:486 #, fuzzy, python-format msgid "Error in configuration settings: \"%s\"" msgstr "配置保存到 %s" -#: ../roundup/admin.py:511 +#: ../roundup/admin.py:517 #, fuzzy, python-format msgid "" "\n" @@ -369,11 +370,11 @@ " 現在你應該修改tracker的配置文件:\n" " %(config_file)s" -#: ../roundup/admin.py:521 +#: ../roundup/admin.py:527 msgid " ... at a minimum, you must set following options:" msgstr " ... 至少,你必須設置以下選項:" -#: ../roundup/admin.py:526 +#: ../roundup/admin.py:532 #, fuzzy, python-format msgid "" "\n" @@ -397,7 +398,7 @@ " %(database_init_file)s\n" " ... 查看關於客戶化的文檔來瞭解更多的信息。\n" -#: ../roundup/admin.py:557 +#: ../roundup/admin.py:563 msgid "" "Usage: genconfig <filename>\n" " Generate a new tracker config file (ini style) with default\n" @@ -405,7 +406,22 @@ " " msgstr "" -#: ../roundup/admin.py:572 +#: ../roundup/admin.py:581 +#, python-format +msgid "" +"Changing option\n" +" 'password_pbkdf2_default_rounds'\n" +"from old default of %(old_number)s to new default of %(new_number)s." +msgstr "" + +#: ../roundup/admin.py:593 +#, python-format +msgid "" +"Update 'password_pbkdf2_default_rounds'to a number equal to or larger\n" +"than %s." +msgstr "" + +#: ../roundup/admin.py:604 msgid "" "Usage: updateconfig <filename>\n" " Generate an updated tracker config file (ini style) in\n" @@ -415,7 +431,7 @@ msgstr "" #. password -#: ../roundup/admin.py:580 +#: ../roundup/admin.py:612 msgid "" "Usage: initialise [adminpw]\n" " Initialise a new Roundup tracker.\n" @@ -433,23 +449,23 @@ " 執行tracker的初始化函數 dbinit.init()\n" " " -#: ../roundup/admin.py:594 +#: ../roundup/admin.py:626 msgid "Admin Password: " msgstr "管理員口令:" -#: ../roundup/admin.py:595 +#: ../roundup/admin.py:627 msgid " Confirm: " msgstr " 確認:" -#: ../roundup/admin.py:599 +#: ../roundup/admin.py:631 msgid "Instance home does not exist" msgstr "實例目錄不存在" -#: ../roundup/admin.py:603 +#: ../roundup/admin.py:635 msgid "Instance has not been installed" msgstr "實例還沒有安裝" -#: ../roundup/admin.py:609 +#: ../roundup/admin.py:641 msgid "" "WARNING: The database is already initialised!\n" "If you re-initialise it, you will lose all the data!\n" @@ -459,7 +475,7 @@ "如果你重新初始化它,所有的數據將會丟失!\n" "刪除它嗎?Y/N: " -#: ../roundup/admin.py:625 +#: ../roundup/admin.py:661 #, fuzzy msgid "" "Usage: get property designator[,designator]*\n" @@ -479,24 +495,24 @@ " " # ../roundup/admin.py:527 :542 -#: ../roundup/admin.py:669 ../roundup/admin.py:687 ../roundup/admin.py:669:687 +#: ../roundup/admin.py:705 ../roundup/admin.py:723 ../roundup/admin.py:705:723 #, python-format msgid "property %s is not of type Multilink or Link so -d flag does not apply." msgstr "屬性 %s 不是 Multilink 或 Link 類型,所以 -d 標誌不能應用。" # ../roundup/admin.py:550 :945 :994 :1016 -#: ../roundup/admin.py:697 ../roundup/admin.py:1261 ../roundup/admin.py:1316 -#: ../roundup/admin.py:697:1261:1316 +#: ../roundup/admin.py:733 ../roundup/admin.py:1297 ../roundup/admin.py:1352 +#: ../roundup/admin.py:733:1297:1352 #, python-format msgid "no such %(classname)s node \"%(nodeid)s\"" msgstr "沒有這樣的 %(classname)s 結點 \"%(nodeid)s\"" -#: ../roundup/admin.py:700 +#: ../roundup/admin.py:736 #, python-format msgid "no such %(classname)s property \"%(propname)s\"" msgstr "沒有這樣的 %(classname)s 屬性 \"%(propname)s\"" -#: ../roundup/admin.py:708 +#: ../roundup/admin.py:744 #, fuzzy msgid "" "Usage: set items property=value property=value ...\n" @@ -529,7 +545,7 @@ " 你需要為多鏈接提供用逗號分隔的數字(例如 \"1,2,3\")。\n" " " -#: ../roundup/admin.py:776 +#: ../roundup/admin.py:812 #, fuzzy msgid "" "Usage: filter classname propname=value ...\n" @@ -551,20 +567,20 @@ " " # ../roundup/admin.py:663 :816 :828 :882 -#: ../roundup/admin.py:819 +#: ../roundup/admin.py:855 #, fuzzy, python-format msgid "Class %(curclassname)s has no property %(pn)s in %(propname)s." msgstr "%(classname)s 沒有 \"%(propname)s\" 屬性" # ../roundup/admin.py:663 :816 :828 :882 -#: ../roundup/admin.py:857 ../roundup/admin.py:918 ../roundup/admin.py:1082 -#: ../roundup/admin.py:1094 ../roundup/admin.py:1177 -#: ../roundup/admin.py:857:918 :1082:1094:1177 +#: ../roundup/admin.py:893 ../roundup/admin.py:954 ../roundup/admin.py:1118 +#: ../roundup/admin.py:1130 ../roundup/admin.py:1213 +#: ../roundup/admin.py:893:954 :1118:1130:1213 #, python-format msgid "%(classname)s has no property \"%(propname)s\"" msgstr "%(classname)s 沒有 \"%(propname)s\" 屬性" -#: ../roundup/admin.py:864 +#: ../roundup/admin.py:900 msgid "" "Usage: find classname propname=value ...\n" " Find the nodes of the given class with a given link property value.\n" @@ -582,7 +598,7 @@ " 或者是結點的鍵值。\n" " " -#: ../roundup/admin.py:925 +#: ../roundup/admin.py:961 msgid "" "Usage: specification classname\n" " Show the properties for a classname.\n" @@ -596,17 +612,17 @@ " 會列出給定類型的屬性。\n" " " -#: ../roundup/admin.py:941 +#: ../roundup/admin.py:977 #, fuzzy, python-format msgid "%(key)s: %(value)s (key property)\n" msgstr "%(key)s: %(value)s (關鍵屬性)" -#: ../roundup/admin.py:944 +#: ../roundup/admin.py:980 #, fuzzy, python-format msgid "%(key)s: %(value)s\n" msgstr "%(key)s: %(value)s (關鍵屬性)" -#: ../roundup/admin.py:947 +#: ../roundup/admin.py:983 #, fuzzy msgid "" "Usage: display designator[,designator]*\n" @@ -626,12 +642,12 @@ " 將顯示給出結點的屬性和相應的值。\n" " " -#: ../roundup/admin.py:974 +#: ../roundup/admin.py:1010 #, python-format msgid "%(key)s: %(value)s" msgstr "" -#: ../roundup/admin.py:977 +#: ../roundup/admin.py:1013 msgid "" "Usage: create classname property=value ...\n" " Create a new entry of a given class.\n" @@ -649,31 +665,31 @@ "name=value 參數。\n" " " -#: ../roundup/admin.py:1005 +#: ../roundup/admin.py:1041 #, python-format msgid "%(propname)s (Password): " msgstr "%(propname)s (口令):" -#: ../roundup/admin.py:1008 +#: ../roundup/admin.py:1044 #, python-format msgid " %(propname)s (Again): " msgstr " %(propname)s (再次):" -#: ../roundup/admin.py:1012 +#: ../roundup/admin.py:1048 msgid "Sorry, try again..." msgstr "抱歉,再試一次..." -#: ../roundup/admin.py:1016 +#: ../roundup/admin.py:1052 #, python-format msgid "%(propname)s (%(proptype)s): " msgstr "" -#: ../roundup/admin.py:1035 +#: ../roundup/admin.py:1071 #, python-format msgid "you must provide the \"%(propname)s\" property." msgstr "你必須提供 \"%(propname)s\" 屬性。" -#: ../roundup/admin.py:1047 +#: ../roundup/admin.py:1083 msgid "" "Usage: list classname [property]\n" " List the instances of a class.\n" @@ -699,16 +715,16 @@ " 定了屬性,對每個類型實例會列印出這個屬性。\n" " " -#: ../roundup/admin.py:1060 +#: ../roundup/admin.py:1096 msgid "Too many arguments supplied" msgstr "提供了太多的參數了" -#: ../roundup/admin.py:1096 +#: ../roundup/admin.py:1132 #, python-format msgid "%(nodeid)4s: %(value)s" msgstr "" -#: ../roundup/admin.py:1100 +#: ../roundup/admin.py:1136 msgid "" "Usage: templates [trace_search]\n" " List templates and their installed directories.\n" @@ -718,7 +734,7 @@ " " msgstr "" -#: ../roundup/admin.py:1128 +#: ../roundup/admin.py:1164 msgid "" "Usage: table classname [property[,property]*]\n" " List the instances of a class in tabular form.\n" @@ -776,17 +792,17 @@ " 將生成4個字符寬的 \"Name\" 列。\n" " " -#: ../roundup/admin.py:1172 +#: ../roundup/admin.py:1208 #, python-format msgid "\"%(spec)s\" not name:width" msgstr "\"%(spec)s\" 不是 名字:寬度" -#: ../roundup/admin.py:1194 +#: ../roundup/admin.py:1230 #, python-format msgid "\"%(spec)s\" does not have an integer width: \"%(width)s\"" msgstr "" -#: ../roundup/admin.py:1230 +#: ../roundup/admin.py:1266 msgid "" "Usage: history designator [skipquiet]\n" " Show the history entries of a designator.\n" @@ -801,7 +817,7 @@ " " msgstr "" -#: ../roundup/admin.py:1266 +#: ../roundup/admin.py:1302 msgid "" "Usage: commit\n" " Commit changes made to the database during an interactive session.\n" @@ -822,7 +838,7 @@ " 在命令行中的 One-off 命令如果成功會被自動提交。\n" " " -#: ../roundup/admin.py:1281 +#: ../roundup/admin.py:1317 msgid "" "Usage: rollback\n" " Undo all changes that are pending commit to the database.\n" @@ -841,7 +857,7 @@ " 產生變化。\n" " " -#: ../roundup/admin.py:1294 +#: ../roundup/admin.py:1330 #, fuzzy msgid "" "Usage: retire designator[,designator]*\n" @@ -861,7 +877,7 @@ " 它的鍵值可以被重用。\n" " " -#: ../roundup/admin.py:1322 +#: ../roundup/admin.py:1358 #, fuzzy msgid "" "Usage: restore designator[,designator]*\n" @@ -880,13 +896,13 @@ " " # ../roundup/admin.py:550 :945 :994 :1016 -#: ../roundup/admin.py:1347 +#: ../roundup/admin.py:1383 #, fuzzy msgid "no such %(classname)s node \" % (nodeid)s\"" msgstr "沒有這樣的 %(classname)s 結點 \"%(nodeid)s\"" #. grab the directory to export to -#: ../roundup/admin.py:1353 +#: ../roundup/admin.py:1389 #, fuzzy msgid "" "Usage: export [[-]class[,class]] export_dir\n" @@ -911,7 +927,7 @@ " 放在指定的目標目錄中。\n" " " -#: ../roundup/admin.py:1460 +#: ../roundup/admin.py:1496 #, fuzzy msgid "" "Usage: exporttables [[-]class[,class]] export_dir\n" @@ -937,7 +953,7 @@ " 放在指定的目標目錄中。\n" " " -#: ../roundup/admin.py:1475 +#: ../roundup/admin.py:1511 msgid "" "Usage: import import_dir\n" " Import a database from the directory containing CSV files,\n" @@ -977,7 +993,7 @@ " 舊數據。)\n" " " -#: ../roundup/admin.py:1554 +#: ../roundup/admin.py:1590 msgid "" "Usage: importtables export_dir\n" "\n" @@ -985,7 +1001,7 @@ " " msgstr "" -#: ../roundup/admin.py:1561 +#: ../roundup/admin.py:1597 msgid "" "Usage: pack period | date\n" "\n" @@ -1023,11 +1039,11 @@ "\n" " " -#: ../roundup/admin.py:1589 +#: ../roundup/admin.py:1625 msgid "Invalid format" msgstr "無效的格式" -#: ../roundup/admin.py:1602 +#: ../roundup/admin.py:1638 msgid "" "Usage: reindex [classname|designator]*\n" " Re-generate a tracker's search indexes.\n" @@ -1042,12 +1058,12 @@ " 重新生成 tracker 的搜索索引,它將自動進行。\n" " " -#: ../roundup/admin.py:1616 +#: ../roundup/admin.py:1652 #, python-format msgid "no such item \"%(designator)s\"" msgstr "沒有這樣的條目 \"%(designator)s\"" -#: ../roundup/admin.py:1626 +#: ../roundup/admin.py:1662 #, fuzzy msgid "" "Usage: security [Role name]\n" @@ -1059,47 +1075,47 @@ " 顯示一個或多個角色的權限。\n" " " -#: ../roundup/admin.py:1635 +#: ../roundup/admin.py:1671 #, fuzzy, python-format msgid "No such Role \"%(role)s\"\n" msgstr "沒有這樣的角色 \"%(role)s\"" -#: ../roundup/admin.py:1641 +#: ../roundup/admin.py:1677 #, fuzzy, python-format msgid "New Web users get the Roles \"%(role)s\"\n" msgstr "新Web用戶得到角色 \"%(role)s\"" -#: ../roundup/admin.py:1644 +#: ../roundup/admin.py:1680 #, fuzzy, python-format msgid "New Web users get the Role \"%(role)s\"\n" msgstr "新Web用戶得到角色 \"%(role)s\"" -#: ../roundup/admin.py:1648 +#: ../roundup/admin.py:1684 #, fuzzy, python-format msgid "New Email users get the Roles \"%(role)s\"\n" msgstr "新郵件用戶得到角色 \"%(role)s\"" -#: ../roundup/admin.py:1650 +#: ../roundup/admin.py:1686 #, fuzzy, python-format msgid "New Email users get the Role \"%(role)s\"\n" msgstr "新郵件用戶得到角色 \"%(role)s\"" -#: ../roundup/admin.py:1653 +#: ../roundup/admin.py:1689 #, fuzzy, python-format msgid "Role \"%(name)s\":\n" msgstr "角色 \"%(name)s\":" -#: ../roundup/admin.py:1659 +#: ../roundup/admin.py:1695 #, fuzzy msgid " %(description)s (%(name)s for \"%(klass)s\"" msgstr " %(description)s (%(name)s 僅用於 \"%(klass)s\")" -#: ../roundup/admin.py:1659 +#: ../roundup/admin.py:1695 #, fuzzy, python-format msgid " %(description)s (%(name)s for \"%(klass)s\": %(properties)s only)\n" msgstr " %(description)s (%(name)s 僅用於 \"%(klass)s\")" -#: ../roundup/admin.py:1672 +#: ../roundup/admin.py:1708 #, python-format msgid "" "\n" @@ -1107,17 +1123,17 @@ "\n" msgstr "" -#: ../roundup/admin.py:1678 +#: ../roundup/admin.py:1714 #, fuzzy, python-format msgid " %(description)s (%(name)s for \"%(klass)s\" only)\n" msgstr " %(description)s (%(name)s 僅用於 \"%(klass)s\")" -#: ../roundup/admin.py:1681 +#: ../roundup/admin.py:1717 #, fuzzy, python-format msgid " %(description)s (%(name)s)\n" msgstr " %(description)s (%(name)s 僅用於 \"%(klass)s\")" -#: ../roundup/admin.py:1685 +#: ../roundup/admin.py:1721 msgid "" "Usage: migrate\n" "\n" @@ -1141,43 +1157,43 @@ " " msgstr "" -#: ../roundup/admin.py:1706 +#: ../roundup/admin.py:1742 #, fuzzy msgid "Tracker updated" msgstr "Tracker根目錄" -#: ../roundup/admin.py:1709 +#: ../roundup/admin.py:1745 msgid "No migration action required" msgstr "" -#: ../roundup/admin.py:1735 +#: ../roundup/admin.py:1771 #, python-format msgid "Unknown command \"%(command)s\" (\"help commands\" for a list)" msgstr "未知命令 \"%(command)s\" (\"help commands\" 查看命令列表)" -#: ../roundup/admin.py:1741 +#: ../roundup/admin.py:1777 #, python-format msgid "Multiple commands match \"%(command)s\": %(list)s" msgstr "多命令匹配 \"%(command)s\": %(list)s" -#: ../roundup/admin.py:1750 +#: ../roundup/admin.py:1786 msgid "Enter tracker home: " msgstr "輸入tracker起始目錄:" # ../roundup/admin.py:1279 :1285 :1305 -#: ../roundup/admin.py:1759 ../roundup/admin.py:1765 ../roundup/admin.py:1802 -#: ../roundup/admin.py:1759:1765:1802 +#: ../roundup/admin.py:1795 ../roundup/admin.py:1801 ../roundup/admin.py:1838 +#: ../roundup/admin.py:1795:1801:1838 #, python-format msgid "Error: %(message)s" msgstr "錯誤:%(message)s" -#: ../roundup/admin.py:1775 ../roundup/admin.py:1779 -#: ../roundup/admin.py:1775:1779 +#: ../roundup/admin.py:1811 ../roundup/admin.py:1815 +#: ../roundup/admin.py:1811:1815 #, python-format msgid "Error: Couldn't open tracker: %(message)s" msgstr "錯誤:不能打開tracker:%(message)s" -#: ../roundup/admin.py:1815 +#: ../roundup/admin.py:1851 #, python-format msgid "" "Roundup %s ready for input.\n" @@ -1186,19 +1202,15 @@ "Roundup %s 輸入就緒。\n" "敲入 \"help\" 獲得說明。" -#: ../roundup/admin.py:1820 +#: ../roundup/admin.py:1856 msgid "Note: command history and editing not available" msgstr "注意:命令歷史和編輯無效" -#: ../roundup/admin.py:1824 -msgid "roundup> " -msgstr "" - -#: ../roundup/admin.py:1826 +#: ../roundup/admin.py:1862 msgid "exit..." msgstr "退出..." -#: ../roundup/admin.py:1839 +#: ../roundup/admin.py:1875 msgid "There are unsaved changes. Commit them (y/N)? " msgstr "存在未被保存的改動。提交嗎(y/N)?" @@ -1306,20 +1318,22 @@ msgid "restored" msgstr "恢復" -#: ../roundup/backends/sessions_redis.py:76 -#: ../roundup/backends/sessions_redis.py:95 -#: ../roundup/backends/sessions_redis.py:76:95 +#: ../roundup/backends/sessions_redis.py:78 +#: ../roundup/backends/sessions_redis.py:97 +#: ../roundup/backends/sessions_redis.py:78:97 #, python-format msgid "Key %(key)s not found in %(name)s database." msgstr "" -#: ../roundup/backends/sessions_redis.py:191 +#: ../roundup/backends/sessions_redis.py:193 #, python-format msgid "Key %(key)s changed in %(name)s db" msgstr "" -#: ../roundup/backends/sessions_redis.py:195 -msgid "Redis set failed afer 3 retries" +#: ../roundup/backends/sessions_redis.py:203 +#, python-format +msgid "" +"Redis set failed after %(retries)d retries for user %(user)s with key %(key)s" msgstr "" #: ../roundup/cgi/actions.py:97 @@ -1629,22 +1643,22 @@ msgid "Welcome %(username)s!" msgstr "" -#: ../roundup/cgi/actions.py:1383 ../roundup/cgi/actions.py:1387 -#: ../roundup/cgi/actions.py:1383:1387 +#: ../roundup/cgi/actions.py:1384 ../roundup/cgi/actions.py:1388 +#: ../roundup/cgi/actions.py:1384:1388 msgid "Invalid login" msgstr "無效登錄" -#: ../roundup/cgi/actions.py:1393 +#: ../roundup/cgi/actions.py:1394 msgid "You do not have permission to login" msgstr "你沒有登錄的權限" -#: ../roundup/cgi/actions.py:1437 ../roundup/cgi/actions.py:1616 -#: ../roundup/cgi/actions.py:1437:1616 +#: ../roundup/cgi/actions.py:1439 ../roundup/cgi/actions.py:1618 +#: ../roundup/cgi/actions.py:1439:1618 #, python-format msgid "Column \"%(column)s\" not found in %(class)s" msgstr "" -#: ../roundup/cgi/actions.py:1687 +#: ../roundup/cgi/actions.py:1689 #, fuzzy, python-format msgid "You do not have permission to view %(class)s" msgstr "你沒有權限來編輯 %(class)s" @@ -1741,155 +1755,156 @@ "</body></html>" msgstr "" -#: ../roundup/cgi/client.py:651 +#: ../roundup/cgi/client.py:670 ../roundup/cgi/client.py:1570 +#: ../roundup/cgi/client.py:670:1570 +msgid "Required Header Missing" +msgstr "" + +#: ../roundup/cgi/client.py:672 #, fuzzy msgid "Client is not allowed to use Rest Interface." msgstr "匿名用戶不允許使用web界面" -#: ../roundup/cgi/client.py:895 +#: ../roundup/cgi/client.py:921 msgid "Form Error: " msgstr "表格錯誤:" -#: ../roundup/cgi/client.py:985 +#: ../roundup/cgi/client.py:1011 #, python-format msgid "Unrecognized charset: %r" msgstr "無法識別的字符集:%r" -#: ../roundup/cgi/client.py:1238 ../roundup/cgi/client.py:2196 -#: ../roundup/cgi/client.py:1238:2196 +#: ../roundup/cgi/client.py:1264 ../roundup/cgi/client.py:2250 +#: ../roundup/cgi/client.py:1264:2250 msgid "broken form: multiple @action values submitted" msgstr "" -#: ../roundup/cgi/client.py:1253 +#: ../roundup/cgi/client.py:1279 msgid "Anonymous users are not allowed to use the web interface" msgstr "匿名用戶不允許使用web界面" -#: ../roundup/cgi/client.py:1376 +#: ../roundup/cgi/client.py:1430 msgid "Referer header not available." msgstr "" -#: ../roundup/cgi/client.py:1380 +#: ../roundup/cgi/client.py:1434 #, python-format msgid "csrf key used with wrong method from: %s" msgstr "" -#: ../roundup/cgi/client.py:1409 +#: ../roundup/cgi/client.py:1463 #, python-format msgid "csrf header %(header)s required but missing for user%(userid)s." msgstr "" -#: ../roundup/cgi/client.py:1413 +#: ../roundup/cgi/client.py:1467 #, python-format msgid "Missing header: %s" msgstr "" -#: ../roundup/cgi/client.py:1421 +#: ../roundup/cgi/client.py:1475 #, python-format msgid "csrf Referer header check failed for user%(userid)s. Value=%(referer)s" msgstr "" -#: ../roundup/cgi/client.py:1426 +#: ../roundup/cgi/client.py:1480 #, fuzzy, python-format msgid "Invalid Referer: %s" msgstr "無效登錄" -#: ../roundup/cgi/client.py:1441 +#: ../roundup/cgi/client.py:1495 #, python-format msgid "csrf Origin header check failed for user%(userid)s. Value=%(origin)s" msgstr "" -#: ../roundup/cgi/client.py:1446 +#: ../roundup/cgi/client.py:1500 #, fuzzy, python-format msgid "Invalid Origin %s" msgstr "無效登錄" -#: ../roundup/cgi/client.py:1460 +#: ../roundup/cgi/client.py:1514 #, python-format msgid "" "csrf X-FORWARDED-HOST header check failed for user%(userid)s. Value=%(host)s" msgstr "" -#: ../roundup/cgi/client.py:1466 +#: ../roundup/cgi/client.py:1520 #, python-format msgid "Invalid X-FORWARDED-HOST %s" msgstr "" -#: ../roundup/cgi/client.py:1485 +#: ../roundup/cgi/client.py:1539 #, python-format msgid "csrf HOST header check failed for user%(userid)s. Value=%(host)s" msgstr "" -#: ../roundup/cgi/client.py:1490 +#: ../roundup/cgi/client.py:1544 #, python-format msgid "Invalid HOST %s" msgstr "" -#: ../roundup/cgi/client.py:1498 +#: ../roundup/cgi/client.py:1552 msgid "Csrf: unable to verify sufficient headers" msgstr "" -#: ../roundup/cgi/client.py:1499 +#: ../roundup/cgi/client.py:1553 msgid "Unable to verify sufficient headers" msgstr "" -#: ../roundup/cgi/client.py:1513 +#: ../roundup/cgi/client.py:1567 #, python-format msgid "csrf X-REQUESTED-WITH xmlrpc required header check failed for user%s." msgstr "" -#: ../roundup/cgi/client.py:1516 -msgid "Required Header Missing" -msgstr "" - -#: ../roundup/cgi/client.py:1554 +#: ../roundup/cgi/client.py:1608 #, python-format msgid "Required csrf field missing for user%s" msgstr "" -#: ../roundup/cgi/client.py:1556 ../roundup/cgi/client.py:1583 -#: ../roundup/cgi/client.py:1600 ../roundup/cgi/client.py:1556:1583:1600 +#: ../roundup/cgi/client.py:1610 ../roundup/cgi/client.py:1637 +#: ../roundup/cgi/client.py:1654 ../roundup/cgi/client.py:1610:1637:1654 msgid "" "We can't validate your session (csrf failure). Re-enter any unsaved data and " "try again." msgstr "" -#: ../roundup/cgi/client.py:1560 +#: ../roundup/cgi/client.py:1614 #, python-format msgid "csrf field not supplied by user%s" msgstr "" -#: ../roundup/cgi/client.py:1572 +#: ../roundup/cgi/client.py:1626 #, python-format msgid "" "Csrf mismatch user: current user %(user)s != stored user %(stored)s, current " "session, stored session: %(cur_sess)s,%(stor_sess)s for key %(key)s." msgstr "" -#: ../roundup/cgi/client.py:1590 +#: ../roundup/cgi/client.py:1644 #, python-format msgid "" "Csrf mismatch user: current session %(curr_sess)s != stored session " "%(stor_sess)s, current user/stored user is: %(user)s for key %(key)s." msgstr "" -#: ../roundup/cgi/client.py:1784 +#: ../roundup/cgi/client.py:1838 #, fuzzy msgid "You are not allowed to view this file." msgstr "你不允許查看此頁" -#: ../roundup/cgi/client.py:2073 +#: ../roundup/cgi/client.py:2127 #, python-format msgid "%(starttag)sTime elapsed: %(seconds)fs%(endtag)s\n" msgstr "" -#: ../roundup/cgi/client.py:2077 +#: ../roundup/cgi/client.py:2131 #, python-format msgid "" "%(starttag)sCache hits: %(cache_hits)d, misses %(cache_misses)d. Loading " "items: %(get_items)f secs. Filtering: %(filtering)f secs.%(endtag)s\n" msgstr "" -#: ../roundup/cgi/client.py:2615 +#: ../roundup/cgi/client.py:2669 #, python-format msgid "" "Cache failure: compressed file %(compressed)s is older than its source file " @@ -2259,28 +2274,28 @@ msgid "\"%s\" not a node designator" msgstr "" -#: ../roundup/hyperdb.py:1492 ../roundup/hyperdb.py:1500 -#: ../roundup/hyperdb.py:1492:1500 +#: ../roundup/hyperdb.py:1493 ../roundup/hyperdb.py:1501 +#: ../roundup/hyperdb.py:1493:1501 #, fuzzy, python-format msgid "Not a property name: %s" msgstr "不是日期格式:%s" -#: ../roundup/hyperdb.py:1977 +#: ../roundup/hyperdb.py:1978 #, fuzzy, python-format msgid "property %(property)s: %(value)r is not a %(classname)s." msgstr "屬性 \"%(propname)s\": \"%(value)s\" 當前不在列表中" -#: ../roundup/hyperdb.py:1983 +#: ../roundup/hyperdb.py:1984 #, python-format msgid "you may only enter ID values for property %s" msgstr "" -#: ../roundup/hyperdb.py:2018 +#: ../roundup/hyperdb.py:2019 #, python-format msgid "%(property)r is not a property of %(classname)s" msgstr "" -#: ../roundup/init.py:139 +#: ../roundup/init.py:141 #, python-format msgid "" "WARNING: directory '%s'\n" @@ -2504,7 +2519,7 @@ " %(errors)s\n" msgstr "" -#: ../roundup/mailgw.py:1820 +#: ../roundup/mailgw.py:1821 #, python-format msgid "" "\n" @@ -2527,19 +2542,19 @@ msgid "Invalid attribute %s" msgstr "無效登錄" -#: ../roundup/rest.py:2078 +#: ../roundup/rest.py:2090 #, python-format msgid "Api rate limits exceeded. Please wait: %s seconds." msgstr "" -#: ../roundup/rest.py:2113 +#: ../roundup/rest.py:2125 #, python-format msgid "" "Unable to parse Accept Header. %(error)s. Acceptable types: " "%(acceptable_types)s" msgstr "" -#: ../roundup/rest.py:2262 +#: ../roundup/rest.py:2305 #, python-format msgid "" "Unrecognized api version: %s. See /rest without specifying api version for " @@ -2663,27 +2678,27 @@ msgid "No tracker templates found in directory %s" msgstr "" -#: ../roundup/scripts/roundup_mailgw.py:185 +#: ../roundup/scripts/roundup_mailgw.py:182 msgid "" "\n" "Error: The instance home must be specified" msgstr "" -#: ../roundup/scripts/roundup_mailgw.py:203 +#: ../roundup/scripts/roundup_mailgw.py:200 #, fuzzy msgid "" "\n" "Error: not enough source specification information" msgstr "錯誤:沒有足夠的源協議資訊" -#: ../roundup/scripts/roundup_mailgw.py:234 +#: ../roundup/scripts/roundup_mailgw.py:231 #, fuzzy, python-format msgid "" "\n" "Error: %s specification not valid" msgstr "錯誤:pop協議無效" -#: ../roundup/scripts/roundup_mailgw.py:258 +#: ../roundup/scripts/roundup_mailgw.py:254 #, fuzzy msgid "" "\n" @@ -2696,7 +2711,7 @@ msgid "WARNING: generating temporary SSL certificate" msgstr "" -#: ../roundup/scripts/roundup_server.py:329 +#: ../roundup/scripts/roundup_server.py:331 msgid "" "<html><head><title>Roundup trackers index</title></head>\n" "<body><h1>Roundup trackers index</h1><ol>\n" @@ -2704,58 +2719,58 @@ "<html><head><title>Roundup tracker 索引</title></head>\n" "<body><h1>Roundup tracker 索引</h1><ol>\n" -#: ../roundup/scripts/roundup_server.py:549 +#: ../roundup/scripts/roundup_server.py:551 #, fuzzy, python-format msgid "Error: %(type)s: %(value)s" msgstr "%(key)s: %(value)s (關鍵屬性)" -#: ../roundup/scripts/roundup_server.py:561 +#: ../roundup/scripts/roundup_server.py:563 msgid "WARNING: ignoring \"-g\" argument, not root" msgstr "警告:忽略 \"-g\" 參數,不是 root" -#: ../roundup/scripts/roundup_server.py:567 +#: ../roundup/scripts/roundup_server.py:569 msgid "Can't change groups - no grp module" msgstr "不能修改組 - 無 grp 模塊" -#: ../roundup/scripts/roundup_server.py:576 +#: ../roundup/scripts/roundup_server.py:578 #, python-format msgid "Group %(group)s doesn't exist" msgstr "組 %(group)s 不存在" -#: ../roundup/scripts/roundup_server.py:588 +#: ../roundup/scripts/roundup_server.py:590 msgid "Can't run as root!" msgstr "不能以 root 運行!" -#: ../roundup/scripts/roundup_server.py:591 +#: ../roundup/scripts/roundup_server.py:593 msgid "WARNING: ignoring \"-u\" argument, not root" msgstr "警告:忽略 \"-u\" 參數,不是 root" -#: ../roundup/scripts/roundup_server.py:597 +#: ../roundup/scripts/roundup_server.py:599 msgid "Can't change users - no pwd module" msgstr "不能修改用戶 - 無 pwd 模塊" -#: ../roundup/scripts/roundup_server.py:606 +#: ../roundup/scripts/roundup_server.py:608 #, python-format msgid "User %(user)s doesn't exist" msgstr "用戶 %(user)s 不存在" -#: ../roundup/scripts/roundup_server.py:803 +#: ../roundup/scripts/roundup_server.py:805 #, python-format msgid "Multiprocess mode \"%s\" is not available, switching to single-process" msgstr "" -#: ../roundup/scripts/roundup_server.py:830 +#: ../roundup/scripts/roundup_server.py:832 #, python-format msgid "Unable to bind to port %s, port already in use." msgstr "無法綁定到端口 %s, 端口已經被佔用。" -#: ../roundup/scripts/roundup_server.py:834 +#: ../roundup/scripts/roundup_server.py:836 #, fuzzy, python-format msgid "" "Unable to bind to port %(port)s, access not allowed, errno: %(errno)s %(msg)s" msgstr "無法綁定到端口 %s, 端口已經被佔用。" -#: ../roundup/scripts/roundup_server.py:913 +#: ../roundup/scripts/roundup_server.py:915 #, fuzzy msgid "" " -c <Command> Windows Service options.\n" @@ -2772,7 +2787,7 @@ " 變量上配置一個tracker。這個選項與其經選項是互斥的。打入\n" " \"roundup-server -c help\" 來瞭解Windows服務的規範。" -#: ../roundup/scripts/roundup_server.py:920 +#: ../roundup/scripts/roundup_server.py:922 msgid "" " -u <UID> runs the Roundup web server as this UID\n" " -g <GID> runs the Roundup web server as this GID\n" @@ -2786,7 +2801,7 @@ "去。\n" " 如果使用了 -d 選項,則 -l 選項 *必須* 要指定。" -#: ../roundup/scripts/roundup_server.py:927 +#: ../roundup/scripts/roundup_server.py:929 #, fuzzy, python-format msgid "" "\n" @@ -2882,20 +2897,20 @@ " 意數量的 name=home 對。要確保 name 部分不能包括任何非url安全的\n" " 字符,像空格,因為它們會把IE搞亂。\n" -#: ../roundup/scripts/roundup_server.py:1103 +#: ../roundup/scripts/roundup_server.py:1105 msgid "Instances must be name=home" msgstr "實例必須是 實例名=實例路徑" -#: ../roundup/scripts/roundup_server.py:1117 +#: ../roundup/scripts/roundup_server.py:1119 #, python-format msgid "Configuration saved to %s" msgstr "配置保存到 %s" -#: ../roundup/scripts/roundup_server.py:1135 +#: ../roundup/scripts/roundup_server.py:1137 msgid "Sorry, you can't run the server as a daemon on this Operating System" msgstr "抱歉,在這個操作系統上不能以守護進程的方式來運行服務" -#: ../roundup/scripts/roundup_server.py:1155 +#: ../roundup/scripts/roundup_server.py:1157 #, python-format msgid "Roundup server started on %(HOST)s:%(PORT)s" msgstr "Roundup server 啟動於 %(HOST)s:%(PORT)s"
