Mercurial > p > roundup > code
diff locale/zh_TW.po @ 7401:6ebc9f6f5d8e
update locale files
| author | John Rouillard <rouilj@ieee.org> |
|---|---|
| date | Wed, 24 May 2023 20:35:53 -0400 |
| parents | c1227f883177 |
| children | 623502678b97 |
line wrap: on
line diff
--- a/locale/zh_TW.po Wed May 24 15:05:09 2023 -0400 +++ b/locale/zh_TW.po Wed May 24 20:35:53 2023 -0400 @@ -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: 2023-03-03 17:28-0500\n" +"POT-Creation-Date: 2023-05-24 20:34-0400\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" @@ -29,20 +29,40 @@ msgid "You may not retire the admin or anonymous user" msgstr "你不能刪除管理員或匿名用戶" +#: ../roundup/admin.py:117 +msgid "Have 'display designator' show protected fields: creator. NYI" +msgstr "" + +#: ../roundup/admin.py:120 +msgid "Set indexer to use when running 'reindex' NYI" +msgstr "" + +#: ../roundup/admin.py:123 +msgid "Force reopening of tracker when running each command." +msgstr "" + +#: ../roundup/admin.py:125 +msgid "Show retired items in table, list etc. NYI" +msgstr "" + +#: ../roundup/admin.py:126 +msgid "Enable verbose output: tracing, descriptions..." +msgstr "" + # ../roundup/admin.py:84 :943 :992 :1014 -#: ../roundup/admin.py:112 ../roundup/admin.py:1295 ../roundup/admin.py:1350 -#: ../roundup/admin.py:1377 ../roundup/admin.py:112:1295 :1350:1377 +#: ../roundup/admin.py:138 ../roundup/admin.py:993 ../roundup/admin.py:1601 +#: ../roundup/admin.py:1633 ../roundup/admin.py:138:993 :1601:1633 #, python-format msgid "no such class \"%(classname)s\"" msgstr "無此類別 \"%(classname)s\"" # ../roundup/admin.py:94 :98 -#: ../roundup/admin.py:124 +#: ../roundup/admin.py:150 #, python-format msgid "argument \"%(arg)s\" not propname=value" msgstr "參數 \"%(arg)s\" 不是 propname=value 的形式" -#: ../roundup/admin.py:137 +#: ../roundup/admin.py:163 #, python-format msgid "" "Problem: %(message)s\n" @@ -51,7 +71,7 @@ "問題: %(message)s\n" "\n" -#: ../roundup/admin.py:138 +#: ../roundup/admin.py:164 #, fuzzy, python-format msgid "" "%(message)sUsage: roundup-admin [options] [<command> <arguments>]\n" @@ -98,12 +118,12 @@ " roundup-admin help <command> -- 命令詳解說明\n" " roundup-admin help all -- 所有可用的說明\n" -#: ../roundup/admin.py:165 +#: ../roundup/admin.py:191 #, fuzzy msgid "Commands: " msgstr "命令:" -#: ../roundup/admin.py:172 +#: ../roundup/admin.py:198 msgid "" "Commands may be abbreviated as long as the abbreviation\n" "matches only one command, e.g. l == li == lis == list." @@ -111,7 +131,7 @@ "命令可以被縮寫,只要縮寫只有一個命令可以匹配上,\n" "如:l == li == lis == list." -#: ../roundup/admin.py:201 +#: ../roundup/admin.py:227 #, fuzzy msgid "" "\n" @@ -234,12 +254,290 @@ "\n" "使用說明:\n" -#: ../roundup/admin.py:264 +#: ../roundup/admin.py:290 #, python-format msgid "%s:" msgstr "" -#: ../roundup/admin.py:271 +# ../roundup/admin.py:337 :387 +#: ../roundup/admin.py:395 ../roundup/admin.py:1185 +#: ../roundup/admin.py:395:1185 +msgid "Templates:" +msgstr "模板:" + +# ../roundup/admin.py:340 :398 +#: ../roundup/admin.py:398 ../roundup/admin.py:1195 +#: ../roundup/admin.py:398:1195 +msgid "Back ends:" +msgstr "後端:" + +#: ../roundup/admin.py:415 +msgid "" +"Usage: commit\n" +" Commit changes made to the database during an interactive session.\n" +"\n" +" The changes made during an interactive session are not\n" +" automatically written to the database - they must be committed\n" +" using this command.\n" +"\n" +" One-off commands on the command-line are automatically committed if\n" +" they are successful.\n" +" " +msgstr "" +"用法:commit\n" +" 提交在一個交互會話中所產生的改動。\n" +"\n" +" 在一個交互會話中所產生的改動不會自動寫入數據庫 - 它們必須使用此命令\n" +" 來提交。\n" +" 在命令行中的 One-off 命令如果成功會被自動提交。\n" +" " + +#: ../roundup/admin.py:430 +msgid "" +"Usage: create classname property=value ...\n" +" Create a new entry of a given class.\n" +"\n" +" This creates a new entry of the given class using the property\n" +" name=value arguments provided on the command line after the \"create" +"\"\n" +" command.\n" +" " +msgstr "" +"用法:create classname property=value ...\n" +" 建立一個給定類的新記錄。\n" +"\n" +" 建立一個給定類的新記錄,將使用 \"create\" 命令行後面的屬性 " +"name=value 參數。\n" +" " + +# ../roundup/admin.py:359 :494 :573 :623 :676 :697 :725 :796 :863 :934 :982 +# :1004 :1031 :1093 :1159 +#: ../roundup/admin.py:438 ../roundup/admin.py:512 ../roundup/admin.py:545 +#: ../roundup/admin.py:663 ../roundup/admin.py:749 ../roundup/admin.py:807 +#: ../roundup/admin.py:852 ../roundup/admin.py:977 ../roundup/admin.py:1020 +#: ../roundup/admin.py:1158 ../roundup/admin.py:1285 ../roundup/admin.py:1371 +#: ../roundup/admin.py:1482 ../roundup/admin.py:1591 ../roundup/admin.py:1623 +#: ../roundup/admin.py:1738 ../roundup/admin.py:1792 ../roundup/admin.py:1837 +#: ../roundup/admin.py:438:512 :1020:1158:1285 :1371:1482 :1591:1623 :1738:1792 +#: :1837 :545:663 :749:807 :852:977 +msgid "Not enough arguments supplied" +msgstr "未提供足夠的參數" + +#: ../roundup/admin.py:458 +#, python-format +msgid "%(propname)s (Password): " +msgstr "%(propname)s (口令):" + +#: ../roundup/admin.py:461 +#, python-format +msgid " %(propname)s (Again): " +msgstr " %(propname)s (再次):" + +#: ../roundup/admin.py:465 +msgid "Sorry, try again..." +msgstr "抱歉,再試一次..." + +#: ../roundup/admin.py:470 +#, python-format +msgid "%(propname)s (%(proptype)s): " +msgstr "" + +#: ../roundup/admin.py:489 +#, python-format +msgid "you must provide the \"%(propname)s\" property." +msgstr "你必須提供 \"%(propname)s\" 屬性。" + +#: ../roundup/admin.py:501 +#, fuzzy +msgid "" +"Usage: display designator[,designator]*\n" +"\n" +" Show the property values for the given node(s).\n" +"\n" +" A designator is a classname and a nodeid concatenated,\n" +" eg. bug1, user10, ...\n" +"\n" +" This lists the properties and their associated values\n" +" for the given node.\n" +" " +msgstr "" +"用法:display designator[,designator]*\n" +" 顯示給出結點的屬性值。\n" +"\n" +" 將顯示給出結點的屬性和相應的值。\n" +" " + +#: ../roundup/admin.py:528 +#, python-format +msgid "%(key)s: %(value)s" +msgstr "" + +#. grab the directory to export to +#: ../roundup/admin.py:531 +#, fuzzy +msgid "" +"Usage: export [[-]class[,class]] export_dir\n" +" Export the database to colon-separated-value files.\n" +" To exclude the files (e.g. for the msg or file class),\n" +" use the exporttables command.\n" +"\n" +" Optionally limit the export to just the named classes\n" +" or exclude the named classes, if the 1st argument starts with '-'.\n" +"\n" +" This action exports the current data from the database into\n" +" colon-separated-value files that are placed in the nominated\n" +" destination directory.\n" +" " +msgstr "" +"用法:export [class[,class]] export_dir\n" +" 導出數據庫為冒號分隔值的文件。\n" +"\n" +" 對於導出的可選限制只是類名。\n" +"\n" +" 這個動作從數據庫中導出當前的數據到以冒號分隔值的文件中去,它們將存\n" +" 放在指定的目標目錄中。\n" +" " + +#: ../roundup/admin.py:638 +#, fuzzy +msgid "" +"Usage: exporttables [[-]class[,class]] export_dir\n" +" Export the database to colon-separated-value files, excluding the\n" +" files below $TRACKER_HOME/db/files/ (which can be archived " +"separately).\n" +" To include the files, use the export command.\n" +"\n" +" Optionally limit the export to just the named classes\n" +" or exclude the named classes, if the 1st argument starts with '-'.\n" +"\n" +" This action exports the current data from the database into\n" +" colon-separated-value files that are placed in the nominated\n" +" destination directory.\n" +" " +msgstr "" +"用法:export [class[,class]] export_dir\n" +" 導出數據庫為冒號分隔值的文件。\n" +"\n" +" 對於導出的可選限制只是類名。\n" +"\n" +" 這個動作從數據庫中導出當前的數據到以冒號分隔值的文件中去,它們將存\n" +" 放在指定的目標目錄中。\n" +" " + +#: ../roundup/admin.py:653 +#, fuzzy +msgid "" +"Usage: filter classname propname=value ...\n" +" Find the nodes of the given class with a given property value.\n" +"\n" +" Find the nodes of the given class with a given property value.\n" +" Multiple values can be specified by separating them with commas.\n" +" If property is a string, all values must match. I.E. it's an\n" +" 'and' operation. If the property is a link/multilink any value\n" +" matches. I.E. an 'or' operation.\n" +" " +msgstr "" +"用法:find classname propname=value ...\n" +" 根據給定的 link 屬性值來查找給定類型的結點。\n" +"\n" +" 根據給定的 link 屬性值來查找給定類型的結點。這個值或者是鏈接結點的結" +"點ID,\n" +" 或者是結點的鍵值。\n" +" " + +# ../roundup/admin.py:663 :816 :828 :882 +#: ../roundup/admin.py:696 +#, 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:734 ../roundup/admin.py:795 ../roundup/admin.py:1305 +#: ../roundup/admin.py:1317 ../roundup/admin.py:1857 +#: ../roundup/admin.py:734:795 :1305:1317:1857 +#, python-format +msgid "%(classname)s has no property \"%(propname)s\"" +msgstr "%(classname)s 沒有 \"%(propname)s\" 屬性" + +#: ../roundup/admin.py:741 +msgid "" +"Usage: find classname propname=value ...\n" +" Find the nodes of the given class with a given link property value.\n" +"\n" +" Find the nodes of the given class with a given link property value.\n" +" The value may be either the nodeid of the linked node, or its key\n" +" value.\n" +" " +msgstr "" +"用法:find classname propname=value ...\n" +" 根據給定的 link 屬性值來查找給定類型的結點。\n" +"\n" +" 根據給定的 link 屬性值來查找給定類型的結點。這個值或者是鏈接結點的結" +"點ID,\n" +" 或者是結點的鍵值。\n" +" " + +#: ../roundup/admin.py:802 +msgid "" +"Usage: genconfig <filename>\n" +" Generate a new tracker config file (ini style) with default\n" +" values in <filename>.\n" +" " +msgstr "" + +#: ../roundup/admin.py:820 +#, 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:831 +#, python-format +msgid "" +"Update 'password_pbkdf2_default_rounds' to a number equal to or larger\n" +"than %s." +msgstr "" + +#: ../roundup/admin.py:842 +#, fuzzy +msgid "" +"Usage: get property designator[,designator]*\n" +" Get the given property of one or more designator(s).\n" +"\n" +" A designator is a classname and a nodeid concatenated,\n" +" eg. bug1, user10, ...\n" +"\n" +" Retrieves the property value of the nodes specified\n" +" by the designators.\n" +" " +msgstr "" +"用法:get property designator[,designator]*\n" +" 得到指定屬性一個或多個指示器(designator)。\n" +"\n" +" 通過指示器(designator)來得到指定結點的屬性值。\n" +" " + +# ../roundup/admin.py:527 :542 +#: ../roundup/admin.py:886 ../roundup/admin.py:904 ../roundup/admin.py:886:904 +#, 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:914 ../roundup/admin.py:995 ../roundup/admin.py:1635 +#: ../roundup/admin.py:914:995:1635 +#, python-format +msgid "no such %(classname)s node \"%(nodeid)s\"" +msgstr "沒有這樣的 %(classname)s 結點 \"%(nodeid)s\"" + +#: ../roundup/admin.py:917 +#, python-format +msgid "no such %(classname)s property \"%(propname)s\"" +msgstr "沒有這樣的 %(classname)s 屬性 \"%(propname)s\"" + +#: ../roundup/admin.py:925 msgid "" "Usage: help topic\n" " Give help about topic.\n" @@ -259,22 +557,120 @@ " all -- 所有可用的說明\n" " " -#: ../roundup/admin.py:293 +#: ../roundup/admin.py:947 #, python-format msgid "Sorry, no help for \"%(topic)s\"" msgstr "抱歉,沒有對 \"%(topic)s\" 的說明信息" -# ../roundup/admin.py:337 :387 -#: ../roundup/admin.py:408 ../roundup/admin.py:464 ../roundup/admin.py:408:464 -msgid "Templates:" -msgstr "模板:" - -# ../roundup/admin.py:340 :398 -#: ../roundup/admin.py:411 ../roundup/admin.py:474 ../roundup/admin.py:411:474 -msgid "Back ends:" -msgstr "後端:" - -#: ../roundup/admin.py:414 +#: ../roundup/admin.py:964 +msgid "" +"Usage: history designator [skipquiet]\n" +" Show the history entries of a designator.\n" +"\n" +" A designator is a classname and a nodeid concatenated,\n" +" eg. bug1, user10, ...\n" +"\n" +" Lists the journal entries viewable by the user for the\n" +" node identified by the designator. If skipquiet is the\n" +" second argument, journal entries for quiet properties\n" +" are not shown.\n" +" " +msgstr "" + +#: ../roundup/admin.py:1000 +msgid "" +"Usage: import import_dir\n" +" Import a database from the directory containing CSV files,\n" +" two per class to import.\n" +"\n" +" The files used in the import are:\n" +"\n" +" <class>.csv\n" +" This must define the same properties as the class (including\n" +" having a \"header\" line with those property names.)\n" +" <class>-journals.csv\n" +" This defines the journals for the items being imported.\n" +"\n" +" The imported nodes will have the same nodeid as defined in the\n" +" import file, thus replacing any existing content.\n" +"\n" +" The new nodes are added to the existing database - if you want to\n" +" create a new database using the imported data, then create a new\n" +" database (or, tediously, retire all the old data.)\n" +" " +msgstr "" +"用法:import import_dir\n" +" 從包含 CSV 文件的目錄中導入數據庫,一個類有兩個文件用於導入。\n" +"\n" +" 用於導入的文件為:\n" +"\n" +" <class>.csv\n" +" 它必須定義與類型一樣的屬性(包括一個 \"header\" 行包含那些\n" +" 屬性的名字。)\n" +" <class>-journals.csv\n" +" 它用來定義被導入的條目的日誌。\n" +"\n" +" 被導入的結點將具與在導入文件中一樣的結點id,以便可以替換任何\n" +" 任何已經存在的內容。\n" +" 新結點被加入到已經存在的數據庫中 - 如果你想要使用導入數據來建\n" +" 立一個新的數據庫,那麼創建一個新數據庫(或者,麻煩點,回收所有\n" +" 舊數據。)\n" +" " + +#: ../roundup/admin.py:1079 +msgid "" +"Usage: importtables export_dir\n" +"\n" +" This imports the database tables exported using exporttables.\n" +" " +msgstr "" + +#. password +#: ../roundup/admin.py:1086 +msgid "" +"Usage: initialise [adminpw]\n" +" Initialise a new Roundup tracker.\n" +"\n" +" The administrator details will be set at this step.\n" +"\n" +" Execute the tracker's initialisation function dbinit.init()\n" +" " +msgstr "" +"用法:initialise [adminpw]\n" +" 初始化一個新的tracker。\n" +"\n" +" 管理員的信息需要在這一步進行設置。\n" +"\n" +" 執行tracker的初始化函數 dbinit.init()\n" +" " + +#: ../roundup/admin.py:1100 +msgid "Admin Password: " +msgstr "管理員口令:" + +#: ../roundup/admin.py:1101 +msgid " Confirm: " +msgstr " 確認:" + +#: ../roundup/admin.py:1105 +msgid "Instance home does not exist" +msgstr "實例目錄不存在" + +#: ../roundup/admin.py:1109 +msgid "Instance has not been installed" +msgstr "實例還沒有安裝" + +#: ../roundup/admin.py:1115 +msgid "" +"WARNING: The database is already initialised!\n" +"If you re-initialise it, you will lose all the data!\n" +"Erase it? Y/N: " +msgstr "" +"警告:數據庫已經被初始化!\n" +"如果你重新初始化它,所有的數據將會丟失!\n" +"刪除它嗎?Y/N: " + +#: ../roundup/admin.py:1135 #, fuzzy msgid "" "Usage: install [template [backend [key=val[,key=val]]]]\n" @@ -314,25 +710,12 @@ " 請查看初始化參數說明。\n" " " -# ../roundup/admin.py:359 :494 :573 :623 :676 :697 :725 :796 :863 :934 :982 -# :1004 :1031 :1093 :1159 -#: ../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:443 +#: ../roundup/admin.py:1164 #, python-format msgid "Instance home parent directory \"%(parent)s\" does not exist" msgstr "實例目錄的父目錄 \"%(parent)s\" 不存在" -#: ../roundup/admin.py:452 +#: ../roundup/admin.py:1173 #, python-format msgid "" "WARNING: There appears to be a tracker in \"%(tracker_home)s\"!\n" @@ -343,22 +726,22 @@ "如果你打算重新安裝它,所有的數據將會丟失!\n" "刪除它嗎?Y/N: " -#: ../roundup/admin.py:465 +#: ../roundup/admin.py:1186 #, fuzzy msgid "Select template" msgstr "選擇模板 [classic]:" -#: ../roundup/admin.py:475 +#: ../roundup/admin.py:1196 #, fuzzy msgid "Select backend" msgstr "選擇後端 [anydbm]:" -#: ../roundup/admin.py:486 +#: ../roundup/admin.py:1207 #, fuzzy, python-format msgid "Error in configuration settings: \"%s\"" msgstr "配置保存到 %s" -#: ../roundup/admin.py:517 +#: ../roundup/admin.py:1238 #, fuzzy, python-format msgid "" "\n" @@ -370,11 +753,11 @@ " 現在你應該修改tracker的配置文件:\n" " %(config_file)s" -#: ../roundup/admin.py:527 +#: ../roundup/admin.py:1248 msgid " ... at a minimum, you must set following options:" msgstr " ... 至少,你必須設置以下選項:" -#: ../roundup/admin.py:532 +#: ../roundup/admin.py:1253 #, fuzzy, python-format msgid "" "\n" @@ -398,124 +781,371 @@ " %(database_init_file)s\n" " ... 查看關於客戶化的文檔來瞭解更多的信息。\n" -#: ../roundup/admin.py:563 -msgid "" -"Usage: genconfig <filename>\n" -" Generate a new tracker config file (ini style) with default\n" -" values in <filename>.\n" -" " -msgstr "" - -#: ../roundup/admin.py:581 -#, python-format +#: ../roundup/admin.py:1270 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 +"Usage: list classname [property]\n" +" List the instances of a class.\n" +"\n" +" Lists all instances of the given class. If the property is not\n" +" specified, the \"label\" property is used. The label property is\n" +" tried in order: the key, \"name\", \"title\" and then the first\n" +" property, alphabetically.\n" +"\n" +" With -c, -S or -s print a list of item id's if no property\n" +" specified. If property specified, print list of that property\n" +" for every class instance.\n" +" " +msgstr "" +"用法:list classname [property]\n" +" 列出類型的實例。\n" +"\n" +" 列出所有給定類型的實例。如果屬性未被指定,則使用 \"label\" 屬性。\n" +" label 屬性以下列順序進行嘗試:鍵、\"name\"、\"title\" 和按字典順序\n" +" 的第一個屬性。\n" +"\n" +" 如果沒有指定屬性,使用 -c, -S 或 -s 會列印出條目 id 的列表。如果指\n" +" 定了屬性,對每個類型實例會列印出這個屬性。\n" +" " + +#: ../roundup/admin.py:1283 +msgid "Too many arguments supplied" +msgstr "提供了太多的參數了" + +#: ../roundup/admin.py:1319 #, python-format +msgid "%(nodeid)4s: %(value)s" +msgstr "" + +#: ../roundup/admin.py:1323 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" -" <filename>. Use current settings from existing roundup\n" -" tracker in tracker home.\n" +"Usage: migrate\n" +"\n" +" Update a tracker's database to be compatible with the Roundup\n" +" codebase.\n" +"\n" +" You should run the \"migrate\" command for your tracker once\n" +" you've installed the latest codebase.\n" +"\n" +" Do this before you use the web, command-line or mail interface\n" +" and before any users access the tracker.\n" +"\n" +" This command will respond with either \"Tracker updated\" (if\n" +" you've not previously run it on an RDBMS backend) or \"No\n" +" migration action required\" (if you have run it, or have used\n" +" another interface to the tracker, or possibly because you are\n" +" using anydbm).\n" +"\n" +" It's safe to run this even if it's not required, so just get\n" +" into the habit.\n" " " msgstr "" -#. password -#: ../roundup/admin.py:612 +#: ../roundup/admin.py:1344 +#, python-format +msgid "Tracker updated to schema version %s." +msgstr "" + +#: ../roundup/admin.py:1348 +#, python-format +msgid "No migration action required. At schema version %s." +msgstr "" + +#: ../roundup/admin.py:1353 msgid "" -"Usage: initialise [adminpw]\n" -" Initialise a new Roundup tracker.\n" -"\n" -" The administrator details will be set at this step.\n" -"\n" -" Execute the tracker's initialisation function dbinit.init()\n" +"Usage: pack period | date\n" +"\n" +" Remove journal entries older than a period of time specified or\n" +" before a certain date.\n" +"\n" +" A period is specified using the suffixes \"y\", \"m\", and \"d\". " +"The\n" +" suffix \"w\" (for \"week\") means 7 days.\n" +"\n" +" \"3y\" means three years\n" +" \"2y 1m\" means two years and one month\n" +" \"1m 25d\" means one month and 25 days\n" +" \"2w 3d\" means two weeks and three days\n" +"\n" +" Date format is \"YYYY-MM-DD\" eg:\n" +" 2001-01-01\n" +"\n" " " msgstr "" -"用法:initialise [adminpw]\n" -" 初始化一個新的tracker。\n" -"\n" -" 管理員的信息需要在這一步進行設置。\n" -"\n" -" 執行tracker的初始化函數 dbinit.init()\n" +"用法:pack period | date\n" +"\n" +" 刪除早於指定的時期或日期的舊的流水記錄。\n" +"\n" +" 一個時期使用後綴 \"y\", \"m\", 和 \"d\"。後綴 \"w\"(表示 \"week\")\n" +" 表示 7 天。\n" +"\n" +" \"3y\" 表示3年\n" +" \"2y 1m\" 表示2年1個月\n" +" \"1m 25d\" 表示1月25天\n" +" \"2w 3d\" 表示2周3天\n" +"\n" +" 日期格式是 \"YYYY-MM-DD\" 例如:\n" +" 2001-01-01\n" +"\n" +" " + +#: ../roundup/admin.py:1381 +msgid "Invalid format" +msgstr "無效的格式" + +#: ../roundup/admin.py:1392 +msgid "" +"Usage: perftest [mode] [arguments]*\n" +"\n" +" Time operations in Roundup. Supported arguments:\n" +"\n" +" [password] [rounds=<integer>] [scheme=<scheme>]\n" +"\n" +" 'password' is the default mode. The tracker's config.ini\n" +" setting for 'password_pbkdf2_default_rounds' is the default\n" +" value for 'rounds'. On the command line, 'rounds' can include\n" +" thousands separator of ',' or '.'. 'scheme' is the default\n" +" coded into Roundup. List supported schemes by using 'scheme='.\n" +"\n" " " - -#: ../roundup/admin.py:626 -msgid "Admin Password: " -msgstr "管理員口令:" - -#: ../roundup/admin.py:627 -msgid " Confirm: " -msgstr " 確認:" - -#: ../roundup/admin.py:631 -msgid "Instance home does not exist" -msgstr "實例目錄不存在" - -#: ../roundup/admin.py:635 -msgid "Instance has not been installed" -msgstr "實例還沒有安裝" - -#: ../roundup/admin.py:641 +msgstr "" + +#: ../roundup/admin.py:1425 +msgid "Invalid 'rounds'. Must be larger than 999." +msgstr "" + +#: ../roundup/admin.py:1429 +#, python-format +msgid "Invalid 'rounds'. It must be an integer not: %s" +msgstr "" + +#: ../roundup/admin.py:1456 +msgid "scheme does not support rounds." +msgstr "" + +#: ../roundup/admin.py:1459 +#, python-format +msgid "Hash time: %(time)0.9f seconds, scheme: %(scheme)s, rounds: %(rounds)s" +msgstr "" + +#: ../roundup/admin.py:1465 msgid "" -"WARNING: The database is already initialised!\n" -"If you re-initialise it, you will lose all the data!\n" -"Erase it? Y/N: " -msgstr "" -"警告:數據庫已經被初始化!\n" -"如果你重新初始化它,所有的數據將會丟失!\n" -"刪除它嗎?Y/N: " - -#: ../roundup/admin.py:661 +"Usage: pragma setting=value | 'list'\n" +" Set internal admin settings to a value. E.G.\n" +"\n" +" pragma verbose=True\n" +" pragma verbose=yes\n" +" pragma verbose=on\n" +" pragma verbose=1\n" +"\n" +" will turn on verbose mode for roundup-admin.\n" +"\n" +" pragma list\n" +"\n" +" will show all settings and their current values. If verbose\n" +" is enabled hidden settings and descriptions will be shown.\n" +" " +msgstr "" + +#: ../roundup/admin.py:1489 +#, python-format +msgid "Argument must be setting=value, was given: %s." +msgstr "" + +#: ../roundup/admin.py:1492 +msgid "Current settings and values (NYI - not yet implemented):" +msgstr "" + +#: ../roundup/admin.py:1505 +#, fuzzy, python-format +msgid "Unknown setting %s." +msgstr "未知用戶名" + +#: ../roundup/admin.py:1514 +#, python-format +msgid "Incorrect value for boolean setting %(setting)s: %(value)s." +msgstr "" + +#: ../roundup/admin.py:1521 +#, python-format +msgid "Incorrect value for integer setting %(setting)s: %(value)s." +msgstr "" + +#: ../roundup/admin.py:1527 +#, python-format +msgid "Internal error: pragma can not handle values of type: %s" +msgstr "" + +#: ../roundup/admin.py:1537 #, fuzzy msgid "" -"Usage: get property designator[,designator]*\n" -" Get the given property of one or more designator(s).\n" +"Usage: reindex [classname|classname:#-#|designator]*\n" +" Re-generate a tracker's search indexes.\n" +"\n" +" This will re-generate the search indexes for a tracker.\n" +" This will typically happen automatically.\n" +"\n" +" You can incrementally reindex using an argument like:\n" +"\n" +" reindex issue:23-1000\n" +"\n" +" to reindex issue class items 23-1000. Missing items\n" +" are reported but do not stop indexing of the range.\n" +" " +msgstr "" +"用法:reindex [classname|designator]*\n" +" 重新生成 tracker 的搜索索引。\n" +"\n" +" 重新生成 tracker 的搜索索引,它將自動進行。\n" +" " + +#: ../roundup/admin.py:1560 +#, python-format +msgid "no such item \"%(designator)s\"" +msgstr "沒有這樣的條目 \"%(designator)s\"" + +#: ../roundup/admin.py:1570 +#, fuzzy, python-format +msgid "no such item \"%(class)s%(id)s\"" +msgstr "沒有這樣的條目 \"%(designator)s\"" + +#: ../roundup/admin.py:1582 +#, fuzzy +msgid "" +"Usage: restore designator[,designator]*\n" +" Restore the retired node specified by designator.\n" "\n" " A designator is a classname and a nodeid concatenated,\n" " eg. bug1, user10, ...\n" "\n" -" Retrieves the property value of the nodes specified\n" -" by the designators.\n" +" The given nodes will become available for users again.\n" " " msgstr "" -"用法:get property designator[,designator]*\n" -" 得到指定屬性一個或多個指示器(designator)。\n" -"\n" -" 通過指示器(designator)來得到指定結點的屬性值。\n" +"Usage: restore designator[,designator]*\n" +" 恢復由指示器(designator)表明的已經回收的結點。\n" +"\n" +" 給定的結點將對用戶來說再次生效。\n" " " -# ../roundup/admin.py:527 :542 -#: ../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: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\"" +#: ../roundup/admin.py:1607 +#, fuzzy +msgid "no such %(classname)s node \" % (nodeid)s\"" msgstr "沒有這樣的 %(classname)s 結點 \"%(nodeid)s\"" -#: ../roundup/admin.py:736 -#, python-format -msgid "no such %(classname)s property \"%(propname)s\"" -msgstr "沒有這樣的 %(classname)s 屬性 \"%(propname)s\"" - -#: ../roundup/admin.py:744 +#: ../roundup/admin.py:1613 #, fuzzy msgid "" -"Usage: set items property=value property=value ...\n" +"Usage: retire designator[,designator]*\n" +" Retire the node specified by designator.\n" +"\n" +" A designator is a classname and a nodeid concatenated,\n" +" eg. bug1, user10, ...\n" +"\n" +" This action indicates that a particular node is not to be retrieved\n" +" by the list or find commands, and its key value may be re-used.\n" +" " +msgstr "" +"用法:retire designator[,designator]*\n" +" 回收由指示器(designator)所指明的結點。\n" +"\n" +" 這個動作指明一個特別的結點將不能被 list 或 find 命令得到,並且\n" +" 它的鍵值可以被重用。\n" +" " + +#: ../roundup/admin.py:1641 +msgid "" +"Usage: rollback\n" +" Undo all changes that are pending commit to the database.\n" +"\n" +" The changes made during an interactive session are not\n" +" automatically written to the database - they must be committed\n" +" manually. This command undoes all those changes, so a commit\n" +" immediately after would make no changes to the database.\n" +" " +msgstr "" +"用法:rollback\n" +" 撤銷所有未提交到數據庫的改動。\n" +"\n" +" 在交互對話中產生的改動並不自動寫到數據庫中 - 它們必須被手工提交。\n" +" 這個命令用來撤銷所有這些改動,所以在後面跟上提交的話不會對數據庫\n" +" 產生變化。\n" +" " + +#: ../roundup/admin.py:1654 +msgid "" +"Usage: security [Role name]\n" +"\n" +" Display the Permissions available to one or all Roles.\n" +" Also validates that any properties defined in a\n" +" permission are valid.\n" +"\n" +" Run this after changing your permissions to catch\n" +" typos.\n" +" " +msgstr "" + +#: ../roundup/admin.py:1668 +#, fuzzy, python-format +msgid "No such Role \"%(role)s\"\n" +msgstr "沒有這樣的角色 \"%(role)s\"" + +#: ../roundup/admin.py:1674 +#, fuzzy, python-format +msgid "New Web users get the Roles \"%(role)s\"\n" +msgstr "新Web用戶得到角色 \"%(role)s\"" + +#: ../roundup/admin.py:1677 +#, fuzzy, python-format +msgid "New Web users get the Role \"%(role)s\"\n" +msgstr "新Web用戶得到角色 \"%(role)s\"" + +#: ../roundup/admin.py:1681 +#, fuzzy, python-format +msgid "New Email users get the Roles \"%(role)s\"\n" +msgstr "新郵件用戶得到角色 \"%(role)s\"" + +#: ../roundup/admin.py:1683 +#, fuzzy, python-format +msgid "New Email users get the Role \"%(role)s\"\n" +msgstr "新郵件用戶得到角色 \"%(role)s\"" + +#: ../roundup/admin.py:1686 +#, fuzzy, python-format +msgid "Role \"%(name)s\":\n" +msgstr "角色 \"%(name)s\":" + +#: ../roundup/admin.py:1692 +#, fuzzy +msgid " %(description)s (%(name)s for \"%(klass)s\"" +msgstr " %(description)s (%(name)s 僅用於 \"%(klass)s\")" + +#: ../roundup/admin.py:1692 +#, 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:1705 +#, python-format +msgid "" +"\n" +" **Invalid properties for %(class)s: %(props)s\n" +"\n" +msgstr "" + +#: ../roundup/admin.py:1711 +#, fuzzy, python-format +msgid " %(description)s (%(name)s for \"%(klass)s\" only)\n" +msgstr " %(description)s (%(name)s 僅用於 \"%(klass)s\")" + +#: ../roundup/admin.py:1714 +#, fuzzy, python-format +msgid " %(description)s (%(name)s)\n" +msgstr " %(description)s (%(name)s 僅用於 \"%(klass)s\")" + +#: ../roundup/admin.py:1718 +#, fuzzy +msgid "" +"Usage: set items property=value [property=value ...]\n" " Set the given properties of one or more items(s).\n" "\n" " The items are specified as a class or as a comma-separated\n" @@ -545,60 +1175,7 @@ " 你需要為多鏈接提供用逗號分隔的數字(例如 \"1,2,3\")。\n" " " -#: ../roundup/admin.py:812 -#, fuzzy -msgid "" -"Usage: filter classname propname=value ...\n" -" Find the nodes of the given class with a given property value.\n" -"\n" -" Find the nodes of the given class with a given property value.\n" -" Multiple values can be specified by separating them with commas.\n" -" If property is a string, all values must match. I.E. it's an\n" -" 'and' operation. If the property is a link/multilink any value\n" -" matches. I.E. an 'or' operation.\n" -" " -msgstr "" -"用法:find classname propname=value ...\n" -" 根據給定的 link 屬性值來查找給定類型的結點。\n" -"\n" -" 根據給定的 link 屬性值來查找給定類型的結點。這個值或者是鏈接結點的結" -"點ID,\n" -" 或者是結點的鍵值。\n" -" " - -# ../roundup/admin.py:663 :816 :828 :882 -#: ../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: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:900 -msgid "" -"Usage: find classname propname=value ...\n" -" Find the nodes of the given class with a given link property value.\n" -"\n" -" Find the nodes of the given class with a given link property value.\n" -" The value may be either the nodeid of the linked node, or its key\n" -" value.\n" -" " -msgstr "" -"用法:find classname propname=value ...\n" -" 根據給定的 link 屬性值來查找給定類型的結點。\n" -"\n" -" 根據給定的 link 屬性值來查找給定類型的結點。這個值或者是鏈接結點的結" -"點ID,\n" -" 或者是結點的鍵值。\n" -" " - -#: ../roundup/admin.py:961 +#: ../roundup/admin.py:1786 msgid "" "Usage: specification classname\n" " Show the properties for a classname.\n" @@ -612,129 +1189,17 @@ " 會列出給定類型的屬性。\n" " " -#: ../roundup/admin.py:977 +#: ../roundup/admin.py:1802 #, fuzzy, python-format msgid "%(key)s: %(value)s (key property)\n" msgstr "%(key)s: %(value)s (關鍵屬性)" -#: ../roundup/admin.py:980 +#: ../roundup/admin.py:1805 #, fuzzy, python-format msgid "%(key)s: %(value)s\n" msgstr "%(key)s: %(value)s (關鍵屬性)" -#: ../roundup/admin.py:983 -#, fuzzy -msgid "" -"Usage: display designator[,designator]*\n" -"\n" -" Show the property values for the given node(s).\n" -"\n" -" A designator is a classname and a nodeid concatenated,\n" -" eg. bug1, user10, ...\n" -"\n" -" This lists the properties and their associated values\n" -" for the given node.\n" -" " -msgstr "" -"用法:display designator[,designator]*\n" -" 顯示給出結點的屬性值。\n" -"\n" -" 將顯示給出結點的屬性和相應的值。\n" -" " - -#: ../roundup/admin.py:1010 -#, python-format -msgid "%(key)s: %(value)s" -msgstr "" - -#: ../roundup/admin.py:1013 -msgid "" -"Usage: create classname property=value ...\n" -" Create a new entry of a given class.\n" -"\n" -" This creates a new entry of the given class using the property\n" -" name=value arguments provided on the command line after the \"create" -"\"\n" -" command.\n" -" " -msgstr "" -"用法:create classname property=value ...\n" -" 建立一個給定類的新記錄。\n" -"\n" -" 建立一個給定類的新記錄,將使用 \"create\" 命令行後面的屬性 " -"name=value 參數。\n" -" " - -#: ../roundup/admin.py:1041 -#, python-format -msgid "%(propname)s (Password): " -msgstr "%(propname)s (口令):" - -#: ../roundup/admin.py:1044 -#, python-format -msgid " %(propname)s (Again): " -msgstr " %(propname)s (再次):" - -#: ../roundup/admin.py:1048 -msgid "Sorry, try again..." -msgstr "抱歉,再試一次..." - -#: ../roundup/admin.py:1052 -#, python-format -msgid "%(propname)s (%(proptype)s): " -msgstr "" - -#: ../roundup/admin.py:1071 -#, python-format -msgid "you must provide the \"%(propname)s\" property." -msgstr "你必須提供 \"%(propname)s\" 屬性。" - -#: ../roundup/admin.py:1083 -msgid "" -"Usage: list classname [property]\n" -" List the instances of a class.\n" -"\n" -" Lists all instances of the given class. If the property is not\n" -" specified, the \"label\" property is used. The label property is\n" -" tried in order: the key, \"name\", \"title\" and then the first\n" -" property, alphabetically.\n" -"\n" -" With -c, -S or -s print a list of item id's if no property\n" -" specified. If property specified, print list of that property\n" -" for every class instance.\n" -" " -msgstr "" -"用法:list classname [property]\n" -" 列出類型的實例。\n" -"\n" -" 列出所有給定類型的實例。如果屬性未被指定,則使用 \"label\" 屬性。\n" -" label 屬性以下列順序進行嘗試:鍵、\"name\"、\"title\" 和按字典順序\n" -" 的第一個屬性。\n" -"\n" -" 如果沒有指定屬性,使用 -c, -S 或 -s 會列印出條目 id 的列表。如果指\n" -" 定了屬性,對每個類型實例會列印出這個屬性。\n" -" " - -#: ../roundup/admin.py:1096 -msgid "Too many arguments supplied" -msgstr "提供了太多的參數了" - -#: ../roundup/admin.py:1132 -#, python-format -msgid "%(nodeid)4s: %(value)s" -msgstr "" - -#: ../roundup/admin.py:1136 -msgid "" -"Usage: templates [trace_search]\n" -" List templates and their installed directories.\n" -"\n" -" With trace_search also list all directories that are\n" -" searched for templates.\n" -" " -msgstr "" - -#: ../roundup/admin.py:1164 +#: ../roundup/admin.py:1808 msgid "" "Usage: table classname [property[,property]*]\n" " List the instances of a class in tabular form.\n" @@ -792,444 +1257,64 @@ " 將生成4個字符寬的 \"Name\" 列。\n" " " -#: ../roundup/admin.py:1208 +#: ../roundup/admin.py:1852 #, python-format msgid "\"%(spec)s\" not name:width" msgstr "\"%(spec)s\" 不是 名字:寬度" -#: ../roundup/admin.py:1230 +#: ../roundup/admin.py:1874 #, python-format msgid "\"%(spec)s\" does not have an integer width: \"%(width)s\"" msgstr "" -#: ../roundup/admin.py:1266 -msgid "" -"Usage: history designator [skipquiet]\n" -" Show the history entries of a designator.\n" -"\n" -" A designator is a classname and a nodeid concatenated,\n" -" eg. bug1, user10, ...\n" -"\n" -" Lists the journal entries viewable by the user for the\n" -" node identified by the designator. If skipquiet is the\n" -" second argument, journal entries for quiet properties\n" -" are not shown.\n" -" " -msgstr "" - -#: ../roundup/admin.py:1302 -msgid "" -"Usage: commit\n" -" Commit changes made to the database during an interactive session.\n" -"\n" -" The changes made during an interactive session are not\n" -" automatically written to the database - they must be committed\n" -" using this command.\n" -"\n" -" One-off commands on the command-line are automatically committed if\n" -" they are successful.\n" -" " -msgstr "" -"用法:commit\n" -" 提交在一個交互會話中所產生的改動。\n" -"\n" -" 在一個交互會話中所產生的改動不會自動寫入數據庫 - 它們必須使用此命令\n" -" 來提交。\n" -" 在命令行中的 One-off 命令如果成功會被自動提交。\n" -" " - -#: ../roundup/admin.py:1317 +#: ../roundup/admin.py:1910 msgid "" -"Usage: rollback\n" -" Undo all changes that are pending commit to the database.\n" -"\n" -" The changes made during an interactive session are not\n" -" automatically written to the database - they must be committed\n" -" manually. This command undoes all those changes, so a commit\n" -" immediately after would make no changes to the database.\n" -" " -msgstr "" -"用法:rollback\n" -" 撤銷所有未提交到數據庫的改動。\n" -"\n" -" 在交互對話中產生的改動並不自動寫到數據庫中 - 它們必須被手工提交。\n" -" 這個命令用來撤銷所有這些改動,所以在後面跟上提交的話不會對數據庫\n" -" 產生變化。\n" -" " - -#: ../roundup/admin.py:1330 -#, fuzzy -msgid "" -"Usage: retire designator[,designator]*\n" -" Retire the node specified by designator.\n" -"\n" -" A designator is a classname and a nodeid concatenated,\n" -" eg. bug1, user10, ...\n" -"\n" -" This action indicates that a particular node is not to be retrieved\n" -" by the list or find commands, and its key value may be re-used.\n" -" " -msgstr "" -"用法:retire designator[,designator]*\n" -" 回收由指示器(designator)所指明的結點。\n" -"\n" -" 這個動作指明一個特別的結點將不能被 list 或 find 命令得到,並且\n" -" 它的鍵值可以被重用。\n" -" " - -#: ../roundup/admin.py:1358 -#, fuzzy -msgid "" -"Usage: restore designator[,designator]*\n" -" Restore the retired node specified by designator.\n" -"\n" -" A designator is a classname and a nodeid concatenated,\n" -" eg. bug1, user10, ...\n" -"\n" -" The given nodes will become available for users again.\n" -" " -msgstr "" -"Usage: restore designator[,designator]*\n" -" 恢復由指示器(designator)表明的已經回收的結點。\n" -"\n" -" 給定的結點將對用戶來說再次生效。\n" +"Usage: templates [trace_search]\n" +" List templates and their installed directories.\n" +"\n" +" With trace_search also list all directories that are\n" +" searched for templates.\n" " " - -# ../roundup/admin.py:550 :945 :994 :1016 -#: ../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:1389 -#, fuzzy -msgid "" -"Usage: export [[-]class[,class]] export_dir\n" -" Export the database to colon-separated-value files.\n" -" To exclude the files (e.g. for the msg or file class),\n" -" use the exporttables command.\n" -"\n" -" Optionally limit the export to just the named classes\n" -" or exclude the named classes, if the 1st argument starts with '-'.\n" -"\n" -" This action exports the current data from the database into\n" -" colon-separated-value files that are placed in the nominated\n" -" destination directory.\n" -" " -msgstr "" -"用法:export [class[,class]] export_dir\n" -" 導出數據庫為冒號分隔值的文件。\n" -"\n" -" 對於導出的可選限制只是類名。\n" -"\n" -" 這個動作從數據庫中導出當前的數據到以冒號分隔值的文件中去,它們將存\n" -" 放在指定的目標目錄中。\n" -" " - -#: ../roundup/admin.py:1496 -#, fuzzy -msgid "" -"Usage: exporttables [[-]class[,class]] export_dir\n" -" Export the database to colon-separated-value files, excluding the\n" -" files below $TRACKER_HOME/db/files/ (which can be archived " -"separately).\n" -" To include the files, use the export command.\n" -"\n" -" Optionally limit the export to just the named classes\n" -" or exclude the named classes, if the 1st argument starts with '-'.\n" -"\n" -" This action exports the current data from the database into\n" -" colon-separated-value files that are placed in the nominated\n" -" destination directory.\n" -" " -msgstr "" -"用法:export [class[,class]] export_dir\n" -" 導出數據庫為冒號分隔值的文件。\n" -"\n" -" 對於導出的可選限制只是類名。\n" -"\n" -" 這個動作從數據庫中導出當前的數據到以冒號分隔值的文件中去,它們將存\n" -" 放在指定的目標目錄中。\n" -" " - -#: ../roundup/admin.py:1511 -msgid "" -"Usage: import import_dir\n" -" Import a database from the directory containing CSV files,\n" -" two per class to import.\n" -"\n" -" The files used in the import are:\n" -"\n" -" <class>.csv\n" -" This must define the same properties as the class (including\n" -" having a \"header\" line with those property names.)\n" -" <class>-journals.csv\n" -" This defines the journals for the items being imported.\n" -"\n" -" The imported nodes will have the same nodeid as defined in the\n" -" import file, thus replacing any existing content.\n" -"\n" -" The new nodes are added to the existing database - if you want to\n" -" create a new database using the imported data, then create a new\n" -" database (or, tediously, retire all the old data.)\n" -" " -msgstr "" -"用法:import import_dir\n" -" 從包含 CSV 文件的目錄中導入數據庫,一個類有兩個文件用於導入。\n" -"\n" -" 用於導入的文件為:\n" -"\n" -" <class>.csv\n" -" 它必須定義與類型一樣的屬性(包括一個 \"header\" 行包含那些\n" -" 屬性的名字。)\n" -" <class>-journals.csv\n" -" 它用來定義被導入的條目的日誌。\n" -"\n" -" 被導入的結點將具與在導入文件中一樣的結點id,以便可以替換任何\n" -" 任何已經存在的內容。\n" -" 新結點被加入到已經存在的數據庫中 - 如果你想要使用導入數據來建\n" -" 立一個新的數據庫,那麼創建一個新數據庫(或者,麻煩點,回收所有\n" -" 舊數據。)\n" -" " - -#: ../roundup/admin.py:1590 -msgid "" -"Usage: importtables export_dir\n" -"\n" -" This imports the database tables exported using exporttables.\n" -" " -msgstr "" - -#: ../roundup/admin.py:1597 +msgstr "" + +#: ../roundup/admin.py:1938 msgid "" -"Usage: pack period | date\n" -"\n" -" Remove journal entries older than a period of time specified or\n" -" before a certain date.\n" -"\n" -" A period is specified using the suffixes \"y\", \"m\", and \"d\". " -"The\n" -" suffix \"w\" (for \"week\") means 7 days.\n" -"\n" -" \"3y\" means three years\n" -" \"2y 1m\" means two years and one month\n" -" \"1m 25d\" means one month and 25 days\n" -" \"2w 3d\" means two weeks and three days\n" -"\n" -" Date format is \"YYYY-MM-DD\" eg:\n" -" 2001-01-01\n" -"\n" -" " -msgstr "" -"用法:pack period | date\n" -"\n" -" 刪除早於指定的時期或日期的舊的流水記錄。\n" -"\n" -" 一個時期使用後綴 \"y\", \"m\", 和 \"d\"。後綴 \"w\"(表示 \"week\")\n" -" 表示 7 天。\n" -"\n" -" \"3y\" 表示3年\n" -" \"2y 1m\" 表示2年1個月\n" -" \"1m 25d\" 表示1月25天\n" -" \"2w 3d\" 表示2周3天\n" -"\n" -" 日期格式是 \"YYYY-MM-DD\" 例如:\n" -" 2001-01-01\n" -"\n" -" " - -#: ../roundup/admin.py:1625 -msgid "Invalid format" -msgstr "無效的格式" - -#: ../roundup/admin.py:1638 -msgid "" -"Usage: reindex [classname|designator]*\n" -" Re-generate a tracker's search indexes.\n" -"\n" -" This will re-generate the search indexes for a tracker.\n" -" This will typically happen automatically.\n" -" " -msgstr "" -"用法:reindex [classname|designator]*\n" -" 重新生成 tracker 的搜索索引。\n" -"\n" -" 重新生成 tracker 的搜索索引,它將自動進行。\n" -" " - -#: ../roundup/admin.py:1652 -#, python-format -msgid "no such item \"%(designator)s\"" -msgstr "沒有這樣的條目 \"%(designator)s\"" - -#: ../roundup/admin.py:1662 -#, fuzzy -msgid "" -"Usage: security [Role name]\n" -"\n" -" Display the Permissions available to one or all Roles.\n" -" " -msgstr "" -"用法:security [角色名]\n" -" 顯示一個或多個角色的權限。\n" +"Usage: updateconfig <filename>\n" +" Generate an updated tracker config file (ini style) in\n" +" <filename>. Use current settings from existing roundup\n" +" tracker in tracker home.\n" " " - -#: ../roundup/admin.py:1671 -#, fuzzy, python-format -msgid "No such Role \"%(role)s\"\n" -msgstr "沒有這樣的角色 \"%(role)s\"" - -#: ../roundup/admin.py:1677 -#, fuzzy, python-format -msgid "New Web users get the Roles \"%(role)s\"\n" -msgstr "新Web用戶得到角色 \"%(role)s\"" - -#: ../roundup/admin.py:1680 -#, fuzzy, python-format -msgid "New Web users get the Role \"%(role)s\"\n" -msgstr "新Web用戶得到角色 \"%(role)s\"" - -#: ../roundup/admin.py:1684 -#, fuzzy, python-format -msgid "New Email users get the Roles \"%(role)s\"\n" -msgstr "新郵件用戶得到角色 \"%(role)s\"" - -#: ../roundup/admin.py:1686 -#, fuzzy, python-format -msgid "New Email users get the Role \"%(role)s\"\n" -msgstr "新郵件用戶得到角色 \"%(role)s\"" - -#: ../roundup/admin.py:1689 -#, fuzzy, python-format -msgid "Role \"%(name)s\":\n" -msgstr "角色 \"%(name)s\":" - -#: ../roundup/admin.py:1695 -#, fuzzy -msgid " %(description)s (%(name)s for \"%(klass)s\"" -msgstr " %(description)s (%(name)s 僅用於 \"%(klass)s\")" - -#: ../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:1708 +msgstr "" + +# ../roundup/cgi/actions.py:549 :559 :730 :749 +#: ../roundup/admin.py:1946 ../roundup/cgi/actions.py:886 +#: ../roundup/cgi/actions.py:897 ../roundup/cgi/actions.py:1099 +#: ../roundup/cgi/actions.py:1113 ../roundup/cgi/actions.py:886:897 :1099:1113 #, python-format -msgid "" -"\n" -" **Invalid properties for %(class)s: %(props)s\n" -"\n" -msgstr "" - -#: ../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:1717 -#, fuzzy, python-format -msgid " %(description)s (%(name)s)\n" -msgstr " %(description)s (%(name)s 僅用於 \"%(klass)s\")" - -#: ../roundup/admin.py:1721 -msgid "" -"Usage: migrate\n" -"\n" -" Update a tracker's database to be compatible with the Roundup\n" -" codebase.\n" -"\n" -" You should run the \"migrate\" command for your tracker once\n" -" you've installed the latest codebase.\n" -"\n" -" Do this before you use the web, command-line or mail interface\n" -" and before any users access the tracker.\n" -"\n" -" This command will respond with either \"Tracker updated\" (if\n" -" you've not previously run it on an RDBMS backend) or \"No\n" -" migration action required\" (if you have run it, or have used\n" -" another interface to the tracker, or possibly because you are\n" -" using anydbm).\n" -"\n" -" It's safe to run this even if it's not required, so just get\n" -" into the habit.\n" -" " -msgstr "" - -#: ../roundup/admin.py:1742 -#, python-format -msgid "Tracker updated to schema version %s." -msgstr "" - -#: ../roundup/admin.py:1746 -#, python-format -msgid "No migration action required. At schema version %s." -msgstr "" - -#: ../roundup/admin.py:1751 -msgid "" -"Usage: perftest [mode] [arguments]*\n" -"\n" -" Time operations in Roundup. Supported arguments:\n" -"\n" -" [password] [rounds=<integer>] [scheme=<scheme>]\n" -"\n" -" 'password' is the default mode. The tracker's config.ini\n" -" setting for 'password_pbkdf2_default_rounds' is the default\n" -" value for 'rounds'. On the command line, 'rounds' can include\n" -" thousands separator of ',' or '.'. 'scheme' is the default\n" -" coded into Roundup. List supported schemes by using 'scheme='.\n" -"\n" -" " -msgstr "" - -#: ../roundup/admin.py:1785 -msgid "Invalid 'rounds'. Must be larger than 999." -msgstr "" - -#: ../roundup/admin.py:1789 -#, python-format -msgid "Invalid 'rounds'. It must be an integer not: %s" -msgstr "" - -#: ../roundup/admin.py:1816 -msgid "scheme does not support rounds." -msgstr "" - -#: ../roundup/admin.py:1819 -#, python-format -msgid "Hash time: %(time)0.9f seconds, scheme: %(scheme)s, rounds: %(rounds)s" -msgstr "" - -#: ../roundup/admin.py:1847 +msgid "Error: %s" +msgstr "錯誤:%s" + +#: ../roundup/admin.py:1974 #, python-format msgid "Unknown command \"%(command)s\" (\"help commands\" for a list)" msgstr "未知命令 \"%(command)s\" (\"help commands\" 查看命令列表)" -#: ../roundup/admin.py:1853 +#: ../roundup/admin.py:1980 #, python-format msgid "Multiple commands match \"%(command)s\": %(list)s" msgstr "多命令匹配 \"%(command)s\": %(list)s" -#: ../roundup/admin.py:1862 +#: ../roundup/admin.py:1996 msgid "Enter tracker home: " msgstr "輸入tracker起始目錄:" -# ../roundup/admin.py:1279 :1285 :1305 -#: ../roundup/admin.py:1871 ../roundup/admin.py:1877 ../roundup/admin.py:1914 -#: ../roundup/admin.py:1871:1877:1914 -#, python-format -msgid "Error: %(message)s" -msgstr "錯誤:%(message)s" - -#: ../roundup/admin.py:1887 ../roundup/admin.py:1891 -#: ../roundup/admin.py:1887:1891 +#: ../roundup/admin.py:2023 ../roundup/admin.py:2027 +#: ../roundup/admin.py:2023:2027 #, python-format msgid "Error: Couldn't open tracker: %(message)s" msgstr "錯誤:不能打開tracker:%(message)s" -#: ../roundup/admin.py:1927 +#: ../roundup/admin.py:2060 #, python-format msgid "" "Roundup %s ready for input.\n" @@ -1238,15 +1323,15 @@ "Roundup %s 輸入就緒。\n" "敲入 \"help\" 獲得說明。" -#: ../roundup/admin.py:1932 +#: ../roundup/admin.py:2065 msgid "Note: command history and editing not available" msgstr "注意:命令歷史和編輯無效" -#: ../roundup/admin.py:1938 +#: ../roundup/admin.py:2071 msgid "exit..." msgstr "退出..." -#: ../roundup/admin.py:1951 +#: ../roundup/admin.py:2084 msgid "There are unsaved changes. Commit them (y/N)? " msgstr "存在未被保存的改動。提交嗎(y/N)?" @@ -1280,7 +1365,7 @@ #: ../roundup/backends/back_anydbm.py:1422 #: ../roundup/backends/back_anydbm.py:1440 #: ../roundup/backends/back_anydbm.py:1487 -#: ../roundup/backends/back_anydbm.py:2117 +#: ../roundup/backends/back_anydbm.py:2113 #: ../roundup/backends/back_anydbm.py:871:884 #: ../roundup/backends/rdbms_common.py:1708 #: ../roundup/backends/rdbms_common.py:1955 @@ -1289,7 +1374,7 @@ #: ../roundup/backends/rdbms_common.py:2267 #: ../roundup/backends/rdbms_common.py:3219 #: ../roundup/backends/rdbms_common.py:1708:1955 :1158:1193 :1422:1440:1487 -#: :2117 :2194:2214 :2267:3219 +#: :2113 :2194:2214 :2267:3219 msgid "Database open read-only" msgstr "" @@ -1535,14 +1620,6 @@ msgid "Edit Error: %s" msgstr "編輯錯誤:%s" -# ../roundup/cgi/actions.py:549 :559 :730 :749 -#: ../roundup/cgi/actions.py:886 ../roundup/cgi/actions.py:897 -#: ../roundup/cgi/actions.py:1099 ../roundup/cgi/actions.py:1113 -#: ../roundup/cgi/actions.py:886:897 :1099:1113 -#, python-format -msgid "Error: %s" -msgstr "錯誤:%s" - #: ../roundup/cgi/actions.py:931 msgid "" "Invalid One Time Key!\n" @@ -1791,8 +1868,8 @@ "</body></html>" msgstr "" -#: ../roundup/cgi/client.py:670 ../roundup/cgi/client.py:1570 -#: ../roundup/cgi/client.py:670:1570 +#: ../roundup/cgi/client.py:670 ../roundup/cgi/client.py:1567 +#: ../roundup/cgi/client.py:670:1567 msgid "Required Header Missing" msgstr "" @@ -1801,146 +1878,146 @@ msgid "Client is not allowed to use Rest Interface." msgstr "匿名用戶不允許使用web界面" -#: ../roundup/cgi/client.py:921 +#: ../roundup/cgi/client.py:918 msgid "Form Error: " msgstr "表格錯誤:" -#: ../roundup/cgi/client.py:1011 +#: ../roundup/cgi/client.py:1008 #, python-format msgid "Unrecognized charset: %r" msgstr "無法識別的字符集:%r" -#: ../roundup/cgi/client.py:1264 ../roundup/cgi/client.py:2250 -#: ../roundup/cgi/client.py:1264:2250 +#: ../roundup/cgi/client.py:1261 ../roundup/cgi/client.py:2247 +#: ../roundup/cgi/client.py:1261:2247 msgid "broken form: multiple @action values submitted" msgstr "" -#: ../roundup/cgi/client.py:1279 +#: ../roundup/cgi/client.py:1276 msgid "Anonymous users are not allowed to use the web interface" msgstr "匿名用戶不允許使用web界面" -#: ../roundup/cgi/client.py:1430 +#: ../roundup/cgi/client.py:1427 msgid "Referer header not available." msgstr "" -#: ../roundup/cgi/client.py:1434 +#: ../roundup/cgi/client.py:1431 #, python-format msgid "csrf key used with wrong method from: %s" msgstr "" -#: ../roundup/cgi/client.py:1463 +#: ../roundup/cgi/client.py:1460 #, python-format msgid "csrf header %(header)s required but missing for user%(userid)s." msgstr "" -#: ../roundup/cgi/client.py:1467 +#: ../roundup/cgi/client.py:1464 #, python-format msgid "Missing header: %s" msgstr "" -#: ../roundup/cgi/client.py:1475 +#: ../roundup/cgi/client.py:1472 #, python-format msgid "csrf Referer header check failed for user%(userid)s. Value=%(referer)s" msgstr "" -#: ../roundup/cgi/client.py:1480 +#: ../roundup/cgi/client.py:1477 #, fuzzy, python-format msgid "Invalid Referer: %s" msgstr "無效登錄" -#: ../roundup/cgi/client.py:1495 +#: ../roundup/cgi/client.py:1492 #, python-format msgid "csrf Origin header check failed for user%(userid)s. Value=%(origin)s" msgstr "" -#: ../roundup/cgi/client.py:1500 +#: ../roundup/cgi/client.py:1497 #, fuzzy, python-format msgid "Invalid Origin %s" msgstr "無效登錄" -#: ../roundup/cgi/client.py:1514 +#: ../roundup/cgi/client.py:1511 #, python-format msgid "" "csrf X-FORWARDED-HOST header check failed for user%(userid)s. Value=%(host)s" msgstr "" -#: ../roundup/cgi/client.py:1520 +#: ../roundup/cgi/client.py:1517 #, python-format msgid "Invalid X-FORWARDED-HOST %s" msgstr "" -#: ../roundup/cgi/client.py:1539 +#: ../roundup/cgi/client.py:1536 #, python-format msgid "csrf HOST header check failed for user%(userid)s. Value=%(host)s" msgstr "" -#: ../roundup/cgi/client.py:1544 +#: ../roundup/cgi/client.py:1541 #, python-format msgid "Invalid HOST %s" msgstr "" -#: ../roundup/cgi/client.py:1552 +#: ../roundup/cgi/client.py:1549 msgid "Csrf: unable to verify sufficient headers" msgstr "" -#: ../roundup/cgi/client.py:1553 +#: ../roundup/cgi/client.py:1550 msgid "Unable to verify sufficient headers" msgstr "" -#: ../roundup/cgi/client.py:1567 +#: ../roundup/cgi/client.py:1564 #, python-format msgid "csrf X-REQUESTED-WITH xmlrpc required header check failed for user%s." msgstr "" -#: ../roundup/cgi/client.py:1608 +#: ../roundup/cgi/client.py:1605 #, python-format msgid "Required csrf field missing for user%s" msgstr "" -#: ../roundup/cgi/client.py:1610 ../roundup/cgi/client.py:1637 -#: ../roundup/cgi/client.py:1654 ../roundup/cgi/client.py:1610:1637:1654 +#: ../roundup/cgi/client.py:1607 ../roundup/cgi/client.py:1634 +#: ../roundup/cgi/client.py:1651 ../roundup/cgi/client.py:1607:1634:1651 msgid "" "We can't validate your session (csrf failure). Re-enter any unsaved data and " "try again." msgstr "" -#: ../roundup/cgi/client.py:1614 +#: ../roundup/cgi/client.py:1611 #, python-format msgid "csrf field not supplied by user%s" msgstr "" -#: ../roundup/cgi/client.py:1626 +#: ../roundup/cgi/client.py:1623 #, 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:1644 +#: ../roundup/cgi/client.py:1641 #, 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:1838 +#: ../roundup/cgi/client.py:1835 #, fuzzy msgid "You are not allowed to view this file." msgstr "你不允許查看此頁" -#: ../roundup/cgi/client.py:2127 +#: ../roundup/cgi/client.py:2124 #, python-format msgid "%(starttag)sTime elapsed: %(seconds)fs%(endtag)s\n" msgstr "" -#: ../roundup/cgi/client.py:2131 +#: ../roundup/cgi/client.py:2128 #, 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:2669 +#: ../roundup/cgi/client.py:2666 #, python-format msgid "" "Cache failure: compressed file %(compressed)s is older than its source file " @@ -2129,16 +2206,16 @@ msgid "<option %svalue=\"-1\">- no selection -</option>" msgstr "<option %svalue=\"-1\">- 未選擇 -</option>" -#: ../roundup/cgi/timestamp.py:19 +#: ../roundup/cgi/timestamp.py:23 msgid "Form is corrupted." msgstr "" -#: ../roundup/cgi/timestamp.py:28 +#: ../roundup/cgi/timestamp.py:32 #, python-format msgid "Form is corrupted, missing: %s." msgstr "" -#: ../roundup/cgi/timestamp.py:30 +#: ../roundup/cgi/timestamp.py:34 msgid "Responding to form too quickly." msgstr "" @@ -2279,54 +2356,54 @@ msgid "in %s" msgstr "在 %s" -#: ../roundup/hyperdb.py:119 +#: ../roundup/hyperdb.py:120 #, fuzzy, python-format msgid "property %(property)s: %(errormsg)s" msgstr "錯誤:%s: %s" -#: ../roundup/hyperdb.py:148 +#: ../roundup/hyperdb.py:149 #, python-format msgid "property %(property)s: %(value)r is an invalid date (%(errormsg)s)" msgstr "" -#: ../roundup/hyperdb.py:171 +#: ../roundup/hyperdb.py:172 #, python-format msgid "" "property %(property)s: %(value)r is an invalid date interval (%(errormsg)s)" msgstr "" -#: ../roundup/hyperdb.py:428 +#: ../roundup/hyperdb.py:429 #, fuzzy, python-format msgid "property %(property)s: %(value)r is not a number" msgstr "屬性 \"%(propname)s\": \"%(value)s\" 當前不在列表中" -#: ../roundup/hyperdb.py:442 +#: ../roundup/hyperdb.py:443 #, fuzzy, python-format msgid "property %(property)s: %(value)r is not an integer" msgstr "屬性 \"%(propname)s\": \"%(value)s\" 當前不在列表中" -#: ../roundup/hyperdb.py:464 +#: ../roundup/hyperdb.py:465 #, python-format msgid "\"%s\" not a node designator" msgstr "" -#: ../roundup/hyperdb.py:1493 ../roundup/hyperdb.py:1501 -#: ../roundup/hyperdb.py:1493:1501 +#: ../roundup/hyperdb.py:1494 ../roundup/hyperdb.py:1502 +#: ../roundup/hyperdb.py:1494:1502 #, fuzzy, python-format msgid "Not a property name: %s" msgstr "不是日期格式:%s" -#: ../roundup/hyperdb.py:1978 +#: ../roundup/hyperdb.py:1979 #, fuzzy, python-format msgid "property %(property)s: %(value)r is not a %(classname)s." msgstr "屬性 \"%(propname)s\": \"%(value)s\" 當前不在列表中" -#: ../roundup/hyperdb.py:1984 +#: ../roundup/hyperdb.py:1985 #, python-format msgid "you may only enter ID values for property %s" msgstr "" -#: ../roundup/hyperdb.py:2019 +#: ../roundup/hyperdb.py:2020 #, python-format msgid "%(property)r is not a property of %(classname)s" msgstr "" @@ -2573,116 +2650,116 @@ msgid "Method %(m)s not allowed. Allowed: %(a)s" msgstr "" -#: ../roundup/rest.py:1097 +#: ../roundup/rest.py:1101 #, fuzzy, python-format msgid "Invalid attribute %s" msgstr "無效登錄" -#: ../roundup/rest.py:2090 +#: ../roundup/rest.py:2094 #, python-format msgid "Api rate limits exceeded. Please wait: %s seconds." msgstr "" -#: ../roundup/rest.py:2125 +#: ../roundup/rest.py:2129 #, python-format msgid "" "Unable to parse Accept Header. %(error)s. Acceptable types: " "%(acceptable_types)s" msgstr "" -#: ../roundup/rest.py:2305 +#: ../roundup/rest.py:2309 #, python-format msgid "" "Unrecognized api version: %s. See /rest without specifying api version for " "supported versions." msgstr "" -#: ../roundup/roundupdb.py:139 +#: ../roundup/roundupdb.py:140 #, python-format msgid "Username '%s' already exists." msgstr "" -#: ../roundup/roundupdb.py:223 +#: ../roundup/roundupdb.py:224 msgid "files" msgstr "文件" -#: ../roundup/roundupdb.py:223 +#: ../roundup/roundupdb.py:224 msgid "messages" msgstr "信息" -#: ../roundup/roundupdb.py:223 +#: ../roundup/roundupdb.py:224 msgid "nosy" msgstr "雜事" -#: ../roundup/roundupdb.py:223 +#: ../roundup/roundupdb.py:224 msgid "superseder" msgstr "延期" -#: ../roundup/roundupdb.py:223 +#: ../roundup/roundupdb.py:224 msgid "title" msgstr "標題" -#: ../roundup/roundupdb.py:224 +#: ../roundup/roundupdb.py:225 msgid "assignedto" msgstr "分配給" -#: ../roundup/roundupdb.py:224 +#: ../roundup/roundupdb.py:225 #, fuzzy msgid "keyword" msgstr "關鍵字" -#: ../roundup/roundupdb.py:224 +#: ../roundup/roundupdb.py:225 msgid "priority" msgstr "優先級" -#: ../roundup/roundupdb.py:224 +#: ../roundup/roundupdb.py:225 msgid "status" msgstr "狀態" -#: ../roundup/roundupdb.py:227 +#: ../roundup/roundupdb.py:228 msgid "activity" msgstr "活躍度" #. following properties are common for all hyperdb classes #. they are listed here to keep things in one place -#: ../roundup/roundupdb.py:227 +#: ../roundup/roundupdb.py:228 msgid "actor" msgstr "執行人" -#: ../roundup/roundupdb.py:227 +#: ../roundup/roundupdb.py:228 msgid "creation" msgstr "建立" -#: ../roundup/roundupdb.py:227 +#: ../roundup/roundupdb.py:228 msgid "creator" msgstr "建立者" -#: ../roundup/roundupdb.py:425 +#: ../roundup/roundupdb.py:426 #, python-format msgid "No key for \"%(adr)s\" in keyring" msgstr "" -#: ../roundup/roundupdb.py:503 +#: ../roundup/roundupdb.py:504 #, python-format msgid "New submission from %(authname)s%(authaddr)s:" msgstr "" -#: ../roundup/roundupdb.py:506 +#: ../roundup/roundupdb.py:507 #, python-format msgid "%(authname)s%(authaddr)s added the comment:" msgstr "" -#: ../roundup/roundupdb.py:509 +#: ../roundup/roundupdb.py:510 #, python-format msgid "Change by %(authname)s%(authaddr)s:" msgstr "" -#: ../roundup/roundupdb.py:528 +#: ../roundup/roundupdb.py:529 #, python-format msgid "File '%(filename)s' not attached - you can download it from %(link)s." msgstr "" -#: ../roundup/roundupdb.py:903 +#: ../roundup/roundupdb.py:904 #, python-format msgid "" "\n" @@ -2692,12 +2769,12 @@ "%(old)s" msgstr "" -#: ../roundup/scripts/roundup_demo.py:49 +#: ../roundup/scripts/roundup_demo.py:156 #, python-format msgid "Enter directory path to create demo tracker [%s]: " msgstr "輸入目錄來建立演示tracker [%s]:" -#: ../roundup/scripts/roundup_demo.py:54 +#: ../roundup/scripts/roundup_demo.py:162 #, python-format msgid "" "Enter tracker template to use (one of (%(template_list)s)) " @@ -2790,23 +2867,23 @@ msgid "User %(user)s doesn't exist" msgstr "用戶 %(user)s 不存在" -#: ../roundup/scripts/roundup_server.py:805 +#: ../roundup/scripts/roundup_server.py:809 #, python-format msgid "Multiprocess mode \"%s\" is not available, switching to single-process" msgstr "" -#: ../roundup/scripts/roundup_server.py:832 +#: ../roundup/scripts/roundup_server.py:837 #, python-format msgid "Unable to bind to port %s, port already in use." msgstr "無法綁定到端口 %s, 端口已經被佔用。" -#: ../roundup/scripts/roundup_server.py:836 +#: ../roundup/scripts/roundup_server.py:841 #, 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:915 +#: ../roundup/scripts/roundup_server.py:920 #, fuzzy msgid "" " -c <Command> Windows Service options.\n" @@ -2823,7 +2900,7 @@ " 變量上配置一個tracker。這個選項與其經選項是互斥的。打入\n" " \"roundup-server -c help\" 來瞭解Windows服務的規範。" -#: ../roundup/scripts/roundup_server.py:922 +#: ../roundup/scripts/roundup_server.py:927 msgid "" " -u <UID> runs the Roundup web server as this UID\n" " -g <GID> runs the Roundup web server as this GID\n" @@ -2837,7 +2914,7 @@ "去。\n" " 如果使用了 -d 選項,則 -l 選項 *必須* 要指定。" -#: ../roundup/scripts/roundup_server.py:929 +#: ../roundup/scripts/roundup_server.py:934 #, fuzzy, python-format msgid "" "\n" @@ -2858,6 +2935,8 @@ " -N log client machine names instead of IP addresses (much " "slower)\n" " -i <fname> set tracker index template\n" +" -m <children> maximum number of children to spawn in fork multiprocess " +"mode\n" " -s enable SSL\n" " -L http request logging uses python logging (roundup.http)\n" " -e <fname> PEM file containing SSL key and certificate\n" @@ -2933,20 +3012,20 @@ " 意數量的 name=home 對。要確保 name 部分不能包括任何非url安全的\n" " 字符,像空格,因為它們會把IE搞亂。\n" -#: ../roundup/scripts/roundup_server.py:1105 +#: ../roundup/scripts/roundup_server.py:1111 msgid "Instances must be name=home" msgstr "實例必須是 實例名=實例路徑" -#: ../roundup/scripts/roundup_server.py:1119 +#: ../roundup/scripts/roundup_server.py:1125 #, python-format msgid "Configuration saved to %s" msgstr "配置保存到 %s" -#: ../roundup/scripts/roundup_server.py:1137 +#: ../roundup/scripts/roundup_server.py:1143 msgid "Sorry, you can't run the server as a daemon on this Operating System" msgstr "抱歉,在這個操作系統上不能以守護進程的方式來運行服務" -#: ../roundup/scripts/roundup_server.py:1157 +#: ../roundup/scripts/roundup_server.py:1163 #, python-format msgid "Roundup server started on %(HOST)s:%(PORT)s" msgstr "Roundup server 啟動於 %(HOST)s:%(PORT)s" @@ -5409,6 +5488,21 @@ msgstr "登錄口令" #, fuzzy +#~ msgid "" +#~ "Usage: security [Role name]\n" +#~ "\n" +#~ " Display the Permissions available to one or all Roles.\n" +#~ " " +#~ msgstr "" +#~ "用法:security [角色名]\n" +#~ " 顯示一個或多個角色的權限。\n" +#~ " " + +# ../roundup/admin.py:1279 :1285 :1305 +#~ msgid "Error: %(message)s" +#~ msgstr "錯誤:%(message)s" + +#, fuzzy #~ msgid "Tracker updated" #~ msgstr "Tracker根目錄"
