Index: messages.po
===================================================================
--- messages.po	(版本 8267)
+++ messages.po	(工作副本)
@@ -3,128 +3,172 @@
 # This file is distributed under the same license as the Trac project.
 # Jeroen Ruigrok van der Werven <asmodai@in-nomine.org>, 2007.
 #
-#, fuzzy
 msgid ""
 msgstr ""
 "Project-Id-Version: Trac 0.12\n"
 "Report-Msgid-Bugs-To: trac-dev@googlegroups.com\n"
 "POT-Creation-Date: 2007-06-23 15:38+0200\n"
-"PO-Revision-Date: 2008-06-28 21:56+0200\n"
-"Last-Translator: Jeroen Ruigrok van der Werven <asmodai@in-nomine.org>\n"
+"PO-Revision-Date: 2009-06-15 09:51+0800\n"
+"Last-Translator: Zeng Jie <zengjie@gmail.com>\n"
 "Language-Team: zh_CN <trac-dev@googlegroups.com>\n"
 "Plural-Forms: nplurals=1; plural=0\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=utf-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"Generated-By: Babel 1.0dev-r404\n"
+"Generated-By: Babel 0.9.2\n"
 
-#: trac/about.py:43 trac/templates/about.html:9 trac/templates/about.html:26
+#: trac/about.py:43 trac/templates/about.html:9 trac/templates/about.html:28
 msgid "About Trac"
 msgstr "鍏充簬Trac"
 
-#: trac/attachment.py:144
+#: trac/attachment.py:149
 #, python-format
 msgid "Attachment '%(title)s' does not exist."
 msgstr "闄勪欢 '%(title)s' 涓嶅瓨鍦."
 
-#: trac/attachment.py:145
+#: trac/attachment.py:150
 msgid "Invalid Attachment"
 msgstr "鏃犳晥闄勪欢"
 
-#: trac/attachment.py:187
+#: trac/attachment.py:192
 msgid "Could not delete attachment"
 msgstr "涓嶈兘鍒犻櫎闄勪欢"
 
-#: trac/attachment.py:291
+#: trac/attachment.py:298
 #, python-format
 msgid "Attachment '%(filename)s' not found"
 msgstr "娌℃湁鎵惧埌鏂囦欢鍚嶄负 '%(filename)s' 鐨勯檮浠"
 
-#: trac/attachment.py:365
+#: trac/attachment.py:372
 msgid "Bad request"
 msgstr "閿欒璇锋眰"
 
-#: trac/attachment.py:382
+#: trac/attachment.py:389
 #, python-format
 msgid "Back to %(parent)s"
 msgstr "杩斿洖 %(parent)s"
 
-#: trac/attachment.py:474
+#: trac/attachment.py:481
 msgid " attached to "
-msgstr "闄勫姞 "
+msgstr "闄勫姞鍒"
 
-#: trac/attachment.py:513
+#: trac/attachment.py:542
 #, python-format
 msgid "Attachment '%(id)s' in %(parent)s"
-msgstr "闄勪欢 '%(id)s' 鍦 %(parent)s 涓"
+msgstr "鍦 %(parent)s 涓殑闄勪欢 '%(id)s'"
 
-#: trac/attachment.py:516
+#: trac/attachment.py:545
 #, python-format
 msgid "Attachments of %(parent)s"
 msgstr "鍦 %(parent)s 涓殑闄勪欢"
 
-#: trac/attachment.py:529 trac/attachment.py:552 trac/admin/web_ui.py:403
-#: trac/admin/web_ui.py:406 trac/admin/web_ui.py:410
+#: trac/attachment.py:558 trac/attachment.py:581 trac/admin/web_ui.py:428
+#: trac/admin/web_ui.py:431 trac/admin/web_ui.py:435
 msgid "No file uploaded"
-msgstr "娌℃湁涓婁紶鏂囦欢"
+msgstr "娌℃湁鏂囦欢琚笂浼"
 
-#: trac/attachment.py:537
+#: trac/attachment.py:566
 msgid "Can't upload empty file"
 msgstr "涓嶈兘涓婁紶绌烘枃浠"
 
-#: trac/attachment.py:542
+#: trac/attachment.py:571
 #, python-format
 msgid "Maximum attachment size: %(num)s bytes"
 msgstr "闄勪欢鐨勬渶澶у昂瀵镐负: %(num)s 瀛楄妭"
 
-#: trac/attachment.py:543
+#: trac/attachment.py:572
 msgid "Upload failed"
 msgstr "涓婁紶澶辫触"
 
-#: trac/attachment.py:564
+#: trac/attachment.py:593
 #, python-format
 msgid "Attachment field %(field)s is invalid: %(message)s"
 msgstr "闄勪欢瀛楁 %(field)s 鏃犳晥: %(message)s"
 
-#: trac/attachment.py:568
+#: trac/attachment.py:597
 #, python-format
 msgid "Invalid attachment: %(message)s"
 msgstr "鏃犳晥闄勪欢: %(message)s"
 
-#: trac/attachment.py:602
+#: trac/attachment.py:634
 #, python-format
 msgid "%(attachment)s (delete)"
 msgstr "%(attachment)s (鍒犻櫎)"
 
-#: trac/attachment.py:664 trac/versioncontrol/web_ui/browser.py:511
-#: trac/wiki/web_ui.py:66
+#: trac/attachment.py:696 trac/versioncontrol/web_ui/browser.py:510
+#: trac/wiki/web_ui.py:70
 msgid "Plain Text"
 msgstr "绾枃鏈"
 
-#: trac/attachment.py:670 trac/versioncontrol/web_ui/browser.py:516
+#: trac/attachment.py:702 trac/versioncontrol/web_ui/browser.py:515
 msgid "Original Format"
 msgstr "鍘熷鏍煎紡"
 
-#: trac/env.py:404
-msgid "Can only backup sqlite databases"
-msgstr "鍙兘澶囦唤sqlite鏁版嵁搴"
+#: trac/attachment.py:744 trac/attachment.py:750 trac/templates/macros.html:164
+#: trac/templates/macros.html:165 trac/ticket/templates/ticket.html:58
+#: trac/ticket/templates/ticket.html:59
+msgid "Download"
+msgstr "涓嬭浇"
 
-#: trac/env.py:489
+#: trac/attachment.py:844
+#, python-format
+msgid "Invalid resource identifier '%(id)s'"
+msgstr "璧勬簮鏍囩ず绗'%(id)s'鏃犳晥"
+
+#: trac/attachment.py:880 trac/admin/templates/admin_components.html:80
+#: trac/admin/templates/admin_enums.html:47
+#: trac/admin/templates/admin_milestones.html:103
+#: trac/admin/templates/admin_versions.html:77 trac/templates/about.html:68
+#: trac/templates/error.html:166 trac/ticket/admin.py:201
+#: trac/ticket/admin.py:390 trac/ticket/admin.py:547
+msgid "Name"
+msgstr "鍚嶇О"
+
+#: trac/attachment.py:880
+msgid "Size"
+msgstr "澶у皬"
+
+#: trac/attachment.py:880 trac/templates/history_view.html:28
+#: trac/versioncontrol/templates/revisionlog.html:96
+msgid "Author"
+msgstr "浣滆"
+
+#: trac/attachment.py:880 trac/templates/history_view.html:27
+#: trac/versioncontrol/templates/revisionlog.html:95
+msgid "Date"
+msgstr "鏃ユ湡"
+
+#: trac/attachment.py:881 trac/templates/attachment.html:86
+#: trac/ticket/api.py:214 trac/ticket/templates/ticket.html:173
+msgid "Description"
+msgstr "鎻忚堪"
+
+#: trac/attachment.py:906 trac/wiki/admin.py:74
+#, python-format
+msgid "File '%(name)s' exists"
+msgstr "鏂囦欢 '%(name)s' 宸茬粡瀛樺湪."
+
+#: trac/config.py:331
+#, python-format
+msgid "[%(section)s] %(entry)s: expected integer, got %(value)s"
+msgstr "[%(section)s] %(entry)s: 鏈熸湜鏄暣鏁, 鍗村緱鍒 %(value)s"
+
+#: trac/env.py:506
 msgid "Database newer than Trac version"
 msgstr "鏁版嵁搴撶殑鐗堟湰姣擳rac浣跨敤鐨勭増鏈柊"
 
-#: trac/env.py:501
+#: trac/env.py:518
 #, python-format
 msgid "No upgrade module for version %(num)i (%(version)s.py)"
-msgstr "娌℃湁鐗堟湰涓 %(num)i 鐨勫崌绾фā鍧 (%(version)s.py)"
+msgstr "鐗堟湰%(num)i 娌℃湁鍗囩骇妯″潡 (%(version)s.py)"
 
-#: trac/env.py:546
+#: trac/env.py:563
 msgid ""
 "Missing environment variable \"TRAC_ENV\". Trac requires this variable to"
 " point to a valid Trac environment."
 msgstr "娌℃湁鐜鍙橀噺\"TRAC_ENV\". Trac瑕佹眰浣跨敤璇ュ彉閲忎互鎸囧悜涓涓湁鏁堢殑Trac鐜."
 
-#: trac/env.py:578
+#: trac/env.py:595
 #, python-format
 msgid ""
 "The Trac Environment needs to be upgraded.\n"
@@ -133,164 +177,474 @@
 msgstr ""
 "Trac鐜闇瑕佸崌绾.\n"
 "\n"
-"鎵ц\"trac-admin %(path)s upgrade\""
+"璇锋墽琛孿"trac-admin %(path)s upgrade\""
 
-#: trac/notification.py:216
+#: trac/env.py:629
+msgid "Copying resources from:"
+msgstr "Copying resources from:"
+
+#: trac/env.py:645
+msgid "Creating scripts."
+msgstr "Creating scripts."
+
+#: trac/env.py:662
 #, python-format
+msgid "hotcopy can't overwrite existing '%(dest)s'"
+msgstr "鐑鏃犳硶瑕嗙洊宸插瓨鍦ㄧ殑 '%(dest)s'"
+
+#: trac/env.py:672
+#, python-format
+msgid "Hotcopying %(src)s to %(dst)s ..."
+msgstr "Hotcopying %(src)s to %(dst)s ..."
+
+#: trac/env.py:687
+msgid "The following errors happened while copying the environment:"
+msgstr "The following errors happened while copying the environment:"
+
+#: trac/env.py:698
+msgid "Hotcopy done."
+msgstr "鐑缁撴潫銆"
+
+#: trac/env.py:703 trac/admin/api.py:126
+msgid "Invalid arguments"
+msgstr "鏃犳晥鍙傛暟"
+
+#: trac/env.py:706
+msgid "Database is up to date, no upgrade necessary."
+msgstr "Database is up to date, no upgrade necessary."
+
+#: trac/env.py:714
+#, python-format
+msgid ""
+"Backup failed with '%(msg)s'.\n"
+"Use '--no-backup' to upgrade without doing a backup."
+msgstr ""
+"Backup failed with '%(msg)s'.\n"
+"Use '--no-backup' to upgrade without doing a backup."
+
+#: trac/env.py:719
+msgid "Upgrade done."
+msgstr "Upgrade done."
+
+#: trac/notification.py:155
+msgid "TLS enabled but server does not support TLS"
+msgstr "鍚敤浜員LS, 浣嗘槸鏈嶅姟鍣ㄥ苟涓嶆敮鎸乀LS"
+
+#: trac/notification.py:304
+#, python-format
 msgid "Invalid email encoding setting: %s"
 msgstr "鏃犳晥鐨別mail缂栫爜璁剧疆: %s"
 
-#: trac/notification.py:248
+#: trac/notification.py:330
 msgid "Header length is too short"
 msgstr "Header闀垮害杩囩煭"
 
-#: trac/notification.py:318
-msgid "TLS enabled but server does not support TLS"
-msgstr "鍚敤浜員LS, 浣嗘槸鏈嶅姟鍣ㄥ苟涓嶆敮鎸乀LS"
-
-#: trac/notification.py:390
-msgid "Ticket contains non-ASCII chars. Please change encoding setting"
-msgstr "浼犵エ鍖呭惈闈濧SCII瀛楃. 璇蜂慨鏀圭紪鐮佽缃"
-
-#: trac/perm.py:47
+#: trac/perm.py:49
 #, python-format
 msgid "%(perm)s privileges are required to perform this operation on %(resource)s"
 msgstr "瀵 %(resource)s 鎵ц鐨勬搷浣滈渶瑕 %(perm)s 鏉冮檺"
 
-#: trac/perm.py:49
+#: trac/perm.py:51
 #, python-format
 msgid "%(perm)s privileges are required to perform this operation"
 msgstr "鎵ц璇ユ搷浣滈渶瑕 %(perm)s 鏉冮檺"
 
-#: trac/perm.py:52
+#: trac/perm.py:54
 msgid "Insufficient privileges to perform this operation."
 msgstr "娌℃湁瓒冲鐨勬潈闄愭墽琛岃鎿嶄綔."
 
-#: trac/perm.py:318
+#: trac/perm.py:320
 #, python-format
 msgid "%(name)s is not a valid action."
 msgstr "%(name)s 鏄棤鏁堝姩浣."
 
+#: trac/perm.py:616
+msgid "User"
+msgstr "鐢ㄦ埛"
+
+#: trac/perm.py:616 trac/admin/templates/admin_perms.html:69
+#: trac/ticket/templates/ticket.html:379
+msgid "Action"
+msgstr "鍔ㄤ綔"
+
+#: trac/perm.py:618
+msgid "Available actions:"
+msgstr "鍙夊姩浣: "
+
+#: trac/perm.py:631
+msgid "Group names must be in lower case and actions in upper case"
+msgstr "缁勫悕蹇呴』灏忓啓锛岃屽姩浣滃悕蹇呴』澶у啓"
+
 #: trac/resource.py:329
 #, python-format
 msgid " at version %(version)s"
 msgstr "浜庣増鏈 %(version)s"
 
-#: trac/admin/console.py:1143
+#: trac/admin/api.py:130
+msgid "Command not found"
+msgstr "鍛戒护鏃犳硶鎵惧埌"
+
+#: trac/admin/console.py:81 trac/ticket/templates/report_edit.html:34
+msgid "Error:"
+msgstr "閿欒:"
+
+#: trac/admin/console.py:99
 #, python-format
-msgid "hotcopy can't overwrite existing '%(dest)s'"
-msgstr "鐑鏃犳硶瑕嗗啓宸辨湁鐨 '%(dest)s'"
+msgid ""
+"Welcome to trac-admin %(version)s\n"
+"Interactive Trac administration console.\n"
+"Copyright (c) 2003-2009 Edgewall Software\n"
+"\n"
+"Type:  '?' or 'help' for help on commands.\n"
+"        "
+msgstr ""
+"娆㈣繋浣跨敤 trac-admin %(version)s\n"
+"浜や簰寮廡rac绠＄悊鎺у埗鍙般俓n"
+"Copyright (c) 2003-2009 Edgewall Software\n"
+"\n"
+"杈撳叆 '?' 鎴 'help' 鑾峰彇鍛戒护甯姪"
 
-#: trac/admin/web_ui.py:66
+#: trac/admin/console.py:131
+msgid "Failed to open environment."
+msgstr "鎵撳紑鐜澶辫触銆"
+
+#: trac/admin/console.py:198
+msgid "Completion error:"
+msgstr "鑷姩瀹屾垚閿欒:"
+
+#: trac/admin/console.py:249
+#, python-format
+msgid "No documentation found for '%(cmd)s'"
+msgstr "娌℃湁鎵惧埌 '%(cmd)s' 鐨勬枃妗"
+
+#: trac/admin/console.py:251
+#, python-format
+msgid "trac-admin - The Trac Administration Console %(version)s"
+msgstr "trac-admin - Trac绠＄悊鎺у埗鍙 %(version)s"
+
+#: trac/admin/console.py:255
+msgid "Usage: trac-admin </path/to/projenv> [command [subcommand] [option ...]]\n"
+msgstr "鐢ㄦ硶: trac-admin </path/to/projenv> [command [subcommand] [option ...]]\n"
+
+#: trac/admin/console.py:258
+msgid "Invoking trac-admin without command starts interactive mode.\n"
+msgstr "涓嶅甫鍛戒护璋冪敤trac-admin灏嗗惎鍔ㄤ氦浜掓ā寮忋"
+
+#: trac/admin/console.py:296
+#, python-format
+msgid "Creating a new Trac environment at %(envname)s"
+msgstr "鍦%(envname)s澶勫垱寤轰竴涓柊鐨凾rac鐜"
+
+#: trac/admin/console.py:298
+msgid ""
+"\n"
+"Trac will first ask a few questions about your environment \n"
+"in order to initialize and prepare the project database.\n"
+"\n"
+" Please enter the name of your project.\n"
+" This name will be used in page titles and descriptions.\n"
+msgstr ""
+"Trac鍏堣璇㈤棶涓浜涘拰鐜鐩稿叧鐨勯棶棰橈紝浠ュ垵濮嬪寲鍜屽噯澶囬」鐩暟鎹簱銆俓n"
+"\n"
+"璇疯緭鍏ユ偍椤圭洰鐨勫悕绉般俓n"
+"姝ゅ悕绉板皢鍦ㄩ〉闈㈡爣棰樺拰鎻忚堪涓娇鐢ㄣ"
+
+#: trac/admin/console.py:306
+#, python-format
+msgid "Project Name [%(default)s]> "
+msgstr "椤圭洰鍚嶇О [%(default)s]> "
+
+#: trac/admin/console.py:308
+msgid ""
+" \n"
+" Please specify the connection string for the database to use.\n"
+" By default, a local SQLite database is created in the environment\n"
+" directory. It is also possible to use an already existing\n"
+" PostgreSQL database (check the Trac documentation for the exact\n"
+" connection string syntax).\n"
+msgstr ""
+"璇锋寚瀹氭墍鐢ㄦ暟鎹簱鐨勮繛鎺ュ瓧绗︿覆銆傜己鐪佹儏鍐典笅锛孿n"
+"灏嗗湪鐜鐩綍涓垱寤轰竴涓湰鍦癝QLite鏁版嵁搴撱俓n"
+"浣跨敤涓涓凡瀛樺湪鐨凱ostgreSQL鏁版嵁搴撲篃鏄彲琛岀殑\n"
+"(鍏蜂綋鐨勮繛鎺ュ瓧绗︿覆璇硶璇锋煡鐪婽rac鏂囨。)銆"
+
+#: trac/admin/console.py:316
+#, python-format
+msgid "Database connection string [%(default)s]> "
+msgstr "鏁版嵁搴撹繛鎺ュ瓧绗︿覆 [%(default)s]> "
+
+#: trac/admin/console.py:318
+msgid ""
+" \n"
+" Please specify the type of version control system,\n"
+" By default, it will be svn.\n"
+"\n"
+" If you don't want to use Trac with version control integration,\n"
+" choose the default here and don't specify a repository directory.\n"
+" in the next question.\n"
+msgstr ""
+"璇锋寚瀹氱増鏈帶鍒剁郴缁熺殑绫诲瀷锛岀己鐪佷娇鐢╯vn銆俓n"
+"\n"
+"濡傛灉鎮ㄤ笉鎯充娇鐢═rac涓庣増鏈帶鍒剁郴缁熺殑闆嗘垚锛孿n"
+"璇峰湪姝ら夋嫨缂虹渷鍊硷紝骞跺湪涓嬩竴涓棶棰樹腑涓嶈\n"
+"鎸囧畾鐗堟湰搴撶洰褰曘"
+
+#: trac/admin/console.py:327
+#, python-format
+msgid "Repository type [%(default)s]> "
+msgstr "鐗堟湰搴撶被鍨 [%(default)s]> "
+
+#: trac/admin/console.py:329
+msgid ""
+"\n"
+" Please specify the absolute path to the version control\n"
+" repository, or leave it blank to use Trac without a repository.\n"
+" You can also set the repository location later.\n"
+msgstr ""
+"璇锋寚瀹氱増鏈帶鍒跺簱鐨勭粷瀵硅矾寰勶紝鎴栬呬笉杈撳叆\n"
+"琛ㄦ槑鍦ㄦ棤鐗堟湰搴撴ā寮忎笅浣跨敤Trac銆俓n"
+"鎮ㄤ篃鍙互鍦ㄤ互鍚庡啀鎸囧畾鐗堟湰搴撲綅缃"
+
+#: trac/admin/console.py:334
+msgid "Path to repository [/path/to/repos]> "
+msgstr "鐗堟湰搴撹矾寰 [/path/to/repos]> "
+
+#: trac/admin/console.py:341
+#, python-format
+msgid "Initenv for '%(env)s' failed."
+msgstr "瀵'%(env)s' 鎵ц initenv 澶辫触銆"
+
+#: trac/admin/console.py:370
+msgid "Creating and Initializing Project"
+msgstr "鍒涘缓鍜屽垵濮嬪寲椤圭洰"
+
+#: trac/admin/console.py:389
+msgid " Installing default wiki pages"
+msgstr " 瀹夎缂虹渷Wiki椤"
+
+#: trac/admin/console.py:400
+msgid " Indexing repository"
+msgstr " 寤虹珛鐗堟湰搴撶储寮"
+
+#: trac/admin/console.py:403
+msgid ""
+"\n"
+"---------------------------------------------------------------------\n"
+"Warning: couldn't index the repository.\n"
+"\n"
+"This can happen for a variety of reasons: wrong repository type, \n"
+"no appropriate third party library for this repository type,\n"
+"no actual repository at the specified repository path...\n"
+"\n"
+"You can nevertheless start using your Trac environment, but \n"
+"you'll need to check again your trac.ini file and the [trac] \n"
+"repository_type and repository_path settings in order to enable\n"
+"the Trac repository browser.\n"
+msgstr ""
+"璀﹀憡锛氭棤娉曞缓绔嬬増鏈簱绱㈠紩銆俓n"
+"\n"
+"鍙戠敓杩欑鎯呭喌鐨勫師鍥犳湁澶氱锛氶敊璇殑鐗堟湰搴撶被鍨嬶紝\n"
+"瀵规绉嶇増鏈簱绫诲瀷缂哄皯鍚堥傜殑绗笁鏂瑰簱锛孿n"
+"鍦ㄦ寚瀹氱殑鐗堟湰搴撹矾寰勫娌℃湁瀹為檯瀛樺湪鐨勭増鏈簱鈥︹n"
+"\n"
+"灏界鎮ㄥ彲浠ュ紑濮嬩娇鐢═rac鐜锛屼絾鎮ㄥ皢闇瑕佸啀娆℃鏌n"
+"鎮ㄧ殑trac.ini鏂囦欢浠ュ強[trac] repository_type\n"
+"鍜宺epository_path 璁剧疆浠ュ惎鐢═rac鐗堟湰搴撴祻瑙堝櫒銆"
+
+#: trac/admin/console.py:447
+#, python-format
+msgid ""
+"\n"
+"---------------------------------------------------------------------\n"
+"Project environment for '%(project_name)s' created.\n"
+"\n"
+"You may now configure the environment by editing the file:\n"
+"\n"
+"  %(config_path)s\n"
+"\n"
+"If you'd like to take this new project environment for a test drive,\n"
+"try running the Trac standalone web server `tracd`:\n"
+"\n"
+"  tracd --port 8000 %(project_path)s\n"
+"\n"
+"Then point your browser to http://localhost:8000/%(project_dir)s.\n"
+"There you can also browse the documentation for your installed\n"
+"version of Trac, including information on further setup (such as\n"
+"deploying Trac to a real web server).\n"
+"\n"
+"The latest documentation can also always be found on the project\n"
+"website:\n"
+"\n"
+"  http://trac.edgewall.org/\n"
+"\n"
+"Congratulations!\n"
+msgstr ""
+"\n"
+"---------------------------------------------------------------------\n"
+"'%(project_name)s' 鐨勯」鐩幆澧冨凡缁忓缓绔嬨俓n"
+"\n"
+"鎮ㄧ幇鍦ㄥ彲浠ラ氳繃缂栬緫浠ヤ笅鏂囦欢鏉ラ厤缃幆澧冿細\n"
+"\n"
+"  %(config_path)s\n"
+"\n"
+"濡傛灉鎮ㄦ兂璇曠敤涓涓嬭繖涓柊鐨勯」鐩幆澧冿紝璇峰皾璇曡繍琛孴rac鐙珛Web鏈嶅姟鍣 `tracd`锛歕n"
+"\n"
+"  tracd --port 8000 %(project_path)s\n"
+"\n"
+"鐒跺悗浣跨敤鎮ㄧ殑娴忚鍣ㄨ闂甴ttp://localhost:8000/%(project_dir)s銆俓n"
+"鍦ㄩ偅閲岋紝鎮ㄥ彲浠ュ彲浠ユ祻瑙堝凡瀹夎Trac鐨勬枃妗ｏ紝鍖呮嫭杩涜杩涗竴姝ラ厤缃殑淇℃伅\n"
+"锛堟瘮濡傚皢Trac閮ㄧ讲鍒扮湡姝ｇ殑Web鏈嶅姟鍣ㄤ笂锛夈俓n"
+"\n"
+"鏈鏂扮殑鏂囨。涔熷彲浠ュ啀椤圭洰缃戠珯涓婃壘鍒帮細\n"
+"\n"
+"  http://trac.edgewall.org/\n"
+"\n"
+"鎭枩鎮紒\n"
+
+#: trac/admin/console.py:507
+#, python-format
+msgid "non-ascii environment path '%(path)s' not supported."
+msgstr "涓嶆敮鎸侀潪ASCII鐜璺緞 '%(path)s'銆"
+
+#: trac/admin/web_ui.py:67
 msgid "Admin"
 msgstr "绠＄悊"
 
-#: trac/admin/web_ui.py:67 trac/admin/templates/admin.html:16
+#: trac/admin/web_ui.py:68 trac/admin/templates/admin.html:16
 msgid "Administration"
 msgstr "绠＄悊"
 
-#: trac/admin/web_ui.py:83
+#: trac/admin/web_ui.py:84
 msgid "No administration panels available"
 msgstr "娌℃湁鍙敤鐨勭鐞嗛潰鏉"
 
-#: trac/admin/web_ui.py:105
+#: trac/admin/web_ui.py:106 trac/admin/web_ui.py:110
 msgid "Unknown administration panel"
 msgstr "鏈煡绠＄悊闈㈡澘"
 
-#: trac/admin/web_ui.py:180 trac/admin/web_ui.py:207 trac/admin/web_ui.py:296
-#: trac/admin/web_ui.py:379 trac/prefs/web_ui.py:89
+#: trac/admin/web_ui.py:183 trac/ticket/admin.py:58 trac/ticket/admin.py:83
+#: trac/ticket/admin.py:267 trac/ticket/admin.py:447 trac/ticket/admin.py:598
+#: trac/ticket/admin.py:683 trac/ticket/report.py:172
+#: trac/ticket/roadmap.py:674 trac/wiki/web_ui.py:290
+msgid "Your changes have been saved."
+msgstr "鎮ㄧ殑淇敼宸蹭繚瀛"
+
+#: trac/admin/web_ui.py:186 trac/ticket/admin.py:61
+msgid ""
+"Error writing to trac.ini, make sure it is writable by the web server. "
+"Your changes have not been saved."
+msgstr ""
+"鍐欏叆trac.ini閿欒锛岃纭繚瀹冭兘琚玏eb鏈嶅姟鍣ㄥ啓鍏ャ俓n"
+"鎮ㄧ殑淇敼娌℃湁淇濆瓨銆"
+
+#: trac/admin/web_ui.py:199 trac/admin/web_ui.py:226 trac/admin/web_ui.py:314
+#: trac/admin/web_ui.py:404 trac/prefs/web_ui.py:88
 #: trac/prefs/templates/prefs_general.html:9
 msgid "General"
 msgstr "涓鑸"
 
-#: trac/admin/web_ui.py:180 trac/admin/templates/admin_basics.html:13
+#: trac/admin/web_ui.py:199 trac/admin/templates/admin_basics.html:13
 msgid "Basic Settings"
 msgstr "鍩虹璁剧疆"
 
-#: trac/admin/web_ui.py:207 trac/admin/templates/admin_logging.html:9
-#: trac/admin/templates/admin_logging.html:21
+#: trac/admin/web_ui.py:226 trac/admin/templates/admin_logging.html:10
+#: trac/admin/templates/admin_logging.html:22
 msgid "Logging"
 msgstr "鏃ュ織"
 
-#: trac/admin/web_ui.py:216 trac/ticket/templates/milestone_delete.html:29
+#: trac/admin/web_ui.py:235 trac/ticket/templates/milestone_delete.html:31
 #: trac/ticket/templates/milestone_edit.html:73
 msgid "None"
 msgstr "鏃"
 
-#: trac/admin/web_ui.py:217
+#: trac/admin/web_ui.py:236
 msgid "Console"
 msgstr "鎺у埗鍙"
 
-#: trac/admin/web_ui.py:219 trac/templates/attachment.html:20
-#: trac/templates/attachment.html:81 trac/versioncontrol/api.py:105
+#: trac/admin/web_ui.py:238 trac/templates/attachment.html:28
+#: trac/templates/attachment.html:89 trac/versioncontrol/api.py:114
 msgid "File"
 msgstr "鏂囦欢"
 
-#: trac/admin/web_ui.py:221
+#: trac/admin/web_ui.py:240
 msgid "Syslog"
 msgstr "Syslog"
 
-#: trac/admin/web_ui.py:223
+#: trac/admin/web_ui.py:242
 msgid "Windows event log"
 msgstr "Windows浜嬩欢鏃ュ織"
 
-#: trac/admin/web_ui.py:237
+#: trac/admin/web_ui.py:255
 #, python-format
 msgid "Unknown log type %(type)s"
 msgstr "鏈煡鏃ュ織绫诲瀷 %(type)s"
 
-#: trac/admin/web_ui.py:238
+#: trac/admin/web_ui.py:256
 msgid "Invalid log type"
 msgstr "鏃犳晥鏃ュ織绫诲瀷"
 
-#: trac/admin/web_ui.py:249
+#: trac/admin/web_ui.py:270
 #, python-format
 msgid "Unknown log level %(level)s"
 msgstr "鏈煡鏃ュ織绾у埆 %(level)s"
 
-#: trac/admin/web_ui.py:250
+#: trac/admin/web_ui.py:271
 msgid "Invalid log level"
 msgstr "鏃犳晥鏃ュ織绾у埆"
 
-#: trac/admin/web_ui.py:266
+#: trac/admin/web_ui.py:284
 msgid "You must specify a log file"
 msgstr "蹇呴』鎸囧畾涓涓棩蹇楁枃浠"
 
-#: trac/admin/web_ui.py:267
+#: trac/admin/web_ui.py:285
 msgid "Missing field"
 msgstr "缂哄皯瀛楁"
 
-#: trac/admin/web_ui.py:296 trac/admin/templates/admin_perms.html:9
+#: trac/admin/web_ui.py:314 trac/admin/templates/admin_perms.html:9
 msgid "Permissions"
 msgstr "鏉冮檺"
 
-#: trac/admin/web_ui.py:310
+#: trac/admin/web_ui.py:328
 msgid "All upper-cased tokens are reserved for permission names"
 msgstr "鍏ㄩ儴澶у啓鐨勬爣璁板凡淇濈暀涓烘潈闄愬悕绉"
 
-#: trac/admin/web_ui.py:317
+#: trac/admin/web_ui.py:335
 msgid "Unknown action"
 msgstr "鏈煡鍔ㄤ綔"
 
-#: trac/admin/web_ui.py:324
+#: trac/admin/web_ui.py:339
 #, python-format
-msgid "Permission \"%(action)s\" was already granted to \"%(subject)s\""
+msgid "The user %(subject)s has been granted the permission %(action)s."
+msgstr "鐢ㄦ埛 %(subject)s 宸插垎閰嶆潈闄 %(action)s銆"
+
+#: trac/admin/web_ui.py:344
+#, python-format
+msgid "The permission %(action)s was already granted to %(subject)s."
 msgstr "鏉冮檺 \"%(action)s\" 宸插垎閰嶇粰 \"%(subject)s\""
 
-#: trac/admin/web_ui.py:343
+#: trac/admin/web_ui.py:360
 #, python-format
-msgid "\"%(subject)s\" was already added to group \"%(group)s\""
-msgstr "\"%(subject)s\" 宸插鍔犵粰鐢ㄦ埛缁 \"%(group)s\""
+msgid "The user %(subject)s has been added to the group %(group)s."
+msgstr "\"%(subject)s\" 宸插鍔犲埌鐢ㄦ埛缁 \"%(group)s\""
 
-#: trac/admin/web_ui.py:379 trac/admin/templates/admin_plugins.html:9
+#: trac/admin/web_ui.py:365
+#, python-format
+msgid "The user %(subject)s was already added to the group %(group)s."
+msgstr "\"%(subject)s\" 宸插鍔犲埌鐢ㄦ埛缁 \"%(group)s\""
+
+#: trac/admin/web_ui.py:378
+msgid "The selected permissions have been revoked."
+msgstr "鎵閫夋潈闄愬凡鏀跺洖銆"
+
+#: trac/admin/web_ui.py:404 trac/admin/templates/admin_plugins.html:9
 msgid "Plugins"
 msgstr "鎻掍欢s"
 
-#: trac/admin/web_ui.py:413
+#: trac/admin/web_ui.py:438
 msgid "Uploaded file is not a Python source file or egg"
 msgstr "涓婁紶鐨勬枃浠朵笉鏄疨ython婧愭枃浠舵垨鑰卐gg鍖"
 
-#: trac/admin/web_ui.py:418
+#: trac/admin/web_ui.py:443
 #, python-format
 msgid "Plugin %(name)s already installed"
 msgstr "鎻掍欢 %(name)s 宸插畨瑁"
@@ -312,8 +666,8 @@
 #: trac/admin/templates/admin_components.html:66
 #: trac/admin/templates/admin_enums.html:20
 #: trac/admin/templates/admin_enums.html:34
-#: trac/admin/templates/admin_milestones.html:21
-#: trac/admin/templates/admin_milestones.html:77
+#: trac/admin/templates/admin_milestones.html:22
+#: trac/admin/templates/admin_milestones.html:79
 #: trac/admin/templates/admin_versions.html:21
 #: trac/admin/templates/admin_versions.html:56
 msgid "Name:"
@@ -324,16 +678,16 @@
 msgstr "URL:"
 
 #: trac/admin/templates/admin_basics.html:29
-#: trac/ticket/templates/ticket.html:291
+#: trac/ticket/templates/ticket.html:302
 msgid "Description:"
 msgstr "鎻忚堪:"
 
 #: trac/admin/templates/admin_basics.html:36
 #: trac/admin/templates/admin_components.html:99
 #: trac/admin/templates/admin_enums.html:69
-#: trac/admin/templates/admin_logging.html:53
-#: trac/admin/templates/admin_milestones.html:124
-#: trac/admin/templates/admin_plugins.html:102
+#: trac/admin/templates/admin_logging.html:54
+#: trac/admin/templates/admin_milestones.html:128
+#: trac/admin/templates/admin_plugins.html:103
 #: trac/admin/templates/admin_versions.html:94
 msgid "Apply changes"
 msgstr "搴旂敤淇敼"
@@ -366,22 +720,21 @@
 
 #: trac/admin/templates/admin_components.html:55
 #: trac/admin/templates/admin_enums.html:23
-#: trac/admin/templates/admin_milestones.html:65
+#: trac/admin/templates/admin_milestones.html:67
 #: trac/admin/templates/admin_versions.html:45
-#: trac/templates/attachment.html:49 trac/templates/attachment.html:62
-#: trac/ticket/templates/milestone_delete.html:33
-#: trac/ticket/templates/milestone_edit.html:91
-#: trac/ticket/templates/report_delete.html:20
+#: trac/templates/attachment.html:57 trac/templates/attachment.html:70
+#: trac/ticket/templates/milestone_delete.html:40
+#: trac/ticket/templates/milestone_edit.html:94
+#: trac/ticket/templates/report_delete.html:21
 #: trac/ticket/templates/report_edit.html:42
 #: trac/wiki/templates/wiki_delete.html:36
-#: trac/wiki/templates/wiki_edit.html:35 trac/wiki/templates/wiki_edit.html:45
-#: trac/wiki/templates/wiki_edit.html:133
+#: trac/wiki/templates/wiki_edit.html:35 trac/wiki/templates/wiki_edit.html:126
 msgid "Cancel"
 msgstr "鍙栨秷"
 
 #: trac/admin/templates/admin_components.html:56
 #: trac/admin/templates/admin_enums.html:24
-#: trac/admin/templates/admin_milestones.html:66
+#: trac/admin/templates/admin_milestones.html:68
 #: trac/admin/templates/admin_versions.html:46
 msgid "Save"
 msgstr "淇濆瓨"
@@ -393,43 +746,35 @@
 #: trac/admin/templates/admin_components.html:70
 #: trac/admin/templates/admin_enums.html:32
 #: trac/admin/templates/admin_enums.html:37
-#: trac/admin/templates/admin_milestones.html:90
-#: trac/admin/templates/admin_perms.html:44
-#: trac/admin/templates/admin_perms.html:66
+#: trac/admin/templates/admin_milestones.html:92
+#: trac/admin/templates/admin_perms.html:38
+#: trac/admin/templates/admin_perms.html:60
 #: trac/admin/templates/admin_versions.html:67
 msgid "Add"
 msgstr "澧炲姞"
 
-#: trac/admin/templates/admin_components.html:80
-#: trac/admin/templates/admin_enums.html:47
-#: trac/admin/templates/admin_milestones.html:100
-#: trac/admin/templates/admin_versions.html:77 trac/templates/about.html:66
-#: trac/templates/error.html:162
-msgid "Name"
-msgstr "鍚嶇О"
-
-#: trac/admin/templates/admin_components.html:80
+#: trac/admin/templates/admin_components.html:80 trac/ticket/admin.py:201
 msgid "Owner"
 msgstr "灞炰富"
 
 #: trac/admin/templates/admin_components.html:80
 #: trac/admin/templates/admin_enums.html:47
-#: trac/admin/templates/admin_milestones.html:100
+#: trac/admin/templates/admin_milestones.html:103
 #: trac/admin/templates/admin_versions.html:77
 msgid "Default"
 msgstr "榛樿"
 
 #: trac/admin/templates/admin_components.html:98
 #: trac/admin/templates/admin_enums.html:68
-#: trac/admin/templates/admin_milestones.html:123
-#: trac/admin/templates/admin_perms.html:93
+#: trac/admin/templates/admin_milestones.html:127
+#: trac/admin/templates/admin_perms.html:87
 #: trac/admin/templates/admin_versions.html:93
 msgid "Remove selected items"
 msgstr "鍒犻夋嫨椤"
 
 #: trac/admin/templates/admin_components.html:101
 #: trac/admin/templates/admin_enums.html:71
-#: trac/admin/templates/admin_milestones.html:126
+#: trac/admin/templates/admin_milestones.html:130
 #: trac/admin/templates/admin_versions.html:96
 msgid ""
 "You can remove all items from this list to completely hide this\n"
@@ -440,7 +785,7 @@
 
 #: trac/admin/templates/admin_components.html:107
 #: trac/admin/templates/admin_enums.html:77
-#: trac/admin/templates/admin_milestones.html:132
+#: trac/admin/templates/admin_milestones.html:136
 #: trac/admin/templates/admin_versions.html:102
 msgid ""
 "As long as you don't add any items to the list, this field\n"
@@ -461,35 +806,30 @@
 msgid "Order"
 msgstr "鎺掑簭"
 
-#: trac/admin/templates/admin_logging.html:25 trac/templates/about.html:61
+#: trac/admin/templates/admin_logging.html:26 trac/templates/about.html:63
 msgid "Configuration"
 msgstr "閰嶇疆"
 
-#: trac/admin/templates/admin_logging.html:27
+#: trac/admin/templates/admin_logging.html:28
 msgid "Type:"
 msgstr "绫诲瀷:"
 
-#: trac/admin/templates/admin_logging.html:36
+#: trac/admin/templates/admin_logging.html:37
 msgid "Log level:"
 msgstr "鏃ュ織绾у埆:"
 
-#: trac/admin/templates/admin_logging.html:44
+#: trac/admin/templates/admin_logging.html:45
 msgid "Log file:"
 msgstr "鏃ュ織鏂囦欢"
 
-#: trac/admin/templates/admin_logging.html:47
-msgid "If you specify a relative path, the log file will be stored inside the"
-msgstr "濡傛灉鎸囧畾鐩稿璺緞,鏃ュ織鏂囦欢灏嗚瀛樺偍鍦"
+#: trac/admin/templates/admin_logging.html:48
+#, python-format
+msgid ""
+"If you specify a relative path, the log file will be stored inside the\n"
+"            [1:log] directory of the project environment ([2:%(dir)s])."
+msgstr "濡傛灉鎸囧畾浜嗙浉瀵硅矾寰勶紝鏃ュ織鏂囦欢灏嗚瀛樺偍鍦ㄩ」鐩幆澧([2:%(dir)s])鐨 [1:log]鐩綍銆"
 
-#: trac/admin/templates/admin_logging.html:49
-msgid "log"
-msgstr "鏃ュ織"
-
-#: trac/admin/templates/admin_logging.html:49
-msgid "directory of the project environment ("
-msgstr "椤圭洰鐜鐩綍 ("
-
-#: trac/admin/templates/admin_milestones.html:10 trac/ticket/roadmap.py:503
+#: trac/admin/templates/admin_milestones.html:10 trac/ticket/roadmap.py:839
 msgid "Milestones"
 msgstr "閲岀▼纰"
 
@@ -497,19 +837,19 @@
 msgid "Manage Milestones"
 msgstr "绠＄悊閲岀▼纰"
 
-#: trac/admin/templates/admin_milestones.html:19
+#: trac/admin/templates/admin_milestones.html:20
 msgid "Modify Milestone:"
-msgstr "淇閲岀▼纰:"
+msgstr "淇敼閲岀▼纰:"
 
-#: trac/admin/templates/admin_milestones.html:24
-#: trac/admin/templates/admin_milestones.html:82
+#: trac/admin/templates/admin_milestones.html:25
+#: trac/admin/templates/admin_milestones.html:84
 #: trac/ticket/templates/milestone_edit.html:51
 msgid "Due:"
-msgstr "棰勬湡:"
+msgstr "閫炬湡鏃:"
 
-#: trac/admin/templates/admin_milestones.html:27
-#: trac/admin/templates/admin_milestones.html:41
-#: trac/admin/templates/admin_milestones.html:86
+#: trac/admin/templates/admin_milestones.html:29
+#: trac/admin/templates/admin_milestones.html:43
+#: trac/admin/templates/admin_milestones.html:88
 #: trac/admin/templates/admin_versions.html:30
 #: trac/admin/templates/admin_versions.html:63
 #: trac/ticket/templates/milestone_edit.html:54
@@ -517,74 +857,53 @@
 msgid "Format:"
 msgstr "鏍煎紡:"
 
-#: trac/admin/templates/admin_milestones.html:33
+#: trac/admin/templates/admin_milestones.html:35
 #: trac/ticket/templates/milestone_edit.html:59
 msgid "Completed:"
-msgstr "瀹屾垚:"
+msgstr "瀹屾垚鏃:"
 
-#: trac/admin/templates/admin_milestones.html:55
+#: trac/admin/templates/admin_milestones.html:57
 #: trac/admin/templates/admin_versions.html:35
-#: trac/ticket/templates/milestone_edit.html:82
+#: trac/ticket/templates/milestone_edit.html:85
 msgid "Description (you may use [1:WikiFormatting] here):"
 msgstr "鎻忚堪 (姝ゅ鍙敤 [1:WikiFormatting] 鏍煎紡):"
 
-#: trac/admin/templates/admin_milestones.html:75
+#: trac/admin/templates/admin_milestones.html:77
 msgid "Add Milestone:"
 msgstr "澧炲姞閲岀▼纰:"
 
-#: trac/admin/templates/admin_milestones.html:100
+#: trac/admin/templates/admin_milestones.html:103 trac/ticket/admin.py:390
 msgid "Due"
 msgstr "棰勬湡"
 
-#: trac/admin/templates/admin_milestones.html:100
-#: trac/ticket/templates/milestone_view.html:25
-#: trac/ticket/templates/roadmap.html:38
+#: trac/admin/templates/admin_milestones.html:103 trac/ticket/admin.py:390
+#: trac/ticket/templates/milestone_view.html:26
+#: trac/ticket/templates/roadmap.html:37
 msgid "Completed"
 msgstr "瀹屾垚"
 
+#: trac/admin/templates/admin_milestones.html:103
+msgid "Tickets"
+msgstr "浠诲姟鍗"
+
 #: trac/admin/templates/admin_perms.html:13
 msgid "Manage Permissions"
 msgstr "绠＄悊鏉冮檺"
 
-#: trac/admin/templates/admin_perms.html:15
-msgid "Note that"
-msgstr "娉ㄦ剰"
-
-#: trac/admin/templates/admin_perms.html:16
-#: trac/admin/templates/admin_perms.html:75
-msgid "Subject"
-msgstr "瀵硅薄"
-
-#: trac/admin/templates/admin_perms.html:16 trac/ticket/templates/query.html:60
-msgid "or"
-msgstr "鎴"
-
-#: trac/admin/templates/admin_perms.html:16
-msgid "Group"
-msgstr "缁"
-
-#: trac/admin/templates/admin_perms.html:16
-msgid "names can't be all upper cased,"
-msgstr "涓嶈兘浣跨敤鍏ㄩ儴澶у啓瀛楁瘝鐨勫悕绉,"
-
-#: trac/admin/templates/admin_perms.html:16
-msgid "as this is reserved for permission names."
-msgstr "淇濈暀涓烘潈闄愬悕."
-
-#: trac/admin/templates/admin_perms.html:24
+#: trac/admin/templates/admin_perms.html:18
 msgid "Grant Permission:"
 msgstr "鎺堜簣鏉冮檺:"
 
-#: trac/admin/templates/admin_perms.html:27
-#: trac/admin/templates/admin_perms.html:54
+#: trac/admin/templates/admin_perms.html:21
+#: trac/admin/templates/admin_perms.html:48
 msgid "Subject:"
 msgstr "瀵硅薄:"
 
-#: trac/admin/templates/admin_perms.html:31
+#: trac/admin/templates/admin_perms.html:25
 msgid "Action:"
 msgstr "鍔ㄤ綔:"
 
-#: trac/admin/templates/admin_perms.html:39
+#: trac/admin/templates/admin_perms.html:33
 msgid ""
 "Grant permission for an action to a subject, which can be either a user\n"
 "          or a group."
@@ -592,23 +911,41 @@
 "涓哄璞¤缃姩浣滄潈闄愶紝鍙互鎺堜簣缁欑敤鎴穃n"
 "          鎴栫粍."
 
-#: trac/admin/templates/admin_perms.html:51
+#: trac/admin/templates/admin_perms.html:45
 msgid "Add Subject to Group:"
 msgstr "澧炲姞涓涓璞″埌缁勪腑:"
 
-#: trac/admin/templates/admin_perms.html:58
+#: trac/admin/templates/admin_perms.html:52
 msgid "Group:"
 msgstr "缁:"
 
-#: trac/admin/templates/admin_perms.html:62
+#: trac/admin/templates/admin_perms.html:56
 msgid "Add a user or group to an existing permission group."
 msgstr "鍦ㄥ綋鍓嶇殑鏉冮檺缁勪腑澧炲姞涓涓敤鎴锋垨缁."
 
-#: trac/admin/templates/admin_perms.html:75
-#: trac/ticket/templates/ticket.html:365
-msgid "Action"
-msgstr "鍔ㄤ綔"
+#: trac/admin/templates/admin_perms.html:69
+#: trac/admin/templates/admin_perms.html:92
+msgid "Subject"
+msgstr "瀵硅薄"
 
+#: trac/admin/templates/admin_perms.html:91
+msgid "Note that"
+msgstr "娉ㄦ剰"
+
+#: trac/admin/templates/admin_perms.html:92 trac/ticket/templates/query.html:62
+msgid "or"
+msgstr "鎴"
+
+#: trac/admin/templates/admin_perms.html:92
+msgid "Group"
+msgstr "缁"
+
+#: trac/admin/templates/admin_perms.html:92
+msgid ""
+"names can't be all upper-case,\n"
+"      as that is reserved for permission names."
+msgstr "鍚嶄笉鑳藉叏閮ㄥぇ鍐欙紝鍥犱负杩欐槸鏉冮檺鍚嶇О鐨勪繚鐣欐牸寮忋"
+
 #: trac/admin/templates/admin_plugins.html:17
 msgid "Manage Plugins"
 msgstr "绠＄悊鎻掍欢"
@@ -637,28 +974,24 @@
 msgid "Install"
 msgstr "瀹夎"
 
-#: trac/admin/templates/admin_plugins.html:49
-msgid "Uninstall"
-msgstr "鍗歌浇"
-
-#: trac/admin/templates/admin_plugins.html:59 trac/templates/diff_view.html:43
+#: trac/admin/templates/admin_plugins.html:60 trac/templates/diff_view.html:43
 #: trac/versioncontrol/templates/changeset.html:97
 msgid "Author:"
 msgstr "浣滆:"
 
-#: trac/admin/templates/admin_plugins.html:68
+#: trac/admin/templates/admin_plugins.html:69
 msgid "Home page:"
 msgstr "棣栭〉:"
 
-#: trac/admin/templates/admin_plugins.html:75
+#: trac/admin/templates/admin_plugins.html:76
 msgid "License:"
 msgstr "鎺堟潈:"
 
-#: trac/admin/templates/admin_plugins.html:82
+#: trac/admin/templates/admin_plugins.html:83
 msgid "Component"
 msgstr "缁勪欢"
 
-#: trac/admin/templates/admin_plugins.html:82
+#: trac/admin/templates/admin_plugins.html:83
 msgid "Enabled"
 msgstr "鍚敤"
 
@@ -690,16 +1023,16 @@
 msgid "Released"
 msgstr "鍙戝竷"
 
-#: trac/db/api.py:98
+#: trac/db/api.py:131
 #, python-format
 msgid "Unsupported database type \"%(scheme)s\""
 msgstr "涓嶆敮鎸佺殑鏁版嵁搴 \"%(scheme)s\""
 
-#: trac/db/api.py:121
+#: trac/db/api.py:156
 msgid "Database connection string must start with scheme:/"
 msgstr "鏁版嵁搴撻摼鎺ュ瓧绗︿覆蹇呴』濮嬩簬scheme:/"
 
-#: trac/db/pool.py:113
+#: trac/db/pool.py:122
 #, python-format
 msgid "Unable to get database connection within %(time)d seconds"
 msgstr "鏃犳硶鍦%(time)d 绉掑唴鑾峰緱鏁版嵁搴撹繛鎺"
@@ -709,27 +1042,46 @@
 msgid "Database already exists at %(path)s"
 msgstr "鏁版嵁搴撳凡缁忓瓨鍦ㄤ簬 %(path)s"
 
-#: trac/db/sqlite_backend.py:161
+#: trac/db/sqlite_backend.py:173
 #, python-format
 msgid "Database \"%(path)s\" not found."
 msgstr "鏁版嵁搴 \"%(path)s\" 鏈壘鍒."
 
-#: trac/db/sqlite_backend.py:170
+#: trac/db/sqlite_backend.py:182
 #, python-format
 msgid ""
 "The user %(user)s requires read _and_ write permission to the database "
 "file %(path)s and the directory it is located in."
 msgstr "鐢ㄦ埛 %(user)s 闇瑕佹暟鎹簱鏂囦欢 %(path)s 鍗冲叾鎵鍦ㄧ洰褰曠殑璇/鍐欐潈闄."
 
-#: trac/mimeview/api.py:553 trac/mimeview/api.py:563
+#: trac/mimeview/api.py:644 trac/mimeview/api.py:654
 #, python-format
 msgid "No available MIME conversions from %(old)s to %(new)s"
 msgstr "娌℃湁鏈夋晥鐨凪IME灏 %(old)s 杞崲涓 %(new)s"
 
+#: trac/mimeview/api.py:756
+#, python-format
+msgid "HTML preview using %(renderer)s failed (%(err)s)"
+msgstr "浣跨敤%(renderer)s杩涜HTML棰勮澶辫触 (%(err)s)"
+
 #: trac/mimeview/patch.py:55
 msgid "Invalid unified diff content"
 msgstr "鏃犳晥鐨剈nified diff鍐呭"
 
+#: trac/mimeview/patch.py:165
+#, python-format
+msgid "new file %(new)s"
+msgstr "鏂版枃浠 %(new)s"
+
+#: trac/mimeview/patch.py:169
+#, python-format
+msgid "deleted file %(deleted)s"
+msgstr "宸插垹闄ゆ枃浠%(deleted)s"
+
+#: trac/mimeview/patch.py:241
+msgid "this hunk was shorter than expected"
+msgstr "姝ゅ潡姣旈鏈熺殑鐭"
+
 #: trac/mimeview/php.py:98
 msgid ""
 "You appear to be using the PHP CGI binary. Trac requires the CLI version "
@@ -745,30 +1097,35 @@
 msgid "Docutils version >= %(version)s required, %(found)s found"
 msgstr "闇瑕丏ocutils鐗堟湰 >= %(version)s, 鐜版湁鐗堟湰涓%(found)s"
 
-#: trac/prefs/web_ui.py:54 trac/prefs/templates/prefs.html:16
+#: trac/prefs/web_ui.py:53 trac/prefs/templates/prefs.html:16
+#: trac/ticket/templates/ticket.html:263 trac/wiki/templates/wiki_edit.html:99
 msgid "Preferences"
-msgstr "閫夐」"
+msgstr "涓汉璁剧疆"
 
-#: trac/prefs/web_ui.py:77
+#: trac/prefs/web_ui.py:76
 msgid "Unknown preference panel"
 msgstr "鏈煡閫夐」闈㈡澘"
 
-#: trac/prefs/web_ui.py:90 trac/prefs/templates/prefs_datetime.html:9
+#: trac/prefs/web_ui.py:89 trac/prefs/templates/prefs_datetime.html:10
 msgid "Date & Time"
 msgstr "鏃ユ湡鍜屾椂闂"
 
-#: trac/prefs/web_ui.py:91 trac/prefs/templates/prefs_keybindings.html:9
+#: trac/prefs/web_ui.py:90 trac/prefs/templates/prefs_keybindings.html:10
 msgid "Keyboard Shortcuts"
 msgstr "閿洏蹇嵎鏂瑰紡"
 
-#: trac/prefs/web_ui.py:93 trac/prefs/templates/prefs_language.html:9
+#: trac/prefs/web_ui.py:92 trac/prefs/templates/prefs_language.html:9
 msgid "Language"
 msgstr "璇█"
 
-#: trac/prefs/web_ui.py:95 trac/prefs/templates/prefs_advanced.html:9
+#: trac/prefs/web_ui.py:94 trac/prefs/templates/prefs_advanced.html:9
 msgid "Advanced"
 msgstr "楂樼骇"
 
+#: trac/prefs/web_ui.py:146
+msgid "Your preferences have been saved."
+msgstr "鎮ㄧ殑涓汉璁剧疆宸蹭繚瀛樸"
+
 #: trac/prefs/templates/prefs.html:10
 msgid "Preferences:"
 msgstr "閫夐」:"
@@ -803,8 +1160,8 @@
 "      in a different web browser."
 msgstr ""
 "璇ヤ細璇濇爣蹇楃敤浜庢爣璇嗗瓨鍌ㄥ湪鏈嶅姟鍣ㄤ笂鐨勫畾鍒惰缃拰浼氳瘽鏁版嵁.\n"
-"      铏界劧榛樿鎯呭喌涓嬫槸鑷姩鐢熸垚鐨, 浣犲彲浠ュ皢鍏朵慨鏀规垚姣旇緝浠绘剰璁板繂鐨勫瓧绗︿覆,\n"
-"      浠ヤ娇浣犲彲浠ュ湪涓嶅悓鐨勬祻瑙堝櫒涓噸鏂拌浇鍏ヤ綘鐨勮繖浜涜缃.\n"
+"      铏界劧榛樿鎯呭喌涓嬫槸鑷姩鐢熸垚鐨, 鎮ㄥ彲浠ュ皢鍏朵慨鏀规垚姣旇緝浠绘剰璁板繂鐨勫瓧绗︿覆,\n"
+"      浠ヤ娇鎮ㄥ彲浠ュ湪涓嶅悓鐨勬祻瑙堝櫒涓噸鏂拌浇鍏ユ偍鐨勮繖浜涜缃.\n"
 
 #: trac/prefs/templates/prefs_advanced.html:26
 msgid "Restore session:"
@@ -821,58 +1178,57 @@
 "between\n"
 "      multiple computers and web browsers."
 msgstr ""
-"閫氳繃鍦ㄤ笅闈㈣緭鍏ョ浉搴旂殑浼氳瘽鏍囧織, 浣犲彲浠ヨ浇鍏ュ厛鍓嶅垱寤虹殑浼氳瘽.\n"
-"      杩欏皢璁╀綘鑳藉湪澶氬彴璁＄畻鏈哄拰web娴忚鍣ㄩ棿鍏变韩璁剧疆."
+"閫氳繃鍦ㄤ笅闈㈣緭鍏ョ浉搴旂殑浼氳瘽鏍囧織, 鎮ㄥ彲浠ヨ浇鍏ュ厛鍓嶅垱寤虹殑浼氳瘽.\n"
+"      杩欏皢璁╂偍鑳藉湪澶氬彴璁＄畻鏈哄拰web娴忚鍣ㄩ棿鍏变韩璁剧疆."
 
-#: trac/prefs/templates/prefs_datetime.html:15
+#: trac/prefs/templates/prefs_datetime.html:16
 msgid "Time zone:"
 msgstr "鏃跺尯:"
 
-#: trac/prefs/templates/prefs_datetime.html:17
+#: trac/prefs/templates/prefs_datetime.html:18
 msgid "Default time zone"
 msgstr "榛樿鏃跺尯"
 
-#: trac/prefs/templates/prefs_datetime.html:24
+#: trac/prefs/templates/prefs_datetime.html:25
 msgid ""
 "Configuring your time zone will result in all\n"
 "      dates and times displayed on this site to use your time zone\n"
 "      instead of that of the server."
 msgstr ""
-"閰嶇疆浣犵殑鏃跺尯灏嗗鑷磋繖涓珯鐐逛娇鐢ㄤ綘鐨勬椂鍖鸿缃潵鏄剧ず鏃舵湡鍜屾椂闂碶n"
+"閰嶇疆鎮ㄧ殑鏃跺尯灏嗗鑷磋繖涓珯鐐逛娇鐢ㄦ偍鐨勬椂鍖鸿缃潵鏄剧ず鏃舵湡鍜屾椂闂碶n"
 "      鑰屼笉鏄娇鐢ㄦ湇鍔″櫒涓婄殑璁剧疆."
 
-#: trac/prefs/templates/prefs_datetime.html:28
+#: trac/prefs/templates/prefs_datetime.html:30
 msgid "Example: The current time is"
 msgstr "渚嬪: 褰撳墠鏃堕棿鏄"
 
-#: trac/prefs/templates/prefs_datetime.html:29
+#: trac/prefs/templates/prefs_datetime.html:31
 msgid "(UTC)."
 msgstr "(UTC)."
 
-#: trac/prefs/templates/prefs_datetime.html:30
+#: trac/prefs/templates/prefs_datetime.html:32
 msgid "In"
 msgstr "鍦"
 
-#: trac/prefs/templates/prefs_datetime.html:31
+#: trac/prefs/templates/prefs_datetime.html:33
 msgid "time zone"
 msgstr "鏃跺尯"
 
-#: trac/prefs/templates/prefs_datetime.html:31
+#: trac/prefs/templates/prefs_datetime.html:33
 msgid ", this would be displayed as"
 msgstr ", 灏嗘樉绀轰负"
 
-#: trac/prefs/templates/prefs_datetime.html:35
+#: trac/prefs/templates/prefs_datetime.html:37
 msgid ""
 "Note: Universal Co-ordinated Time (UTC) is also known as Greenwich Mean "
 "Time (GMT)."
 msgstr "娉: 鍏ㄧ悆缁熶竴鏃堕棿 (UTC) 涔熻绉颁负鏍兼灄濞佹不鏍囧噯鏃堕棿 (GMT)."
 
-#: trac/prefs/templates/prefs_datetime.html:36
-#, fuzzy
+#: trac/prefs/templates/prefs_datetime.html:38
 msgid ""
 "A positive offset is used to indicate a timezone at the east of "
 "Greenwich, i.e. ahead of Universal Time."
-msgstr "姝ｅ艰〃绀哄湪鏍兼灄濞佹不涓滄柟鐨勪簨鍓, 鍗: 姣旀爣鍑嗘椂闂存棭."
+msgstr "姝ｅ艰〃绀哄湪鏍兼灄濞佹不浠ヤ笢鐨勬椂鍖猴紝鍗虫瘮鏍囧噯鏃堕棿鏃┿"
 
 #: trac/prefs/templates/prefs_general.html:15
 msgid "Full name:"
@@ -886,7 +1242,7 @@
 msgid ""
 "This information is used to automatically populate some forms\n"
 "        on this site with your contact details."
-msgstr "璇ヤ俊鎭敤浜庡湪杩欎釜绔欑偣涓婄殑涓浜涜〃鍗曚腑鑷姩鍙戝竷浣犵殑鑱旂郴鏂瑰紡."
+msgstr "璇ヤ俊鎭敤浜庡湪杩欎釜绔欑偣涓婄殑涓浜涜〃鍗曚腑鑷姩鍙戝竷鎮ㄧ殑鑱旂郴鏂瑰紡."
 
 #: trac/prefs/templates/prefs_general.html:30
 msgid ""
@@ -894,38 +1250,33 @@
 "        email address and full name, which is used for email\n"
 "        notification and RSS feeds, for example."
 msgstr ""
-"璇ヤ俊鎭敤浜庡皢浣犵殑鐧诲綍鍚嶅叧鑱斿埌閭欢鍦板潃鍜屽叏鍚,\n"
+"璇ヤ俊鎭敤浜庡皢鎮ㄧ殑鐧诲綍鍚嶅叧鑱斿埌閭欢鍦板潃鍜屽叏鍚,\n"
 "        渚嬪: 鐢ㄤ簬閭欢閫氱煡鍜孯SS涓."
 
-#: trac/prefs/templates/prefs_keybindings.html:17
+#: trac/prefs/templates/prefs_keybindings.html:18
 msgid "Enable access keys"
 msgstr "鍚敤瀛樺彇鍏抽敭瀛"
 
-#: trac/prefs/templates/prefs_keybindings.html:20
+#: trac/prefs/templates/prefs_keybindings.html:21
 msgid ""
-"This site provides keyboard shortcuts for faster\n"
-"      access to certain functions of this site. As these shortcuts can\n"
+"This site provides keyboard shortcuts for\n"
+"      faster access to certain functions of this site. As these shortcuts"
+" can\n"
 "      cause conflicts with shortcuts provided by the desktop system or\n"
-"      web browser, they are disabled by default. See"
+"      web browser, they are disabled by default. See\n"
+"      [1:TracAccessibility]\n"
+"      for more information on access keys."
 msgstr ""
-"璇ョ珯鐐规彁渚涘揩鎹烽敭鐢ㄤ簬鏇村姞蹇熻闂繖涓珯鐐圭殑鏌愪簺鍔熻兘.\n"
-"      鐢变簬杩欎簺蹇嵎閿彲鑳戒笌妗岄潰绯荤粺鎴栬呮祻瑙堝櫒鏈韩鍐茬獊,\n"
-"      榛樿杩欎簺蹇嵎閿槸娌℃湁鍚敤鐨. 鍙傝"
+"璇ョ珯鐐规彁渚涘揩鎹烽敭鐢ㄤ簬鏇村姞蹇熻闂繖涓珯鐐圭殑鏌愪簺鍔熻兘銆俓n"
+"      鐢变簬杩欎簺蹇嵎閿彲鑳戒笌妗岄潰绯荤粺鎴栬呮祻瑙堝櫒鏈韩鍐茬獊锛孿n"
+"      缂虹渷鎯呭喌涓嬶紝杩欎簺蹇嵎閿槸娌℃湁鍚敤鐨. \n"
+"      鏈夊叧蹇嵎閿殑璇︽儏鍙傝[1:TracAccessibility]銆"
 
-#: trac/prefs/templates/prefs_keybindings.html:24
-msgid "TracAccessibility"
-msgstr "TracAccessibility"
-
-#: trac/prefs/templates/prefs_keybindings.html:24
-msgid "for more information on access keys."
-msgstr "瀛樺彇鍏抽敭瀛楃殑鏇村淇℃伅."
-
 #: trac/prefs/templates/prefs_language.html:14
 msgid "Language:"
 msgstr "璇█:"
 
 #: trac/prefs/templates/prefs_language.html:16
-#, fuzzy
 msgid "default language"
 msgstr "榛樿璇█"
 
@@ -936,14 +1287,14 @@
 "      server."
 msgstr ""
 "閰嶇疆璇█灏嗕綔鐢ㄥ埌鎵鏈夋樉绀烘枃鏈紝\n"
-"      浼氫娇鐢ㄤ綘鐨勬瘝璇潵浠ｆ浛鍘熷厛鐨 \n"
+"      浼氫娇鐢ㄦ偍鐨勬瘝璇潵浠ｆ浛鍘熷厛鐨 \n"
 "      鐨."
 
 #: trac/prefs/templates/prefs_language.html:25
 msgid ""
 "The 'default language' option uses the browser's\n"
 "        language negotiation feature to select the appropriate language."
-msgstr ""
+msgstr "鈥滅己鐪佽瑷鈥濋夐」浣跨敤娴忚鍣ㄧ殑璇█鍗忓晢鍔熻兘閫夋嫨鍚堥傜殑璇█銆"
 
 #: trac/prefs/templates/prefs_pygments.html:9
 msgid "Pygments Theme"
@@ -963,98 +1314,64 @@
 msgid "Preview:"
 msgstr "棰勮:"
 
-#: trac/search/web_ui.py:58 trac/search/templates/search.html:10
-#: trac/search/templates/search.html:23 trac/search/templates/search.html:28
+#: trac/search/web_ui.py:64 trac/search/templates/search.html:11
+#: trac/search/templates/search.html:24 trac/search/templates/search.html:29
 #: trac/templates/theme.html:28
 msgid "Search"
 msgstr "鎼滅储"
 
-#: trac/search/web_ui.py:100
+#: trac/search/web_ui.py:108
 #, python-format
 msgid "Search query too short. Query must be at least %(num)s characters long."
 msgstr "鎼滅储鏌ヨ澶煭. 鏌ヨ蹇呴』鑷冲皯鍖呭惈 %(num)s 瀛楃."
 
-#: trac/search/web_ui.py:102
+#: trac/search/web_ui.py:110
 msgid "Search Error"
 msgstr "鎼滅储閿欒"
 
-#: trac/search/web_ui.py:137 trac/ticket/query.py:659 trac/ticket/report.py:316
+#: trac/search/web_ui.py:145 trac/ticket/query.py:682 trac/ticket/report.py:324
 msgid "Next Page"
 msgstr "涓嬩竴椤"
 
-#: trac/search/web_ui.py:143 trac/ticket/query.py:664 trac/ticket/report.py:320
+#: trac/search/web_ui.py:151 trac/ticket/query.py:687 trac/ticket/report.py:328
 msgid "Previous Page"
 msgstr "涓婁竴椤"
 
-#: trac/search/web_ui.py:185
+#: trac/search/web_ui.py:193
 #, python-format
 msgid "Browse repository path %(path)s"
-msgstr "娴忚浠撳簱璺緞 %(path)s"
+msgstr "娴忚鐗堟湰搴撹矾寰 %(path)s"
 
-#: trac/search/templates/search.html:10 trac/search/templates/search.html:40
+#: trac/search/templates/search.html:11 trac/search/templates/search.html:41
 #: trac/ticket/templates/query_results.html:21
-#: trac/ticket/templates/report_view.html:44
+#: trac/ticket/templates/report_view.html:87
 msgid "Results"
 msgstr "缁撴灉"
 
-#: trac/search/templates/search.html:48
+#: trac/search/templates/search.html:49
 msgid "Quickjump to"
 msgstr "蹇熻烦杞埌"
 
-#: trac/search/templates/search.html:56
+#: trac/search/templates/search.html:57
 msgid "By"
-msgstr "鐢"
+msgstr "鎿嶄綔鑰:"
 
-#: trac/search/templates/search.html:65
-#: trac/ticket/templates/report_view.html:166
+#: trac/search/templates/search.html:66
+#: trac/ticket/templates/report_view.html:216
 msgid "No matches found."
 msgstr "娌℃湁鍖归厤鐨勭粨鏋."
 
 #: trac/search/templates/search.html:70
-#: trac/ticket/templates/milestone_delete.html:38
-#: trac/ticket/templates/milestone_edit.html:95
-#: trac/ticket/templates/milestone_view.html:96
-#: trac/ticket/templates/query.html:238
-#: trac/ticket/templates/report_delete.html:26
-#: trac/ticket/templates/report_edit.html:49
-#: trac/ticket/templates/report_view.html:169
-#: trac/ticket/templates/roadmap.html:71 trac/ticket/templates/ticket.html:395
-#: trac/timeline/templates/timeline.html:53
-#: trac/versioncontrol/templates/browser.html:142
-#: trac/versioncontrol/templates/diff_form.html:62
-#: trac/versioncontrol/templates/revisionlog.html:168
-msgid "Note:"
-msgstr "娉:"
+msgid ""
+"[1:Note:] See [2:TracSearch]\n"
+"        for help on searching."
+msgstr "[1:娉ㄦ剰锛歖 鍏充簬鎼滅储鐨勫府鍔╁弬瑙 [2:TracSearch]"
 
-#: trac/search/templates/search.html:70
-#: trac/ticket/templates/milestone_delete.html:38
-#: trac/ticket/templates/milestone_edit.html:95
-#: trac/ticket/templates/milestone_view.html:96
-#: trac/ticket/templates/query.html:238
-#: trac/ticket/templates/report_delete.html:26
-#: trac/ticket/templates/report_edit.html:49
-#: trac/ticket/templates/report_view.html:169
-#: trac/ticket/templates/roadmap.html:71 trac/ticket/templates/ticket.html:395
-#: trac/timeline/templates/timeline.html:53
-#: trac/versioncontrol/templates/browser.html:142
-#: trac/versioncontrol/templates/diff_form.html:62
-#: trac/versioncontrol/templates/revisionlog.html:168
-msgid "See"
-msgstr "鍙傝"
-
-#: trac/search/templates/search.html:70
-msgid "TracSearch"
-msgstr "TracSearch"
-
-#: trac/search/templates/search.html:70
-msgid "for help on searching."
-msgstr "鑾峰緱鎼滅储甯姪."
-
-#: trac/templates/about.html:23
+#: trac/templates/about.html:25
 msgid "Trac: Integrated SCM & Project Management"
-msgstr "Trac: 闆嗘垚SCM鍜岄」鐩鐞"
+msgstr "Trac: 闆嗘垚鐨勬簮鐮佺鐞嗗拰椤圭洰绠＄悊"
 
-#: trac/templates/about.html:27
+#: trac/templates/about.html:29
 msgid ""
 "Trac is a web-based software project management and bug/issue\n"
 "        tracking system emphasizing ease of use and low ceremony.\n"
@@ -1068,51 +1385,51 @@
 "        瀹冩彁渚涗簡闆嗘垚Wiki/鐗堟湰鎺у埗绯荤粺鐣岄潰, \n"
 "        浠ュ強鏇村鏂逛究鐨勯」鐩鐞嗘笭閬, 鏉ユ帉鎺ч」鐩殑浜嬩欢鍜屽彉鍖."
 
-#: trac/templates/about.html:33
+#: trac/templates/about.html:35
 msgid "Trac is distributed under the modified BSD License."
-msgstr "Trac鏄互淇BSD璁稿彲璇佸垎鍙戠殑."
+msgstr "Trac鏄互modified BSD璁稿彲璇佸垎鍙戠殑銆"
 
-#: trac/templates/about.html:33
+#: trac/templates/about.html:35
 msgid "The complete text of the license can be found"
 msgstr "鏌ョ湅璁稿彲璇佺殑瀹屾暣鍐呭"
 
-#: trac/templates/about.html:35
+#: trac/templates/about.html:37
 msgid "online"
 msgstr "鍦ㄧ嚎鐗堟湰"
 
-#: trac/templates/about.html:35
+#: trac/templates/about.html:37
 msgid "as well as in the"
 msgstr "浠ュ強鍦"
 
-#: trac/templates/about.html:36
+#: trac/templates/about.html:38
 msgid "COPYING"
 msgstr "COPYING"
 
-#: trac/templates/about.html:36
+#: trac/templates/about.html:38
 msgid "file included in the distribution."
 msgstr "鏂囦欢涓(鍖呭惈鐨勫彂甯冩枃浠朵腑)."
 
-#: trac/templates/about.html:38
+#: trac/templates/about.html:40
 msgid "python powered"
 msgstr "鍔ㄥ姏婧愯嚜python"
 
-#: trac/templates/about.html:41
+#: trac/templates/about.html:43
 msgid "Please visit the Trac open source project:"
 msgstr "璁块棶Trac寮婧愰」鐩:"
 
-#: trac/templates/about.html:42
+#: trac/templates/about.html:44
 msgid "http://trac.edgewall.org/"
 msgstr "http://trac.edgewall.org/"
 
-#: trac/templates/about.html:51
+#: trac/templates/about.html:53
 msgid "System Information"
 msgstr "绯荤粺淇℃伅"
 
-#: trac/templates/about.html:65
+#: trac/templates/about.html:67
 msgid "Section"
 msgstr "閮ㄥ垎"
 
-#: trac/templates/about.html:67 trac/templates/error.html:162
+#: trac/templates/about.html:69 trac/templates/error.html:166
 msgid "Value"
 msgstr "鍊"
 
@@ -1120,74 +1437,72 @@
 msgid "Attachment"
 msgstr "闄勪欢"
 
-#: trac/templates/attachment.html:17
+#: trac/templates/attachment.html:25
 msgid "Add Attachment to"
 msgstr "澧炲姞闄勪欢鍒"
 
-#: trac/templates/attachment.html:20
+#: trac/templates/attachment.html:28
 msgid "(size limit"
 msgstr "(澶у皬闄愬埗"
 
-#: trac/templates/attachment.html:25
+#: trac/templates/attachment.html:33
 msgid "Attachment Info"
 msgstr "闄勪欢淇℃伅"
 
-#: trac/templates/attachment.html:28 trac/ticket/templates/ticket.html:246
-#: trac/wiki/templates/wiki_edit.html:105
+#: trac/templates/attachment.html:36 trac/ticket/templates/ticket.html:254
+#: trac/wiki/templates/wiki_edit.html:95
 msgid "Your email or username:"
-msgstr "浣犵殑email鎴栫敤鎴峰悕:"
+msgstr "鎮ㄧ殑email鎴栫敤鎴峰悕:"
 
-#: trac/templates/attachment.html:34
+#: trac/templates/attachment.html:42
 msgid "Description of the file (optional):"
 msgstr "鏂囦欢鎻忚堪(鍙):"
 
-#: trac/templates/attachment.html:39
+#: trac/templates/attachment.html:47
 msgid "Replace existing attachment of the same name"
 msgstr "鏇挎崲宸叉湁鍚屽悕闄勪欢"
 
-#: trac/templates/attachment.html:48
+#: trac/templates/attachment.html:56
 msgid "Add attachment"
 msgstr "杩藉姞闄勪欢"
 
-#: trac/templates/attachment.html:56
+#: trac/templates/attachment.html:64
 msgid "Are you sure you want to delete this attachment?"
 msgstr "纭畾鍒犻櫎璇ラ檮浠?"
 
-#: trac/templates/attachment.html:56 trac/wiki/templates/wiki_delete.html:32
+#: trac/templates/attachment.html:64 trac/wiki/templates/wiki_delete.html:32
 msgid "This is an irreversible operation."
 msgstr "璇ユ搷浣滄槸涓嶅彲閫嗙殑."
 
-#: trac/templates/attachment.html:63 trac/templates/attachment.html:103
+#: trac/templates/attachment.html:71 trac/templates/attachment.html:111
 msgid "Delete attachment"
 msgstr "鍒犻櫎闄勪欢"
 
-#: trac/templates/attachment.html:78 trac/ticket/api.py:212
-#: trac/ticket/templates/ticket.html:165
-msgid "Description"
-msgstr "鎻忚堪"
+#: trac/templates/attachment.html:80
+msgid "Attach another file"
+msgstr "闄勫姞鍙︿竴涓枃浠"
 
-#: trac/templates/attachment.html:82
+#: trac/templates/attachment.html:90
 msgid "(added by"
 msgstr "(娣诲姞鑰"
 
-#: trac/templates/attachment.html:83 trac/templates/diff_view.html:40
-#: trac/versioncontrol/templates/browser.html:104
+#: trac/templates/attachment.html:91 trac/templates/diff_view.html:40
 #: trac/versioncontrol/templates/changeset.html:96
-#: trac/wiki/templates/wiki_view.html:26
+#: trac/wiki/templates/wiki_view.html:33
 msgid "ago)"
 msgstr "鍓)"
 
-#: trac/templates/diff_div.html:53
-#: trac/versioncontrol/templates/browser.html:124
+#: trac/templates/diff_div.html:58
+#: trac/versioncontrol/templates/browser.html:134
 msgid "Property"
 msgstr "灞炴"
 
-#: trac/templates/diff_div.html:64 trac/ticket/templates/ticket.html:61
+#: trac/templates/diff_div.html:69 trac/ticket/templates/ticket.html:64
 #: trac/versioncontrol/templates/changeset.html:32
 msgid "to"
 msgstr "鑷"
 
-#: trac/templates/diff_div.html:69
+#: trac/templates/diff_div.html:74
 msgid "Differences"
 msgstr "宸紓"
 
@@ -1196,22 +1511,23 @@
 msgstr "鍙樻洿"
 
 #: trac/templates/diff_view.html:18 trac/templates/diff_view.html:21
+#: trac/ticket/templates/query.html:104
 msgid "between"
 msgstr "涔嬮棿"
 
 #: trac/templates/diff_view.html:19 trac/templates/diff_view.html:25
-#: trac/templates/history_view.html:26 trac/ticket/templates/ticket.html:98
-#: trac/wiki/web_ui.py:519 trac/wiki/templates/wiki_view.html:25
+#: trac/templates/history_view.html:26 trac/ticket/templates/ticket.html:103
+#: trac/wiki/web_ui.py:549 trac/wiki/templates/wiki_view.html:32
 msgid "Version"
 msgstr "鐗堟湰"
 
 #: trac/templates/diff_view.html:19 trac/templates/diff_view.html:22
-#: trac/timeline/templates/timeline.html:20
+#: trac/ticket/templates/query.html:106
 msgid "and"
 msgstr "鍜"
 
-#: trac/templates/diff_view.html:22 trac/ticket/web_ui.py:716
-#: trac/ticket/templates/ticket.html:95
+#: trac/templates/diff_view.html:22 trac/ticket/web_ui.py:765
+#: trac/ticket/templates/ticket.html:100
 msgid "Initial Version"
 msgstr "鍒濆鐗堟湰"
 
@@ -1230,44 +1546,44 @@
 msgstr "鏃堕棿鎴:"
 
 #: trac/templates/diff_view.html:39 trac/templates/diff_view.html:45
-#: trac/templates/diff_view.html:50
+#: trac/templates/diff_view.html:51
 msgid "(multiple changes)"
 msgstr "(澶氭鍙樻洿)"
 
-#: trac/templates/diff_view.html:46
+#: trac/templates/diff_view.html:47
 msgid "(IP:"
 msgstr "(IP:"
 
-#: trac/templates/diff_view.html:48
+#: trac/templates/diff_view.html:49
 msgid "Comment:"
 msgstr "璇勮:"
 
-#: trac/templates/diff_view.html:56
+#: trac/templates/diff_view.html:57
 #: trac/versioncontrol/templates/changeset.html:151
-#: trac/versioncontrol/templates/revisionlog.html:70
+#: trac/versioncontrol/templates/revisionlog.html:71
 msgid "Legend:"
 msgstr "鍥句緥:"
 
-#: trac/templates/diff_view.html:58
+#: trac/templates/diff_view.html:59
 #: trac/versioncontrol/templates/changeset.html:153
 msgid "Unmodified"
 msgstr "鏈慨鏀"
 
-#: trac/templates/diff_view.html:59
+#: trac/templates/diff_view.html:60
 #: trac/versioncontrol/templates/changeset.html:154
-#: trac/versioncontrol/templates/revisionlog.html:72
+#: trac/versioncontrol/templates/revisionlog.html:73
 msgid "Added"
 msgstr "宸插鍔"
 
-#: trac/templates/diff_view.html:60
+#: trac/templates/diff_view.html:61
 #: trac/versioncontrol/templates/changeset.html:155
-#: trac/versioncontrol/templates/revisionlog.html:74
+#: trac/versioncontrol/templates/revisionlog.html:75
 msgid "Removed"
 msgstr "鍒犻櫎"
 
-#: trac/templates/diff_view.html:61 trac/ticket/query.py:588
+#: trac/templates/diff_view.html:62 trac/ticket/api.py:250
 #: trac/versioncontrol/templates/changeset.html:157
-#: trac/versioncontrol/templates/revisionlog.html:76
+#: trac/versioncontrol/templates/revisionlog.html:77 trac/wiki/admin.py:155
 msgid "Modified"
 msgstr "淇敼"
 
@@ -1329,92 +1645,122 @@
 
 #: trac/templates/error.html:106
 msgid ""
-"There was an internal error in Trac. It is recommended\n"
-"              that you inform your local"
-msgstr ""
-"Trac涓湁涓涓唴閮ㄩ敊璇. 寤鸿\n"
-"              閫氱煡浣犵殑鏈湴"
+"There was an internal error in Trac. \n"
+"                It is recommended that you notify your local \n"
+"                [1:\n"
+"                    Trac administrator] with the information needed to \n"
+"                reproduce the issue."
+msgstr "Trac鍙戠敓浜嗗唴閮ㄩ敊璇傚缓璁偍鍚戞湰鍦癧1:Trac 绠＄悊鍛榏鎻愪緵閲嶇幇闂鎵闇瑕佺殑淇℃伅銆"
 
-#: trac/templates/error.html:108
-msgid ""
-"Trac\n"
-"              administrator"
-msgstr ""
-"Trac\n"
-"              绠＄悊鍛"
-
-#: trac/templates/error.html:109
-msgid ""
-"and give him all the information he needs to\n"
-"              reproduce the issue."
-msgstr "骞跺皢濡備綍閲嶇幇璇ラ棶棰樼殑鎵鏈変俊鎭兘鍛婅瘔浠."
-
 #: trac/templates/error.html:114
 msgid "To that end, you could"
-msgstr "鏈鍚, 浣犲彲浠"
+msgstr "涓烘鐩殑, 鎮ㄥ彲浠"
 
 #: trac/templates/error.html:114
-msgid ""
-"a ticket at this\n"
-"                  site."
-msgstr "涓涓紶绁ㄤ簬杩欎釜绔欑偣."
+msgid "a ticket."
+msgstr "涓涓换鍔″崟銆"
 
-#: trac/templates/error.html:118
+#: trac/templates/error.html:116
 msgid "The action that triggered the error was:"
 msgstr "瑙﹀彂姝ら敊璇殑鍔ㄤ綔鏄:"
 
-#: trac/templates/error.html:124
+#: trac/templates/error.html:121
+msgid "This is probably a local installation issue."
+msgstr "杩欏彲鑳芥槸涓涓湰鍦板畨瑁呴棶棰樸"
+
+#: trac/templates/error.html:122
+msgid "You should"
+msgstr "鎮ㄥ簲璇ュ湪绠＄悊鐢═rac涓"
+
+#: trac/templates/error.html:123
 msgid ""
-"If you think this should work you can reproduce the problem,\n"
+"a ticket at the admin Trac to report\n"
+"                    the issue."
+msgstr "涓涓换鍔″崟鎶ュ憡闂銆"
+
+#: trac/templates/error.html:128
+msgid "Found a bug in Trac?"
+msgstr "鍙戠幇浜嗕竴涓猅rac鐨凚ug锛"
+
+#: trac/templates/error.html:129
+msgid ""
+"If you think this should work and you can reproduce the problem,\n"
 "              you should consider reporting this to the Trac team."
 msgstr ""
-"濡傛灉璁や负杩欏簲褰撳彲鐢,涓斾綘涔熷彲浠ラ噸鐜拌闂,\n"
-"              搴旇冭檻鍚慣rac寮鍙戝洟闃熸姤鍛婅繖涓棶棰."
+"濡傛灉璁や负姝ら」鍔熻兘鏈簲鍙敤锛屽苟鑳介噸鐜拌闂锛孿n"
+"              搴旇冭檻鍚慣rac寮鍙戝洟闃熸姤鍛婅繖涓棶棰樸"
 
-#: trac/templates/error.html:126
-#, fuzzy
+#: trac/templates/error.html:131
+msgid "Before you do that, though, please first try"
+msgstr "鍦ㄦ涔嬪墠锛岃棣栧厛灏濊瘯"
+
+#: trac/templates/error.html:132
+msgid "searching"
+msgstr "鎼滅储"
+
+#: trac/templates/error.html:132
+msgid "for similar issues"
+msgstr "绫讳技闂"
+
+#: trac/templates/error.html:133
 msgid ""
+", as it is quite likely that this problem\n"
+"                has been reported before. For questions about "
+"installation\n"
+"                and configuration of Trac, please try the"
+msgstr ""
+"锛屽洜涓哄緢鍙兘杩欎釜闂浠ュ墠宸茬粡鎶ュ憡杩囦簡銆俓n"
+"鏈夊叧Trac瀹夎鍜岄厤缃殑闂锛岃灏濊瘯"
+
+#: trac/templates/error.html:136
+msgid "mailing list"
+msgstr "閭欢鍒楄〃"
+
+#: trac/templates/error.html:136
+msgid "instead of filing a ticket."
+msgstr "鑰屼笉鏄～鍐欎换鍔″崟"
+
+#: trac/templates/error.html:131
+msgid ""
 "Before you do that, though, please first try\n"
-"                [1:searching]\n"
-"                for similar issues, as it is quite likely that this "
+"                [1:[2:searching]\n"
+"                for similar issues], as it is quite likely that this "
 "problem\n"
 "                has been reported before. For questions about "
 "installation\n"
 "                and configuration of Trac, please try the\n"
-"                [2:mailing list]\n"
+"                [3:mailing list]\n"
 "                instead of filing a ticket."
 msgstr ""
-"鐒惰, 鍦ㄤ綘杩欐牱鍋氫箣鍓, 璇峰厛灏濊瘯[1:鎼滅储]绫讳技鎻愭, 鍥犱负閫氬父杩欎釜闂\n"
-"宸茬粡琚叾浠栦汉鎶ュ憡浜. 瀵逛簬鏈夊叧Trac瀹夎鍜岄厤缃殑闂璇峰皾璇昜2:閭欢鍒楄〃]鑰屼笉鏄彂鍑轰竴涓紶绁."
+"鍦ㄦ涔嬪墠锛岃棣栧厛灏濊瘯\n"
+"                [1:[2:鎼滅储]\n"
+"                绫讳技闂]锛屽洜涓哄緢鍙兘杩欎釜闂浠ュ墠宸茬粡鎶ュ憡杩囦簡銆俓n"
+"                鏈夊叧Trac瀹夎鍜岄厤缃殑闂锛岃灏濊瘯浣跨敤\n"
+"                [3:閭欢鍒楄〃]\n"
+"                鑰屼笉鏄～鍐欎换鍔″崟銆"
 
-#: trac/templates/error.html:136
-msgid "Otherwise, please"
-msgstr "鐒惰, 璇"
-
-#: trac/templates/error.html:136
+#: trac/templates/error.html:140
+#, python-format
 msgid ""
-"a new ticket at\n"
+"Otherwise, please %(create)s a new ticket at\n"
 "                the Trac project site, where you can describe the problem"
 " and\n"
 "                explain how to reproduce it."
-msgstr ""
-"涓涓柊浼犵エ浜嶾n"
-"                Trac椤圭洰绔欑偣, 鍦ㄦ浣犲彲浠ユ弿杩伴棶棰榎n"
-"                骞惰В閲婂浣曢噸鐜拌繖涓棶棰."
+msgstr "濡傛灉涓嶆槸锛屽氨璇峰湪Trac椤圭洰缃戠珯涓%(create)s涓涓柊浠诲姟鍗曪紝鎻忚堪闂骞惰鏄庡浣曢噸鐜般"
 
-#: trac/templates/error.html:141
+#: trac/templates/error.html:145
 msgid "Python Traceback"
 msgstr "Python Traceback"
 
-#: trac/templates/error.html:142
+#: trac/templates/error.html:146
 msgid "Most recent call last:"
 msgstr "鏈澶氭渶杩戣皟鐢ㄧ殑:"
 
-#: trac/templates/error.html:147 trac/templates/error.html:174
+#: trac/templates/error.html:151 trac/templates/error.html:178
 msgid "File \""
 msgstr "鏂囦欢 \""
 
-#: trac/templates/error.html:147
+#: trac/templates/error.html:151
 msgid ""
 "\",\n"
 "                        line"
@@ -1422,35 +1768,35 @@
 "\",\n"
 "                        琛"
 
-#: trac/templates/error.html:148 trac/templates/error.html:174
+#: trac/templates/error.html:152 trac/templates/error.html:178
 msgid ", in"
 msgstr ", 浜"
 
-#: trac/templates/error.html:152
+#: trac/templates/error.html:156
 msgid "Code fragment:"
 msgstr "閮ㄥ垎浠ｇ爜:"
 
-#: trac/templates/error.html:160
+#: trac/templates/error.html:164
 msgid "Local variables:"
 msgstr "灞閮ㄥ彉閲:"
 
-#: trac/templates/error.html:174
+#: trac/templates/error.html:178
 msgid "\", line"
 msgstr "\", 琛"
 
-#: trac/templates/error.html:177
+#: trac/templates/error.html:181
 msgid "Switch to plain text view"
 msgstr "鍒囨崲鍒扮函鏂囨湰瑙嗗浘"
 
-#: trac/templates/error.html:180
+#: trac/templates/error.html:184
 msgid "System Information:"
 msgstr "绯荤粺淇℃伅:"
 
-#: trac/templates/error.html:192
+#: trac/templates/error.html:196
 msgid "TracGuide"
 msgstr "TracGuide"
 
-#: trac/templates/error.html:192
+#: trac/templates/error.html:196
 msgid "鈥 The Trac User and Administration Guide"
 msgstr "鈥 Trac鐢ㄦ埛鍙婄鐞嗗憳鎸囧崡"
 
@@ -1459,9 +1805,9 @@
 msgstr "鍙樻洿鍘嗗彶"
 
 #: trac/templates/history_view.html:20 trac/templates/history_view.html:51
-#: trac/versioncontrol/templates/diff_form.html:57
-#: trac/versioncontrol/templates/revisionlog.html:84
-#: trac/versioncontrol/templates/revisionlog.html:162
+#: trac/versioncontrol/templates/diff_form.html:58
+#: trac/versioncontrol/templates/revisionlog.html:85
+#: trac/versioncontrol/templates/revisionlog.html:171
 msgid "View changes"
 msgstr "鏌ラ槄鍙樻洿"
 
@@ -1469,16 +1815,6 @@
 msgid "Change history"
 msgstr "鍙樻洿鍘嗗彶"
 
-#: trac/templates/history_view.html:27
-#: trac/versioncontrol/templates/revisionlog.html:94
-msgid "Date"
-msgstr "鏃ユ湡"
-
-#: trac/templates/history_view.html:28
-#: trac/versioncontrol/templates/revisionlog.html:95
-msgid "Author"
-msgstr "浣滆"
-
 #: trac/templates/history_view.html:29
 #: trac/ticket/templates/ticket_notify_email.txt:21
 msgid "Comment"
@@ -1496,7 +1832,7 @@
 msgid "Error"
 msgstr "閿欒"
 
-#: trac/templates/layout.html:43
+#: trac/templates/layout.html:42
 msgid "Download in other formats:"
 msgstr "鐢ㄥ叾浠栨牸寮忎笅杞:"
 
@@ -1506,7 +1842,7 @@
 
 #: trac/templates/macros.html:73 trac/templates/macros.html:74
 msgid "Previous"
-msgstr "鍓嶄竴涓"
+msgstr "涓婁竴涓"
 
 #: trac/templates/macros.html:83 trac/templates/macros.html:84
 msgid "Next"
@@ -1548,86 +1884,73 @@
 msgid "White space changes"
 msgstr "绌哄瓧绗﹀彉鍖"
 
-#: trac/templates/macros.html:125 trac/ticket/templates/milestone_view.html:53
-#: trac/ticket/templates/query.html:179 trac/ticket/templates/roadmap.html:26
-#: trac/timeline/templates/timeline.html:30
-#: trac/versioncontrol/templates/revisionlog.html:64
+#: trac/templates/macros.html:125 trac/ticket/templates/milestone_view.html:54
+#: trac/ticket/templates/query.html:191
+#: trac/ticket/templates/report_view.html:33
+#: trac/ticket/templates/roadmap.html:25
+#: trac/timeline/templates/timeline.html:32
+#: trac/versioncontrol/templates/revisionlog.html:65
 msgid "Update"
 msgstr "鏇存柊缁撴灉"
 
-#: trac/templates/macros.html:138 trac/templates/macros.html:151
+#: trac/templates/macros.html:138
+msgid "(The file is empty)"
+msgstr "(鏂囦欢涓虹┖)"
+
+#: trac/templates/macros.html:141
 msgid "HTML preview not available"
 msgstr "HTML棰勮鍔熻兘涓嶅彲鐢"
 
-#: trac/templates/macros.html:140
+#: trac/templates/macros.html:143
 msgid "since the file size exceeds"
 msgstr "鐢变簬鏂囦欢澶у皬瓒呰繃"
 
-#: trac/templates/macros.html:141
+#: trac/templates/macros.html:144
 msgid "bytes."
 msgstr "瀛楄妭."
 
-#: trac/templates/macros.html:143
+#: trac/templates/macros.html:146
 msgid "since no preview renderer could handle it."
 msgstr "鐢变簬娌℃湁鍚堥傜殑娓叉煋鍣ㄦ潵澶勭悊."
 
-#: trac/templates/macros.html:146
+#: trac/templates/macros.html:149
 msgid "Try"
 msgstr "灏濊瘯"
 
-#: trac/templates/macros.html:147
+#: trac/templates/macros.html:150
 msgid "downloading"
 msgstr "涓嬭浇"
 
-#: trac/templates/macros.html:147
+#: trac/templates/macros.html:150
 msgid "the file instead."
 msgstr "鏂囦欢浠ｆ浛."
 
-#: trac/templates/macros.html:151
-msgid ""
-".\n"
-"          To view,"
-msgstr ""
-".\n"
-"          鏌ョ湅,"
-
-#: trac/templates/macros.html:152
-msgid "download"
-msgstr "涓嬭浇"
-
-#: trac/templates/macros.html:152
-msgid "the file."
-msgstr "鏂囦欢."
-
-#: trac/templates/macros.html:154
-msgid "found:"
-msgstr "鎵惧埌:"
-
-#: trac/templates/macros.html:171
+#: trac/templates/macros.html:163
 msgid "View attachment"
 msgstr "鏌ョ湅闄勪欢"
 
-#: trac/templates/macros.html:172
+#: trac/templates/macros.html:166
 msgid ") - added by"
 msgstr ") - 娣诲姞鑰"
 
-#: trac/templates/macros.html:173 trac/ticket/templates/query_results.html:70
+#: trac/templates/macros.html:167 trac/ticket/templates/query_results.html:77
 msgid "ago."
 msgstr "鍓."
 
-#: trac/templates/macros.html:178 trac/templates/macros.html:189
+#: trac/templates/macros.html:172 trac/templates/macros.html:183
 msgid "Attachments"
 msgstr "闄勪欢"
 
-#: trac/templates/macros.html:214
+#: trac/templates/macros.html:208
 msgid "Attach file"
 msgstr "闄勫姞鏂囦欢"
 
-#: trac/templates/macros.html:238 trac/templates/macros.html:242
+#: trac/templates/macros.html:236 trac/templates/macros.html:237
+#: trac/templates/macros.html:245
 msgid "s:"
 msgstr "s:"
 
-#: trac/templates/macros.html:242
+#: trac/templates/macros.html:245
 msgid "Total"
 msgstr "鎬昏"
 
@@ -1643,521 +1966,612 @@
 msgid "Warning:"
 msgstr "璀﹀憡:"
 
-#: trac/templates/theme.html:49
-msgid "Warnings:"
-msgstr "璀﹀憡s:"
+#: trac/ticket/admin.py:105
+#, python-format
+msgid "The component \"%(name)s\" has been added."
+msgstr "缁勪欢 '%(name)s' 宸叉坊鍔犮"
 
-#: trac/templates/theme.html:57
-msgid "Notice:"
-msgstr "娉ㄦ剰:"
-
-#: trac/templates/theme.html:60
-msgid "Notices:"
-msgstr "娉ㄦ剰s:"
-
-#: trac/ticket/admin.py:87
+#: trac/ticket/admin.py:109
 #, python-format
 msgid "Component %(name)s already exists."
 msgstr "缁勪欢 %(name)s 宸茬粡瀛樺湪."
 
-#: trac/ticket/admin.py:94
+#: trac/ticket/admin.py:116
 msgid "No component selected"
 msgstr "娌℃湁閫夋嫨缁勪欢"
 
-#: trac/ticket/admin.py:157 trac/ticket/roadmap.py:632
+#: trac/ticket/admin.py:124
+msgid "The selected components have been removed."
+msgstr "閫夊畾缁勪欢宸插垹闄ゃ"
+
+#: trac/ticket/admin.py:262 trac/ticket/roadmap.py:651
 msgid "Completion date may not be in the future"
 msgstr "瀹屾垚鏃ユ湡涓嶈兘鏄湭鏉ョ殑鏃ユ湡"
 
-#: trac/ticket/admin.py:159
+#: trac/ticket/admin.py:264
 msgid "Invalid Completion Date"
 msgstr "鏃犳晥瀹屾垚鏃ユ湡"
 
-#: trac/ticket/admin.py:185
+#: trac/ticket/admin.py:291
 #, python-format
+msgid "The milestone \"%(name)s\" has been added."
+msgstr "閲岀▼纰 \"%(name)s\" 宸叉坊鍔犮"
+
+#: trac/ticket/admin.py:295
+#, python-format
 msgid "Milestone %(name)s already exists."
 msgstr "閲岀▼纰 %(name)s 宸茬粡瀛樺湪."
 
-#: trac/ticket/admin.py:192
+#: trac/ticket/admin.py:303
 msgid "No milestone selected"
 msgstr "娌℃湁閫夋嫨閲岀▼纰"
 
-#: trac/ticket/admin.py:267
+#: trac/ticket/admin.py:311
+msgid "The selected milestones have been removed."
+msgstr "閫夊畾閲岀▼纰戝凡鍒犻櫎銆"
+
+#: trac/ticket/admin.py:470
 #, python-format
+msgid "The version \"%(name)s\" has been added."
+msgstr "鐗堟湰 '%(name)s' 宸叉坊鍔犮"
+
+#: trac/ticket/admin.py:474
+#, python-format
 msgid "Version %(name)s already exists."
 msgstr "鐗堟湰 %(name)s 宸茬粡瀛樺湪."
 
-#: trac/ticket/admin.py:274
+#: trac/ticket/admin.py:481
 msgid "No version selected"
 msgstr "娌℃湁閫夋嫨鐗堟湰"
 
-#: trac/ticket/admin.py:348
+#: trac/ticket/admin.py:489
+msgid "The selected versions have been removed."
+msgstr "閫夊畾鐗堟湰宸插垹闄ゃ"
+
+#: trac/ticket/admin.py:547
+msgid "Time"
+msgstr "鏃堕棿"
+
+#: trac/ticket/admin.py:618
 #, python-format
+msgid "The %(field)s \"%(name)s\" has been added."
+msgstr "%(field)s \"%(name)s\" 宸叉坊鍔犮"
+
+#: trac/ticket/admin.py:623
+#, python-format
 msgid "%(type)s %(name)s already exists"
 msgstr "%(type)s %(name)s 宸茬粡瀛樺湪"
 
-#: trac/ticket/admin.py:354
-#, fuzzy, python-format
+#: trac/ticket/admin.py:629
+#, python-format
 msgid "No %s selected"
 msgstr "娌℃湁 %s 琚夋嫨"
 
-#: trac/ticket/admin.py:383
+#: trac/ticket/admin.py:639
+#, python-format
+msgid "The selected %(fields)s have been removed."
+msgstr "閫夊畾%(fields)s宸插垹闄ゃ"
+
+#: trac/ticket/admin.py:660
+msgid ""
+"Error writing to trac.ini, make sure it is writable by the web server. "
+"The default value has not been saved."
+msgstr ""
+"鍐欏叆trac.ini閿欒锛岃纭繚瀹冨彲琚玏eb鏈嶅姟鍣ㄥ啓鍏ャ俓n"
+"缂虹渷鍊兼病鏈夎淇濆瓨銆"
+
+#: trac/ticket/admin.py:672
 msgid "Order numbers must be unique"
 msgstr "搴忓彿蹇呴』鍞竴"
 
-#: trac/ticket/api.py:362
+#: trac/ticket/admin.py:734
+msgid "Possible Values"
+msgstr "鍙彇鍊"
+
+#: trac/ticket/admin.py:756
 #, python-format
+msgid "Invalid up/down value: %(value)s"
+msgstr "鏃犳晥鐨 up/down 鍊: %(value)s"
+
+#: trac/ticket/admin.py:822
+msgid "<number> must be a number"
+msgstr "<number> 蹇呴』鏄竴涓暟"
+
+#: trac/ticket/admin.py:827
+#, python-format
+msgid "Ticket %(num)s and all associated data removed."
+msgstr "浠诲姟鍗 %(num)s 鍜屾墍鏈夌浉鍏虫暟鎹潎宸茶鍒犻櫎銆"
+
+#: trac/ticket/api.py:248
+msgid "Created"
+msgstr "鍒涘缓"
+
+#: trac/ticket/api.py:405
+#, python-format
 msgid "Comment %(cnum)s for Ticket #%(id)s"
-msgstr "璇勮 %(cnum)s 浼犵エ #%(id)s"
+msgstr "璇勮 %(cnum)s 浠诲姟鍗 #%(id)s"
 
-#: trac/ticket/api.py:383
+#: trac/ticket/api.py:426
 #, python-format
 msgid "Ticket #%(shortname)s"
-msgstr "浼犵エ #%(shortname)s"
+msgstr "浠诲姟鍗 #%(shortname)s"
 
-#: trac/ticket/default_workflow.py:226
+#: trac/ticket/default_workflow.py:222
 msgid "Current state no longer exists"
 msgstr "褰撳墠鐘舵佸繁涓嶅瓨鍦"
 
-#: trac/ticket/default_workflow.py:228
+#: trac/ticket/default_workflow.py:224
 msgid "The ticket will be disowned"
-msgstr "浼犵エ灏嗗皢鑴辩灞炰富"
+msgstr "浠诲姟鍗曞皢灏嗚劚绂诲睘涓"
 
-#: trac/ticket/default_workflow.py:247 trac/ticket/default_workflow.py:258
-msgid "The owner will change"
-msgstr "灞炰富灏嗗彉鏇"
+#: trac/ticket/default_workflow.py:243 trac/ticket/default_workflow.py:257
+#, python-format
+msgid "The owner will change from %(current_owner)s"
+msgstr "灞炰富灏嗙敱%(current_owner)s鍙樻洿"
 
-#: trac/ticket/default_workflow.py:251 trac/ticket/default_workflow.py:261
+#: trac/ticket/default_workflow.py:248
 #, python-format
-msgid "The owner will change to %(name)s"
-msgstr "灞炰富灏嗗彉鏇翠负 %(name)s"
+msgid "The owner will change from %(current_owner)s to %(selected_owner)s"
+msgstr "灞炰富灏嗙敱%(current_owner)s鍙樻洿涓%(selected_owner)s"
 
-#: trac/ticket/default_workflow.py:254
+#: trac/ticket/default_workflow.py:253
 msgid "to "
 msgstr "鍒"
 
-#: trac/ticket/default_workflow.py:273
+#: trac/ticket/default_workflow.py:261
 #, python-format
+msgid "The owner will change from %(current_owner)s to %(authname)s"
+msgstr "灞炰富灏嗙敱%(current_owner)s鍙樻洿涓%(authname)s"
+
+#: trac/ticket/default_workflow.py:272
+msgid ""
+"Your workflow attempts to set a resolution but none is defined "
+"(configuration issue, please contact your Trac admin)."
+msgstr ""
+"鎮ㄧ殑宸ヤ綔娴佽瘯鍥捐缃鐞嗙粨鏋滐紝浣嗕竴涓篃娌℃湁瀹氫箟\n"
+"(閰嶇疆闂锛岃鑱旂郴鎮ㄧ殑Trac绠＄悊鍛)銆"
+
+#: trac/ticket/default_workflow.py:277
+#, python-format
 msgid "The resolution will be set to %(name)s"
 msgstr "澶勭悊缁撴灉灏嗚缃负 %(name)s"
 
-#: trac/ticket/default_workflow.py:283
+#: trac/ticket/default_workflow.py:287
 msgid "The resolution will be set"
 msgstr "澶勭悊缁撴灉灏嗚缃负"
 
-#: trac/ticket/default_workflow.py:288
+#: trac/ticket/default_workflow.py:293
 #, python-format
 msgid "Next status will be '%(name)s'"
 msgstr "涓嬩竴涓姸鎬佸皢鏄 '%(name)s'"
 
-#: trac/ticket/model.py:128
+#: trac/ticket/model.py:140
 msgid "Multi-values fields not supported yet"
-msgstr ""
+msgstr "灏氫笉鏀寔澶氬煎瓧娈"
 
-#: trac/ticket/model.py:363
+#: trac/ticket/model.py:392
 #, python-format
 msgid "%(type)s %(name)s does not exist."
 msgstr "%(type)s %(name)s 涓嶅瓨鍦."
 
-#: trac/ticket/model.py:507
+#: trac/ticket/model.py:540
 #, python-format
 msgid "Component %(name)s does not exist."
 msgstr "缁勪欢 '%(name)s' 涓嶅瓨鍦."
 
-#: trac/ticket/model.py:737
+#: trac/ticket/model.py:773
+msgid "Open (by due date)"
+msgstr "寮鍚(鏈夋湡闄)"
+
+#: trac/ticket/model.py:774
+msgid "Open (no due date)"
+msgstr "寮鍚(鏃犳湡闄)"
+
+#: trac/ticket/model.py:777
+msgid "Closed"
+msgstr "鍏抽棴"
+
+#: trac/ticket/model.py:793
 #, python-format
 msgid "Version %(name)s does not exist."
 msgstr "鐗堟湰 '%(name)s' 涓嶅瓨鍦."
 
-#: trac/ticket/query.py:72
+#: trac/ticket/query.py:76
 #, python-format
 msgid "Query page %(page)s is invalid."
 msgstr "鏌ヨ椤甸潰 %(page)s 鏃犳晥"
 
-#: trac/ticket/query.py:88
+#: trac/ticket/query.py:91
 #, python-format
 msgid "Query max %(max)s is invalid."
 msgstr "Query max %(max)s 鏃犳晥"
 
-#: trac/ticket/query.py:135
+#: trac/ticket/query.py:130
 msgid "Query filter requires field and constraints separated by a \"=\""
-msgstr ""
+msgstr "鏌ヨ杩囨护鍣ㄨ姹備娇鐢╘"=\"鍒嗛殧瀛楁鍜岀害鏉"
 
-#: trac/ticket/query.py:139
+#: trac/ticket/query.py:143
 msgid "Query filter requires field name"
-msgstr ""
+msgstr "鏌ヨ杩囨护鍣ㄩ渶瑕佸瓧娈靛悕"
 
-#: trac/ticket/query.py:271
+#: trac/ticket/query.py:273
 #, python-format
 msgid "Page %(page)s is beyond the number of pages in the query"
 msgstr "椤甸潰 %(page)s 宸茶秴鍑烘煡璇㈢粨鏋滈〉鏁"
 
-#: trac/ticket/query.py:589
-msgid "Created"
-msgstr "鍒涘缓"
-
-#: trac/ticket/query.py:592 trac/ticket/web_ui.py:548
+#: trac/ticket/query.py:609 trac/ticket/web_ui.py:601
 msgid "Ticket"
-msgstr "浼犵エ"
+msgstr "浠诲姟鍗"
 
-#: trac/ticket/query.py:608
+#: trac/ticket/query.py:627 trac/ticket/query.py:635
 msgid "contains"
 msgstr "鍖呭惈"
 
-#: trac/ticket/query.py:609
+#: trac/ticket/query.py:628 trac/ticket/query.py:636
 msgid "doesn't contain"
 msgstr "涓嶅寘鍚"
 
-#: trac/ticket/query.py:610
+#: trac/ticket/query.py:629
 msgid "begins with"
 msgstr "璧峰浜"
 
-#: trac/ticket/query.py:611
+#: trac/ticket/query.py:630
 msgid "ends with"
 msgstr "缁撴潫浜"
 
-#: trac/ticket/query.py:612 trac/ticket/query.py:616
+#: trac/ticket/query.py:631 trac/ticket/query.py:639
 msgid "is"
 msgstr "鏄"
 
-#: trac/ticket/query.py:613 trac/ticket/query.py:617
+#: trac/ticket/query.py:632 trac/ticket/query.py:640
 msgid "is not"
 msgstr "涓嶆槸"
 
-#: trac/ticket/query.py:672 trac/ticket/report.py:327
+#: trac/ticket/query.py:695 trac/ticket/report.py:335
 #, python-format
 msgid "Page %(num)d"
 msgstr "绗 %(num)d 椤"
 
-#: trac/ticket/query.py:713 trac/ticket/report.py:511 trac/ticket/web_ui.py:113
-#: trac/timeline/web_ui.py:190 trac/versioncontrol/web_ui/log.py:241
+#: trac/ticket/query.py:744 trac/ticket/report.py:526 trac/ticket/web_ui.py:151
+#: trac/timeline/web_ui.py:216 trac/versioncontrol/web_ui/log.py:240
 msgid "RSS Feed"
 msgstr "RSS Feed"
 
-#: trac/ticket/query.py:715 trac/ticket/report.py:514 trac/ticket/web_ui.py:109
+#: trac/ticket/query.py:746 trac/ticket/report.py:529 trac/ticket/web_ui.py:147
 msgid "Comma-delimited Text"
 msgstr "閫楀彿鍒嗗壊鏂囨湰"
 
-#: trac/ticket/query.py:717 trac/ticket/report.py:516 trac/ticket/web_ui.py:111
+#: trac/ticket/query.py:748 trac/ticket/report.py:531 trac/ticket/web_ui.py:149
 msgid "Tab-delimited Text"
 msgstr "Tab鍒嗗壊鏂囨湰"
 
-#: trac/ticket/query.py:739 trac/ticket/report.py:62
+#: trac/ticket/query.py:770 trac/ticket/report.py:63
 msgid "View Tickets"
-msgstr "鏌ョ湅浼犵エ"
+msgstr "鏌ョ湅浠诲姟鍗"
 
-#: trac/ticket/query.py:890 trac/ticket/query.py:901 trac/ticket/report.py:120
+#: trac/ticket/query.py:948 trac/ticket/query.py:959 trac/ticket/report.py:121
 msgid "Custom Query"
 msgstr "瀹氬埗鏌ヨ"
 
-#: trac/ticket/query.py:900 trac/ticket/report.py:110 trac/ticket/report.py:111
-#: trac/ticket/report.py:113 trac/ticket/report.py:230
+#: trac/ticket/query.py:958 trac/ticket/report.py:111 trac/ticket/report.py:112
+#: trac/ticket/report.py:114 trac/ticket/report.py:229
 msgid "Available Reports"
 msgstr "鍙敤鐨勬姤琛"
 
-#: trac/ticket/query.py:987
+#: trac/ticket/query.py:1046
 #, python-format
 msgid "[Error: %(error)s]"
 msgstr "[Error: %(error)s]"
 
-#: trac/ticket/query.py:1076
+#: trac/ticket/query.py:1144
 msgid "No results"
 msgstr "娌℃湁缁撴灉"
 
-#: trac/ticket/query.py:1114
+#: trac/ticket/query.py:1162
 #, python-format
+msgid "%(groupvalue)s %(groupname)s tickets matching %(query)s"
+msgstr "%(groupvalue)s %(groupname)s 浠诲姟鍗曞尮閰 %(query)s"
+
+#: trac/ticket/query.py:1184
+#, python-format
 msgid "%(groupvalue)s %(groupname)s tickets:"
-msgstr ""
+msgstr "%(groupvalue)s %(groupname)s 浠诲姟鍗曪細"
 
-#: trac/ticket/report.py:177
+#: trac/ticket/report.py:145
+msgid "The report has been created."
+msgstr "鎶ヨ〃宸插垱寤恒"
+
+#: trac/ticket/report.py:157
 #, python-format
+msgid "The report {%(id)d} has been deleted."
+msgstr "鎶ヨ〃 {%(id)d} 宸插垹闄ゃ"
+
+#: trac/ticket/report.py:181
+#, python-format
 msgid "Delete Report {%(num)s} %(title)s"
 msgstr "鍒犻櫎鎶ヨ〃 {%(num)s} %(title)s"
 
-#: trac/ticket/report.py:182 trac/ticket/report.py:194
-#: trac/ticket/report.py:242
+#: trac/ticket/report.py:186 trac/ticket/report.py:198
+#: trac/ticket/report.py:241
 #, python-format
 msgid "Report %(num)s does not exist."
 msgstr "鎶ヨ〃 %(num)s 涓嶅瓨鍦."
 
-#: trac/ticket/report.py:183 trac/ticket/report.py:195
-#: trac/ticket/report.py:243
+#: trac/ticket/report.py:187 trac/ticket/report.py:199
+#: trac/ticket/report.py:242
 msgid "Invalid Report Number"
 msgstr "鏃犳晥鎶ヨ〃鍙"
 
-#: trac/ticket/report.py:207
+#: trac/ticket/report.py:211
 msgid "Create New Report"
 msgstr "鏂板缓鎶ヨ〃"
 
-#: trac/ticket/report.py:211
+#: trac/ticket/report.py:215
 #, python-format
 msgid "Edit Report {%(num)d} %(title)s"
 msgstr "缂栬緫鎶ヨ〃 {%(num)d} %(title)s"
 
-#: trac/ticket/report.py:225
+#: trac/ticket/report.py:232
+msgid "This is a list of available reports."
+msgstr "鏈夋晥鎶ヨ〃鍒楄〃."
+
+#: trac/ticket/report.py:247
 #, python-format
 msgid "Report failed: %(error)s"
 msgstr "鎶ヨ〃澶辫触: %(error)s"
 
-#: trac/ticket/report.py:233
-msgid "This is a list of available reports."
-msgstr "鏈夋晥鎶ヨ〃鍒楄〃."
-
-#: trac/ticket/report.py:258
+#: trac/ticket/report.py:262
 #, python-format
 msgid "When specified, the report number should be \"%(num)s\"."
 msgstr "褰撴寚瀹氬悗, 鎶ヨ〃鍙峰簲鏄 \"%(num)s\"."
 
-#: trac/ticket/report.py:305
+#: trac/ticket/report.py:313
 #, python-format
 msgid "Report execution failed: %(error)s"
 msgstr "鎶ヨ〃鎵ц澶辫触: %(error)s"
 
-#: trac/ticket/report.py:518
+#: trac/ticket/report.py:514
+#, python-format
+msgid "The following arguments are missing: %(args)s"
+msgstr "缂哄皯濡備笅鍙傛暟锛%(args)s"
+
+#: trac/ticket/report.py:533
 msgid "SQL Query"
 msgstr "SQL鏌ヨ"
 
-#: trac/ticket/report.py:532
+#: trac/ticket/report.py:547
 #, python-format
 msgid "Report %(num)s has no SQL query."
 msgstr "鎶ヨ〃 %(num)s 娌℃湁SQL鏌ヨ."
 
-#: trac/ticket/report.py:562
+#: trac/ticket/report.py:577
 #, python-format
 msgid "Query parameter \"sort=%(sort_col)s\"  is invalid"
 msgstr "鏌ヨ鍙傛暟 \"sort=%(sort_col)s\"  鏃犳晥"
 
-#: trac/ticket/report.py:605
+#: trac/ticket/roadmap.py:215
 #, python-format
-msgid "Dynamic variable '%(name)s' not defined."
-msgstr "鍔ㄦ佸彉閲 '%(name)s' 鏈畾涔."
-
-#: trac/ticket/roadmap.py:213
-#, python-format
 msgid ""
 "'%(group1)s' and '%(group2)s' milestone groups both are declared to be "
 "\"catch-all\" groups. Please check your configuration."
-msgstr "'%(group1)s' 鍜 '%(group2)s' 閲岀▼纰戠粍閮藉０鏄庝负\"catch-all\" 缁. 璇锋鏌ヤ綘鐨勯厤缃."
+msgstr "'%(group1)s' 鍜 '%(group2)s' 閲岀▼纰戠粍閮藉０鏄庝负\"catch-all\" 缁. 璇锋鏌ユ偍鐨勯厤缃."
 
-#: trac/ticket/roadmap.py:229
+#: trac/ticket/roadmap.py:231
 #, python-format
 msgid ""
 "'%(groupname)s' milestone group reused status '%(status)s' already taken "
 "by other groups. Please check your configuration."
-msgstr "'%(groupname)s' 閲岀▼纰戠粍閲嶇敤浜嗗凡缁忚鍏跺畠缁勪娇鐢ㄧ殑鐘舵 '%(status)s'. 璇锋鏌ヤ綘鐨勯厤缃."
+msgstr "'%(groupname)s' 閲岀▼纰戠粍閲嶇敤浜嗗凡缁忚鍏跺畠缁勪娇鐢ㄧ殑鐘舵 '%(status)s'. 璇锋鏌ユ偍鐨勯厤缃."
 
-#: trac/ticket/roadmap.py:308 trac/ticket/roadmap.py:419
-#: trac/ticket/roadmap.py:549 trac/ticket/templates/roadmap.html:10
-#: trac/ticket/templates/roadmap.html:17
+#: trac/ticket/roadmap.py:310 trac/ticket/roadmap.py:424
+#: trac/ticket/roadmap.py:559 trac/ticket/templates/roadmap.html:11
+#: trac/ticket/templates/roadmap.html:16
 msgid "Roadmap"
 msgstr "璺嚎鍥"
 
-#: trac/ticket/roadmap.py:350
+#: trac/ticket/roadmap.py:354
 msgid "iCalendar"
 msgstr "iCalendar"
 
-#: trac/ticket/roadmap.py:428 trac/ticket/roadmap.py:801
+#: trac/ticket/roadmap.py:433 trac/ticket/roadmap.py:829
 #, python-format
 msgid "Milestone %(name)s"
 msgstr "閲岀▼纰 %(name)s"
 
-#: trac/ticket/roadmap.py:447
+#: trac/ticket/roadmap.py:452
 #, python-format
 msgid "Ticket #%(num)s: %(summary)s"
-msgstr "浼犵エ #%(num)s: %(summary)s"
+msgstr "浠诲姟鍗 #%(num)s: %(summary)s"
 
-#: trac/ticket/roadmap.py:621
+#: trac/ticket/roadmap.py:514
+msgid "Milestones reached"
+msgstr "閲岀▼纰戣揪鎴"
+
+#: trac/ticket/roadmap.py:602
 #, python-format
+msgid "The milestone \"%(name)s\" has been deleted."
+msgstr "閲岀▼纰 %(name)s 宸插垹闄ゃ"
+
+#: trac/ticket/roadmap.py:640
+#, python-format
 msgid "Milestone \"%(name)s\" already exists, please choose another name"
 msgstr "閲岀▼纰 \"%(name)s\" 宸茬粡瀛樺湪, 璇烽夋嫨鍏朵粬鍚嶇О"
 
-#: trac/ticket/roadmap.py:626
+#: trac/ticket/roadmap.py:645
 msgid "You must provide a name for the milestone."
-msgstr "浣犲繀椤讳负閲岀▼纰戞彁渚涘悕绉."
+msgstr "鎮ㄥ繀椤讳负閲岀▼纰戞彁渚涘悕绉."
 
-#: trac/ticket/web_ui.py:135 trac/ticket/templates/ticket.html:17
+#: trac/ticket/web_ui.py:173 trac/ticket/templates/ticket.html:17
 msgid "New Ticket"
-msgstr "鏂板缓浼犵エ"
+msgstr "鏂板缓浠诲姟鍗"
 
-#: trac/ticket/web_ui.py:151
+#: trac/ticket/web_ui.py:189
 msgid "id can't be set for a new ticket request."
-msgstr "id涓嶈兘璁剧疆缁欐柊浼犵エ璇锋眰."
+msgstr "id涓嶈兘璁剧疆缁欐柊浠诲姟鍗曡姹."
 
-#: trac/ticket/web_ui.py:202
-msgid "Ticket changes"
-msgstr "浼犵エ鍙樻洿"
+#: trac/ticket/web_ui.py:247
+msgid "Opened and closed tickets"
+msgstr "寮鍚拰鍏抽棴鐨勪换鍔″崟"
 
-#: trac/ticket/web_ui.py:204
-msgid "Ticket details"
-msgstr "浼犵エ璇︽儏"
+#: trac/ticket/web_ui.py:249
+msgid "Ticket updates"
+msgstr "浠诲姟鍗曟洿鏂"
 
-#: trac/ticket/web_ui.py:210
-#, fuzzy
+#: trac/ticket/web_ui.py:255
 msgid "created"
-msgstr "鍒涘缓"
+msgstr "宸插垱寤"
 
-#: trac/ticket/web_ui.py:211
-#, fuzzy
+#: trac/ticket/web_ui.py:256
 msgid "reopened"
-msgstr "鎵撳紑"
+msgstr "宸查噸鏂版墦寮"
 
-#: trac/ticket/web_ui.py:212
-#, fuzzy
+#: trac/ticket/web_ui.py:257
 msgid "closed"
-msgstr "鍏抽棴"
+msgstr "宸插叧闂"
 
-#: trac/ticket/web_ui.py:213
-#, fuzzy
+#: trac/ticket/web_ui.py:258
 msgid "updated"
-msgstr "鍗囩骇"
+msgstr "宸插崌绾"
 
-#: trac/ticket/web_ui.py:309
-#, fuzzy, python-format
+#: trac/ticket/web_ui.py:354
+#, python-format
 msgid "Ticket %(ticketref)s (%(summary)s) %(verb)s"
-msgstr "浼犵エ %(ticketref)s (%(summary)s) %(verb)s"
+msgstr "浠诲姟鍗 %(ticketref)s (%(summary)s) %(verb)s"
 
-#: trac/ticket/web_ui.py:437
+#: trac/ticket/web_ui.py:482
 #, python-format
 msgid "Invalid action \"%(name)s\""
 msgstr "鏃犳晥鍔ㄤ綔: \"%(name)s\""
 
-#: trac/ticket/web_ui.py:548
+#: trac/ticket/web_ui.py:601
 msgid "Back to Query"
 msgstr "杩斿洖鏌ヨ"
 
-#: trac/ticket/web_ui.py:628 trac/ticket/web_ui.py:778
+#: trac/ticket/web_ui.py:677 trac/ticket/web_ui.py:827
 msgid "Ticket History"
-msgstr "浼犵エ鍘嗗彶"
+msgstr "浠诲姟鍗曞巻鍙"
 
-#: trac/ticket/web_ui.py:673
+#: trac/ticket/web_ui.py:722
 msgid "No differences to show"
 msgstr "娌℃湁宸紓"
 
-#: trac/ticket/web_ui.py:713 trac/ticket/web_ui.py:768
-#: trac/ticket/web_ui.py:776 trac/wiki/web_ui.py:355 trac/wiki/web_ui.py:361
-#: trac/wiki/web_ui.py:507 trac/wiki/web_ui.py:515
+#: trac/ticket/web_ui.py:762 trac/ticket/web_ui.py:817
+#: trac/ticket/web_ui.py:825 trac/wiki/web_ui.py:378 trac/wiki/web_ui.py:384
+#: trac/wiki/web_ui.py:531 trac/wiki/web_ui.py:545
 #, python-format
 msgid "Version %(num)s"
 msgstr "鐗堟湰 %(num)s"
 
-#: trac/ticket/web_ui.py:716
+#: trac/ticket/web_ui.py:765
 msgid "initial"
 msgstr "鍒濆"
 
-#: trac/ticket/web_ui.py:778 trac/versioncontrol/web_ui/changeset.py:342
-#: trac/wiki/web_ui.py:374
+#: trac/ticket/web_ui.py:827 trac/versioncontrol/web_ui/changeset.py:344
+#: trac/wiki/web_ui.py:397
 msgid "Change"
 msgstr "鍙樻洿"
 
-#: trac/ticket/web_ui.py:783
+#: trac/ticket/web_ui.py:832
 msgid "Ticket Diff"
-msgstr "浼犵エ宸紓"
+msgstr "浠诲姟鍗曞樊寮"
 
-#: trac/ticket/web_ui.py:851
+#: trac/ticket/web_ui.py:904
 msgid "No permission to change ticket fields."
-msgstr "鏃犳潈淇敼浼犵エ瀛楁."
+msgstr "鏃犳潈淇敼浠诲姟鍗曞瓧娈."
 
-#: trac/ticket/web_ui.py:859
+#: trac/ticket/web_ui.py:912
 msgid "No permissions to change ticket fields."
-msgstr "鏃犳潈淇敼浼犵エ瀛楁."
+msgstr "鏃犳潈淇敼浠诲姟鍗曞瓧娈."
 
-#: trac/ticket/web_ui.py:868
+#: trac/ticket/web_ui.py:921
 msgid "No permissions to add a comment."
 msgstr "鏃犳潈澧炲姞璇勮."
 
-#: trac/ticket/web_ui.py:874
+#: trac/ticket/web_ui.py:927
 msgid ""
 "Sorry, can not save your changes. This ticket has been modified by "
 "someone else since you started"
-msgstr "瀵逛笉璧, 鏃犳硶淇濆瓨浣犵殑淇敼. 璇ヤ紶绁ㄥ凡缁忚鍏朵粬浜轰慨鏀"
+msgstr "瀵逛笉璧, 鏃犳硶淇濆瓨鎮ㄧ殑淇敼. 璇ヤ换鍔″崟宸茬粡琚叾浠栦汉淇敼"
 
-#: trac/ticket/web_ui.py:881
+#: trac/ticket/web_ui.py:934
 msgid "Tickets must contain a summary."
-msgstr "浼犵エ蹇呴』鏈夋杩."
+msgstr "浠诲姟鍗曞繀椤绘湁姒傝堪."
 
-#: trac/ticket/web_ui.py:904
+#: trac/ticket/web_ui.py:957
 #, python-format
 msgid "Ticket description is too long (must be less than %(num)s characters)"
-msgstr "浼犵エ鎻忚堪澶暱(蹇呴』灏戜簬 %(num)s 涓瓧绗)"
+msgstr "浠诲姟鍗曟弿杩板お闀(蹇呴』灏戜簬 %(num)s 涓瓧绗)"
 
-#: trac/ticket/web_ui.py:919
+#: trac/ticket/web_ui.py:964
+#, python-format
+msgid "Ticket comment is too long (must be less than %(num)s characters)"
+msgstr "浠诲姟鍗曡瘎璁哄お闀(蹇呴』灏戜簬 %(num)s 涓瓧绗)"
+
+#: trac/ticket/web_ui.py:979
 msgid "Invalid comment threading identifier"
 msgstr "鏃犳晥璇勮绾跨储鏍囪瘑"
 
-#: trac/ticket/web_ui.py:926
+#: trac/ticket/web_ui.py:986
 #, python-format
 msgid "The ticket field '%(field)s' is invalid: %(message)s"
-msgstr "浼犵エ瀛楁 '%(field)s' 鏃犳晥: %(message)s"
+msgstr "浠诲姟鍗曞瓧娈 '%(field)s' 鏃犳晥: %(message)s"
 
-#: trac/ticket/web_ui.py:1043
+#: trac/ticket/web_ui.py:1136
 msgid "Assign to"
 msgstr "鎸囨淳缁"
 
-#: trac/ticket/web_ui.py:1059
-msgid "Open"
-msgstr "鎵撳紑"
-
-#: trac/ticket/web_ui.py:1060
-msgid "Closed"
-msgstr "鍏抽棴"
-
-#: trac/ticket/web_ui.py:1075
+#: trac/ticket/web_ui.py:1166
 msgid "Add to Cc"
 msgstr "澧炲姞鎶勯"
 
-#: trac/ticket/web_ui.py:1076
+#: trac/ticket/web_ui.py:1167
 msgid "Remove from Cc"
 msgstr "鍒犻櫎鎶勯"
 
-#: trac/ticket/web_ui.py:1077
+#: trac/ticket/web_ui.py:1168
 msgid "Add/Remove from Cc"
 msgstr "澧炲姞/鍒犻櫎鎶勯"
 
-#: trac/ticket/web_ui.py:1078
+#: trac/ticket/web_ui.py:1169
 msgid "<Author field>"
 msgstr "<Author field>"
 
-#: trac/ticket/web_ui.py:1098 trac/ticket/templates/query.html:89
+#: trac/ticket/web_ui.py:1190 trac/ticket/templates/query.html:91
 msgid "yes"
 msgstr "鏄"
 
-#: trac/ticket/web_ui.py:1098 trac/ticket/templates/query.html:92
+#: trac/ticket/web_ui.py:1190 trac/ticket/templates/query.html:94
 msgid "no"
 msgstr "鍚"
 
-#: trac/ticket/web_ui.py:1268 trac/versioncontrol/templates/changeset.html:130
+#: trac/ticket/web_ui.py:1383 trac/versioncontrol/templates/changeset.html:130
 msgid "modified"
 msgstr "宸蹭慨鏀"
 
-#: trac/ticket/templates/milestone_delete.html:9
-#: trac/ticket/templates/milestone_delete.html:21
+#: trac/ticket/templates/milestone_delete.html:10
+#: trac/ticket/templates/milestone_delete.html:22
 msgid "Delete Milestone"
 msgstr "鍒犻櫎閲岀▼纰"
 
-#: trac/ticket/templates/milestone_delete.html:25
+#: trac/ticket/templates/milestone_delete.html:27
 msgid "Are you sure you want to delete this milestone?"
 msgstr "纭畾鍒犻櫎璇ラ噷绋嬬鍚?"
 
-#: trac/ticket/templates/milestone_delete.html:27
+#: trac/ticket/templates/milestone_delete.html:29
 msgid "Retarget associated tickets to milestone"
-msgstr "閲嶆寚瀹氬叧鑱斾紶绁ㄥ埌閲岀▼纰"
+msgstr "閲嶆柊鍏宠仈鐩稿叧浠诲姟鍗曞埌閲岀▼纰"
 
-#: trac/ticket/templates/milestone_delete.html:34
-#: trac/ticket/templates/milestone_view.html:91
+#: trac/ticket/templates/milestone_delete.html:41
+#: trac/ticket/templates/milestone_view.html:100
 msgid "Delete milestone"
 msgstr "鍒犻櫎閲岀▼纰"
 
-#: trac/ticket/templates/milestone_delete.html:39
-#: trac/ticket/templates/milestone_edit.html:96
-#: trac/ticket/templates/milestone_view.html:97
-#: trac/ticket/templates/roadmap.html:72
-msgid "TracRoadmap"
-msgstr "TracRoadmap"
-
-#: trac/ticket/templates/milestone_delete.html:39
+#: trac/ticket/templates/milestone_delete.html:45
 msgid ""
-"for help on using\n"
+"[1:Note:] See\n"
+"      [2:TracRoadmap] for help on using\n"
 "      the roadmap."
-msgstr "浣跨敤璺嚎鍥剧殑甯姪."
+msgstr "[1:娉ㄦ剰:] 浣跨敤璺嚎鍥剧殑甯姪鍙傝 [2:TracRoadmap]銆"
 
 #: trac/ticket/templates/milestone_edit.html:11
 #: trac/ticket/templates/milestone_edit.html:37
@@ -2179,32 +2593,33 @@
 
 #: trac/ticket/templates/milestone_edit.html:71
 msgid "Retarget associated open tickets to milestone:"
-msgstr "閲嶆寚瀹氬叧鑱旀椿鍔ㄤ紶绁ㄥ埌閲岀▼纰"
+msgstr "閲嶆寚瀹氬叧鑱旀椿鍔ㄤ换鍔″崟鍒伴噷绋嬬"
 
-#: trac/ticket/templates/milestone_edit.html:89
-#: trac/wiki/templates/wiki_edit.html:126
-#: trac/wiki/templates/wiki_edit.html:131
+#: trac/ticket/templates/milestone_edit.html:92
+#: trac/ticket/templates/ticket.html:403 trac/wiki/templates/wiki_edit.html:119
+#: trac/wiki/templates/wiki_edit.html:124
 msgid "Submit changes"
 msgstr "鎻愪氦鍙樻洿"
 
-#: trac/ticket/templates/milestone_edit.html:90
+#: trac/ticket/templates/milestone_edit.html:93
 msgid "Add milestone"
 msgstr "澧炲姞閲岀▼纰"
 
-#: trac/ticket/templates/milestone_edit.html:96
-#: trac/ticket/templates/milestone_view.html:97
-#: trac/ticket/templates/roadmap.html:72
+#: trac/ticket/templates/milestone_edit.html:98
+#: trac/ticket/templates/milestone_view.html:106
+#: trac/ticket/templates/roadmap.html:70
 msgid ""
-"for help on using\n"
+"[1:Note:] See\n"
+"        [2:TracRoadmap] for help on using\n"
 "        the roadmap."
-msgstr "浣跨敤璺嚎鍥剧殑甯姪."
+msgstr "[1:娉ㄦ剰:] 浣跨敤璺嚎鍥剧殑甯姪鍙傝 [2:TracRoadmap]銆"
 
-#: trac/ticket/templates/milestone_view.html:10
-#: trac/ticket/templates/milestone_view.html:22
+#: trac/ticket/templates/milestone_view.html:11
+#: trac/ticket/templates/milestone_view.html:23
 msgid "Milestone"
 msgstr "閲岀▼纰"
 
-#: trac/ticket/templates/milestone_view.html:26
+#: trac/ticket/templates/milestone_view.html:27
 msgid ""
 "ago\n"
 "            ("
@@ -2212,207 +2627,205 @@
 "鍓峔n"
 "            ("
 
-#: trac/ticket/templates/milestone_view.html:30
-#: trac/ticket/templates/roadmap.html:43
+#: trac/ticket/templates/milestone_view.html:31
+#: trac/ticket/templates/roadmap.html:42
 msgid "late"
 msgstr "寤舵湡"
 
-#: trac/ticket/templates/milestone_view.html:33
-#: trac/ticket/templates/roadmap.html:46
+#: trac/ticket/templates/milestone_view.html:34
+#: trac/ticket/templates/roadmap.html:45
 msgid "Due in"
 msgstr "鍓╀綑"
 
-#: trac/ticket/templates/milestone_view.html:37
-#: trac/ticket/templates/roadmap.html:50
+#: trac/ticket/templates/milestone_view.html:38
+#: trac/ticket/templates/roadmap.html:49
 msgid "No date set"
 msgstr "娌℃湁璁剧疆鏃ユ湡"
 
-#: trac/ticket/templates/milestone_view.html:47
-#: trac/timeline/templates/timeline.html:42
+#: trac/ticket/templates/milestone_view.html:48
+#: trac/timeline/templates/timeline.html:44
 msgid "by"
-msgstr "鎿嶄綔鑰"
+msgstr ": "
 
-#: trac/ticket/templates/milestone_view.html:58
+#: trac/ticket/templates/milestone_view.html:62
 msgid "(none)"
 msgstr "(鏃)"
 
-#: trac/ticket/templates/milestone_view.html:87
+#: trac/ticket/templates/milestone_view.html:94
 msgid "Edit milestone"
 msgstr "缂栬緫閲岀▼纰"
 
-#: trac/ticket/templates/query.html:28
+#: trac/ticket/templates/query.html:29
 #: trac/ticket/templates/query_results.html:29
-#, fuzzy, python-format
+#, python-format
 msgid "%(num)s match"
 msgid_plural "%(num)s matches"
-msgstr[0] ""
+msgstr[0] "%(num)s鍖归厤"
+msgstr[1] "%(num)s鍖归厤"
 
-#: trac/ticket/templates/query.html:37
+#: trac/ticket/templates/query.html:39
 msgid "Filters"
 msgstr "杩囨护鍣"
 
-#: trac/ticket/templates/query.html:38
+#: trac/ticket/templates/query.html:40
 msgid "Query filters"
 msgstr "鏌ヨ杩囨护鍣"
 
-#: trac/ticket/templates/query.html:113
+#: trac/ticket/templates/query.html:124
 msgid "Add filter"
 msgstr "澧炲姞杩囨护鍣"
 
-#: trac/ticket/templates/query.html:133
+#: trac/ticket/templates/query.html:144
 msgid "Columns"
 msgstr "鍒"
 
-#: trac/ticket/templates/query.html:147
+#: trac/ticket/templates/query.html:158
 msgid "Group results by"
 msgstr "缁撴灉鍒嗙粍"
 
-#: trac/ticket/templates/query.html:157
+#: trac/ticket/templates/query.html:169
 msgid "descending"
 msgstr "闄嶅簭"
 
-#: trac/ticket/templates/query.html:161
+#: trac/ticket/templates/query.html:173
 msgid "Show under each result:"
 msgstr "鍦ㄦ瘡涓粨鏋滀笅鏄剧ず:"
 
-#: trac/ticket/templates/query.html:171
+#: trac/ticket/templates/query.html:183
+#: trac/ticket/templates/report_view.html:27
 msgid "Max items per page"
 msgstr "姣忛〉鏈澶氭潯鐩"
 
-#: trac/ticket/templates/query.html:214
+#: trac/ticket/templates/query.html:226
 msgid "Edit query"
 msgstr "缂栬緫鏌ヨ"
 
-#: trac/ticket/templates/query.html:222
+#: trac/ticket/templates/query.html:234
 msgid "Save query"
 msgstr "淇濆瓨鏌ヨ"
 
-#: trac/ticket/templates/query.html:222
+#: trac/ticket/templates/query.html:234
 #, python-format
 msgid "Save updated query in report {%(id)s}"
 msgstr "鍦ㄦ姤琛 {%(id)s} 涓繚瀛樻洿鏂扮殑鏌ヨ"
 
-#: trac/ticket/templates/query.html:222
+#: trac/ticket/templates/query.html:234
 msgid "Create new report from current query"
 msgstr "鐢ㄥ綋鍓嶆煡璇㈠垱寤烘柊鐨"
 
-#: trac/ticket/templates/query.html:231
+#: trac/ticket/templates/query.html:243
 msgid "Delete query"
 msgstr "鍒犻櫎鏌ヨ"
 
-#: trac/ticket/templates/query.html:238
-#: trac/ticket/templates/report_edit.html:36
-msgid "TracQuery"
-msgstr "TracQuery"
+#: trac/ticket/templates/query.html:249
+msgid ""
+"[1:Note:] See [2:TracQuery]\n"
+"        for help on using queries."
+msgstr "[1:娉ㄦ剰锛歖鏈夊叧浣跨敤鏌ヨ鐨勫府鍔╁弬瑙乕2:TracQuery]"
 
-#: trac/ticket/templates/query.html:238
-msgid "for help on using queries."
-msgstr "浣跨敤鏌ヨ鐨勫府鍔."
+#: trac/ticket/templates/query_results.html:44
+msgid "No tickets found"
+msgstr "娌℃湁鍖归厤鐨勪换鍔″崟"
 
-#: trac/ticket/templates/query_results.html:53
-#: trac/ticket/templates/query_results.html:55
+#: trac/ticket/templates/query_results.html:58
+#: trac/ticket/templates/query_results.html:60
 msgid "View ticket"
-msgstr "鏌ョ湅浼犵エ"
+msgstr "鏌ョ湅浠诲姟鍗"
 
-#: trac/ticket/templates/query_results.html:69
+#: trac/ticket/templates/query_results.html:65
+#: trac/ticket/templates/report_view.html:183
+msgid "View milestone"
+msgstr "鏌ョ湅閲岀▼纰"
+
+#: trac/ticket/templates/query_results.html:76
 msgid "Reported by"
 msgstr "姹囨姤浜"
 
-#: trac/ticket/templates/query_results.html:76
+#: trac/ticket/templates/query_results.html:83
 msgid "(this ticket)"
-msgstr "(鏈紶绁)"
+msgstr "(鏈换鍔″崟)"
 
-#: trac/ticket/templates/query_results.html:92
+#: trac/ticket/templates/query_results.html:99
 msgid "(more results for this group on next page)"
 msgstr "(涓嬮〉鏈夋洿澶氱粨鏋)"
 
-#: trac/ticket/templates/report_delete.html:18
+#: trac/ticket/templates/report_delete.html:17
 msgid "Are you sure you want to delete this report?"
 msgstr "纭畾鍒犻櫎姝ゆ姤琛ㄥ悧?"
 
-#: trac/ticket/templates/report_delete.html:21
-#: trac/ticket/templates/report_view.html:39
+#: trac/ticket/templates/report_delete.html:22
+#: trac/ticket/templates/report_view.html:82
 msgid "Delete report"
 msgstr "鍒犻櫎鎶ヨ〃"
 
-#: trac/ticket/templates/report_delete.html:27
-#: trac/ticket/templates/report_edit.html:50
-#: trac/ticket/templates/report_view.html:170
-msgid "TracReports"
-msgstr "TracReports"
+#: trac/ticket/templates/report_delete.html:26
+#: trac/ticket/templates/report_edit.html:48
+#: trac/ticket/templates/report_view.html:218
+msgid ""
+"[1:Note:]\n"
+"        See [2:TracReports] for help on using and creating reports."
+msgstr "[1:娉ㄦ剰:] 浣跨敤鍜屽垱寤烘姤琛ㄧ殑甯姪鍙傝[2:TracReports]銆"
 
-#: trac/ticket/templates/report_delete.html:27
-#: trac/ticket/templates/report_edit.html:50
-#: trac/ticket/templates/report_view.html:170
-msgid "for help on using and creating reports."
-msgstr "浣跨敤鍜屽垱寤烘姤琛ㄧ殑甯姪."
-
 #: trac/ticket/templates/report_edit.html:21
 msgid "Report Title:"
 msgstr "鎶ヨ〃鏍囬:"
 
 #: trac/ticket/templates/report_edit.html:25
 msgid "Description: (you may use [1:WikiFormatting] here)"
-msgstr "鎻忚堪: (浣犲彲鐢 [1:WikiFormatting] 鏍煎紡)"
+msgstr "鎻忚堪: (鎮ㄥ彲鐢 [1:WikiFormatting] 鏍煎紡)"
 
-#: trac/ticket/templates/report_edit.html:34
-msgid "Error:"
-msgstr "閿欒:"
-
 #: trac/ticket/templates/report_edit.html:36
-msgid "Query for Report: (can be either SQL or, if starting with"
-msgstr "鐢ㄤ簬鎶ヨ〃鐨勬煡璇: (鍙互鏄 SQL 鎴栬, 濡傛灉寮濮嬩簬"
+msgid ""
+"Query for Report: (can be either SQL or, if starting with [1:query:], a "
+"[2:TracQuery] expression)"
+msgstr "鐢熸垚鎶ヨ〃鐨勬煡璇: (鍙互鏄疭QL锛屾垨鑰呮槸涓涓互[1:query:]寮澶寸殑[2:TracQuery]琛ㄨ揪寮)"
 
-#: trac/ticket/templates/report_edit.html:36
-msgid "query:"
-msgstr "鏌ヨ:"
-
-#: trac/ticket/templates/report_edit.html:36
-msgid ", a"
-msgstr ", 涓涓"
-
-#: trac/ticket/templates/report_edit.html:36
-msgid "expression)"
-msgstr "琛ㄨ揪寮)"
-
 #: trac/ticket/templates/report_edit.html:41
 msgid "Save report"
 msgstr "淇濆瓨鎶ヨ〃"
 
-#: trac/ticket/templates/report_view.html:16
+#: trac/ticket/templates/report_view.html:21
 msgid "matches)"
 msgstr "鍖归厤)"
 
-#: trac/ticket/templates/report_view.html:27
+#: trac/ticket/templates/report_view.html:42
+msgid "Arguments"
+msgstr "鍙傛暟"
+
+#: trac/ticket/templates/report_view.html:43
+msgid "Report arguments"
+msgstr "鎶ヨ〃鍙傛暟"
+
+#: trac/ticket/templates/report_view.html:70
 msgid "Edit report"
 msgstr "缂栬緫鎶ヨ〃"
 
-#: trac/ticket/templates/report_view.html:33
+#: trac/ticket/templates/report_view.html:76
 msgid "Copy report"
 msgstr "澶嶅埗鎶ヨ〃"
 
-#: trac/ticket/templates/report_view.html:51
+#: trac/ticket/templates/report_view.html:94
 msgid "match"
 msgstr "鍖归厤"
 
-#: trac/ticket/templates/report_view.html:85
-#: trac/ticket/templates/report_view.html:92
+#: trac/ticket/templates/report_view.html:128
+#: trac/ticket/templates/report_view.html:135
 msgid "View report"
 msgstr "鏌ョ湅鎶ヨ〃"
 
-#: trac/ticket/templates/report_view.html:160
+#: trac/ticket/templates/report_view.html:210
 msgid "Create new report"
 msgstr "鏂板缓鎶ヨ〃"
 
-#: trac/ticket/templates/roadmap.html:23
+#: trac/ticket/templates/roadmap.html:22
 msgid "Show already completed milestones"
 msgstr "鏄剧ず宸插畬鎴愰噷绋嬬"
 
-#: trac/ticket/templates/roadmap.html:34
+#: trac/ticket/templates/roadmap.html:33
 msgid "Milestone:"
 msgstr "閲岀▼纰:"
 
-#: trac/ticket/templates/roadmap.html:39
+#: trac/ticket/templates/roadmap.html:38
 msgid ""
 "ago\n"
 "                ("
@@ -2420,163 +2833,172 @@
 "鍓峔n"
 "                ("
 
-#: trac/ticket/templates/roadmap.html:67
+#: trac/ticket/templates/roadmap.html:66
 msgid "Add new milestone"
 msgstr "鏂板缓閲岀▼纰"
 
-#: trac/ticket/templates/ticket.html:57
+#: trac/ticket/templates/ticket.html:59
 #: trac/versioncontrol/templates/changeset.html:128
 msgid "added"
 msgstr "澧炲姞"
 
-#: trac/ticket/templates/ticket.html:60
+#: trac/ticket/templates/ticket.html:63
 msgid "changed from"
 msgstr "鍙樻洿鑷"
 
-#: trac/ticket/templates/ticket.html:63
-#: trac/versioncontrol/templates/browser.html:125
+#: trac/ticket/templates/ticket.html:66
+#: trac/versioncontrol/templates/browser.html:135
 msgid "set to"
 msgstr "璁剧疆涓"
 
-#: trac/ticket/templates/ticket.html:66
+#: trac/ticket/templates/ticket.html:70
 msgid "deleted"
 msgstr "鍒犻櫎"
 
-#: trac/ticket/templates/ticket.html:79
+#: trac/ticket/templates/ticket.html:84
 msgid "Ticket #"
-msgstr "浼犵エ #"
+msgstr "浠诲姟鍗 #"
 
-#: trac/ticket/templates/ticket.html:83
+#: trac/ticket/templates/ticket.html:88
 msgid "Create New Ticket"
-msgstr "鍒涘缓鏂颁紶绁"
+msgstr "鍒涘缓鏂颁换鍔″崟"
 
-#: trac/ticket/templates/ticket.html:94 trac/ticket/templates/ticket.html:97
+#: trac/ticket/templates/ticket.html:99 trac/ticket/templates/ticket.html:102
 msgid "鈥 at"
 msgstr "鈥 浜"
 
-#: trac/ticket/templates/ticket.html:108
+#: trac/ticket/templates/ticket.html:113
 msgid "Preview ("
 msgstr "棰勮 ("
 
-#: trac/ticket/templates/ticket.html:108 trac/wiki/templates/wiki_edit.html:62
+#: trac/ticket/templates/ticket.html:113 trac/wiki/templates/wiki_edit.html:52
 msgid "skip"
 msgstr "璺宠繃"
 
-#: trac/ticket/templates/ticket.html:113 trac/ticket/templates/ticket.html:209
+#: trac/ticket/templates/ticket.html:118 trac/ticket/templates/ticket.html:217
 msgid "in reply to:"
 msgstr "鍥炲鍒:"
 
-#: trac/ticket/templates/ticket.html:115
+#: trac/ticket/templates/ticket.html:120
 msgid "Changed by"
 msgstr "淇敼鑰"
 
-#: trac/ticket/templates/ticket.html:126
+#: trac/ticket/templates/ticket.html:131
 msgid "Opened"
-msgstr "鎵撳紑"
+msgstr "寮鍚簬"
 
-#: trac/ticket/templates/ticket.html:126 trac/ticket/templates/ticket.html:127
+#: trac/ticket/templates/ticket.html:131 trac/ticket/templates/ticket.html:132
 msgid "ago"
 msgstr "鍓"
 
-#: trac/ticket/templates/ticket.html:127
+#: trac/ticket/templates/ticket.html:131
+#, python-format
+msgid "Opened %(created)s ago"
+msgstr "寮鍚簬 %(created)s 鍓"
+
+#: trac/ticket/templates/ticket.html:132
 msgid "Last modified"
-msgstr "鏈鏂颁慨鏀"
+msgstr "鏈鍚庝慨鏀逛簬"
 
-#: trac/ticket/templates/ticket.html:128
+#: trac/ticket/templates/ticket.html:132
+#, python-format
+msgid "Last modified %(modified)s ago"
+msgstr "鏈鍚庝慨鏀逛簬 %(modified)s 鍓"
+
+#: trac/ticket/templates/ticket.html:133
 msgid "(ticket not yet created)"
-msgstr "(杩樻病鏈夊垱寤轰紶绁)"
+msgstr "(杩樻病鏈夊垱寤轰换鍔″崟)"
 
-#: trac/ticket/templates/ticket.html:137
+#: trac/ticket/templates/ticket.html:142
 msgid "Reported by:"
 msgstr "姹囨姤浜:"
 
-#: trac/ticket/templates/ticket.html:139
+#: trac/ticket/templates/ticket.html:146
 msgid "Owned by:"
 msgstr "灞炰富:"
 
-#: trac/ticket/templates/ticket.html:168
+#: trac/ticket/templates/ticket.html:176
 msgid "(last modified by"
 msgstr "(鏈鏂颁慨鏀硅"
 
-#: trac/ticket/templates/ticket.html:170
+#: trac/ticket/templates/ticket.html:178
 msgid "diff"
 msgstr "宸紓"
 
-#: trac/ticket/templates/ticket.html:181 trac/ticket/templates/ticket.html:223
+#: trac/ticket/templates/ticket.html:189 trac/ticket/templates/ticket.html:231
 msgid "Reply"
 msgstr "鍥炲"
 
-#: trac/ticket/templates/ticket.html:181
+#: trac/ticket/templates/ticket.html:189
 msgid "Reply, quoting this description"
 msgstr "鍥炲, 寮曠敤姝ゆ弿杩"
 
-#: trac/ticket/templates/ticket.html:200
+#: trac/ticket/templates/ticket.html:208
 msgid "Change History"
 msgstr "鍙樻洿鍘嗗彶"
 
-#: trac/ticket/templates/ticket.html:213
+#: trac/ticket/templates/ticket.html:221
 msgid "follow-up"
 msgstr "璺熼殢"
 
-#: trac/ticket/templates/ticket.html:218
-msgid "Changed"
-msgstr "宸插彉鏇"
+#: trac/ticket/templates/ticket.html:227
+#, python-format
+msgid "%(date)s ago by"
+msgstr "浜%(date)s鍓嶏紝鎿嶄綔鑰: "
 
-#: trac/ticket/templates/ticket.html:219
-msgid "ago by"
-msgstr "鍓, 鐢"
-
-#: trac/ticket/templates/ticket.html:238
+#: trac/ticket/templates/ticket.html:246
 msgid "Add/Change #"
 msgstr "澧炲姞/淇敼 #"
 
-#: trac/ticket/templates/ticket.html:258
+#: trac/ticket/templates/ticket.html:262 trac/wiki/templates/wiki_edit.html:98
+msgid "E-mail address and user name can be saved in the"
+msgstr "E-mail鍦板潃鍜岀敤鎴峰悕鍙互淇濆瓨鍦"
+
+#: trac/ticket/templates/ticket.html:269
 msgid ""
 "Comment (you may use\n"
 "              [1:WikiFormatting]\n"
 "              here):"
-msgstr ""
-"璇勮 (浣犲彲鐢╘n"
-"              [1:WikiFormatting]\n"
-"              ):"
+msgstr "璇勮(鎮ㄥ彲浠ヤ娇鐢╗1:WikiFormatting]): "
 
-#: trac/ticket/templates/ticket.html:271
+#: trac/ticket/templates/ticket.html:282
 msgid "Properties"
 msgstr "灞炴"
 
-#: trac/ticket/templates/ticket.html:274
+#: trac/ticket/templates/ticket.html:285
 msgid "Summary:"
-msgstr "姒傝堪:"
+msgstr "姒傝:"
 
-#: trac/ticket/templates/ticket.html:282
+#: trac/ticket/templates/ticket.html:293
 msgid "Reporter:"
 msgstr "姹囨姤浜:"
 
-#: trac/ticket/templates/ticket.html:339
+#: trac/ticket/templates/ticket.html:353
 msgid "This checkbox allows you to add or remove yourself from the CC list."
-msgstr ""
+msgstr "鎮ㄥ彲浠ヤ娇鐢ㄦ澶嶉夋灏嗚嚜宸卞姞鍏ュ埌鎶勯佸垪琛ㄤ腑鎴栦粠涓Щ闄ゃ"
 
-#: trac/ticket/templates/ticket.html:345
+#: trac/ticket/templates/ticket.html:359
 msgid "Space or comma delimited email addresses and usernames are accepted."
-msgstr ""
+msgstr "鍙互鎺ュ彈浣跨敤绌烘牸鎴栭楀彿闅斿紑鐨別mail鍦板潃鎴栫敤鎴峰悕銆"
 
-#: trac/ticket/templates/ticket.html:377
+#: trac/ticket/templates/ticket.html:391
 msgid "I have files to attach to this ticket"
-msgstr "鎴戞湁鏂囦欢闇瑕侀檮鍔犲埌浼犵エ"
+msgstr "鎴戞湁鏂囦欢闇瑕侀檮鍔犲埌浠诲姟鍗"
 
-#: trac/ticket/templates/ticket.html:388 trac/wiki/templates/wiki_edit.html:124
+#: trac/ticket/templates/ticket.html:402 trac/wiki/templates/wiki_edit.html:117
 msgid "Preview"
 msgstr "棰勮"
 
-#: trac/ticket/templates/ticket.html:396
-msgid "TracTickets"
-msgstr "TracTickets"
+#: trac/ticket/templates/ticket.html:403
+msgid "Create ticket"
+msgstr "鍒涘缓鏂颁换鍔″崟"
 
-#: trac/ticket/templates/ticket.html:396
+#: trac/ticket/templates/ticket.html:408
 msgid ""
-"for help on using\n"
+"[1:Note:] See\n"
+"        [2:TracTickets] for help on using\n"
 "        tickets."
-msgstr "鍏充簬浼犵エ鐨勪娇鐢ㄥ府鍔."
+msgstr "[1:娉ㄦ剰:] 浣跨敤浠诲姟鍗曠殑甯姪鍙傝[2:TracTickets]"
 
 #: trac/ticket/templates/ticket_notify_email.txt:9
 msgid "Changes (by"
@@ -2584,7 +3006,7 @@
 
 #: trac/ticket/templates/ticket_notify_email.txt:15
 msgid "Description changed by"
-msgstr "鍙樻洿鎻忚堪"
+msgstr "鎻忚堪鍙樻洿 鎿嶄綔鑰:"
 
 #: trac/ticket/templates/ticket_notify_email.txt:28
 msgid ""
@@ -2592,41 +3014,54 @@
 "Ticket URL: <"
 msgstr ""
 "-- \n"
-"浼犵エ URL: <"
+"浠诲姟鍗 URL: <"
 
-#: trac/timeline/web_ui.py:76 trac/timeline/templates/timeline.html:10
-#: trac/timeline/templates/timeline.html:16
+#: trac/timeline/web_ui.py:77 trac/timeline/templates/timeline.html:11
+#: trac/timeline/templates/timeline.html:17
 msgid "Timeline"
 msgstr "鏃堕棿绾"
 
-#: trac/timeline/web_ui.py:202
+#: trac/timeline/web_ui.py:229
 msgid "Previous period"
 msgstr "涓婁竴鍛ㄦ湡"
 
-#: trac/timeline/web_ui.py:208
+#: trac/timeline/web_ui.py:236
 msgid "Next period"
 msgstr "涓嬩竴鍛ㄦ湡"
 
-#: trac/timeline/web_ui.py:269
+#: trac/timeline/web_ui.py:237
+msgid "Period"
+msgstr "鍛ㄦ湡"
+
+#: trac/timeline/web_ui.py:297
 #, python-format
 msgid "%(date)s in Timeline"
-msgstr "%(date)s 鍦ㄦ椂闂寸嚎"
+msgstr "鏃堕棿绾夸腑鐨%(date)s"
 
 #: trac/timeline/templates/timeline.html:20
-msgid "View changes from"
-msgstr "鏌ョ湅鍙樻洿鑷"
+msgid ""
+"[1:View changes from [2:]] [3:]\n"
+"        and [4:[5:] days back][6:]\n"
+"        [7:done by [8:]]"
+msgstr ""
+"\n"
+"[1:鏌ョ湅[2:]] [3:]涔嬪墠\n"
+"[4:[5:]澶[6:]\n"
+"[7:鐢盵8:]瀹屾垚]杩涜鐨勫彉鏇"
 
-#: trac/timeline/templates/timeline.html:21
-msgid "days back"
-msgstr "澶╁墠"
+#: trac/timeline/templates/timeline.html:37
+msgid "Today"
+msgstr "浠婂ぉ"
 
-#: trac/timeline/templates/timeline.html:53
-msgid "TracTimeline"
-msgstr "TracTimeline"
+#: trac/timeline/templates/timeline.html:37
+msgid "Yesterday"
+msgstr "鏄ㄥぉ"
 
-#: trac/timeline/templates/timeline.html:53
-msgid "for information about the timeline view."
-msgstr "鍏充簬鏃堕棿绾胯鍥剧殑淇℃伅."
+#: trac/timeline/templates/timeline.html:54
+msgid ""
+"[1:Note:] See [2:TracTimeline]\n"
+"        for information about the timeline view."
+msgstr "[1:娉ㄦ剰:] 鏃堕棿绾胯鍥剧殑鐩稿叧淇℃伅鍙傝[2:TracTimeline]銆"
 
 #: trac/util/presentation.py:254
 #, python-format
@@ -2638,161 +3073,196 @@
 msgid "%(start)d - %(stop)d of %(total)d"
 msgstr "%(start)d - %(stop)d 鍏 %(total)d"
 
-#: trac/versioncontrol/api.py:81
+#: trac/versioncontrol/admin.py:42
 #, python-format
-msgid "Can't synchronize with the repository (%(error)s)"
-msgstr "鏃犳硶涓庝粨搴撳悓姝 (%(error)s)"
+msgid "%(rev)s resynced."
+msgstr "%(rev)s宸查噸鏂板悓姝."
 
-#: trac/versioncontrol/api.py:96
+#: trac/versioncontrol/admin.py:45
+msgid "Resyncing repository history... "
+msgstr "閲嶆柊鍚屾鐗堟湰搴撳巻鍙..."
+
+#: trac/versioncontrol/admin.py:58
 #, python-format
+msgid "%(num)s revision cached."
+msgid_plural "%(num)s revisions cached."
+msgstr[0] "%(num)s涓慨璁㈠凡缂撳瓨"
+msgstr[1] "%(num)s涓慨璁㈠凡缂撳瓨"
+
+#: trac/versioncontrol/admin.py:60
+msgid "Done."
+msgstr "瀹屾垚銆"
+
+#: trac/versioncontrol/api.py:90
+#, python-format
+msgid ""
+"Can't synchronize with the repository (%(error)s). Look in the Trac log "
+"for more information."
+msgstr "鏃犳硶涓庣増鏈簱鍚屾 (%(error)s)銆傛洿澶氫俊鎭鏌ョ湅Trac鏃ュ織銆"
+
+#: trac/versioncontrol/api.py:105
+#, python-format
 msgid "Changeset %(rev)s"
 msgstr "鍙樻洿闆 %(rev)s"
 
-#: trac/versioncontrol/api.py:103
+#: trac/versioncontrol/api.py:112
 msgid "Directory"
 msgstr "鐩綍"
 
-#: trac/versioncontrol/api.py:107
+#: trac/versioncontrol/api.py:116
 #, python-format
 msgid "at version %(rev)s"
 msgstr "浜庣増鏈 %(rev)s"
 
-#: trac/versioncontrol/api.py:109
+#: trac/versioncontrol/api.py:118
 msgid "Path"
 msgstr "璺緞"
 
-#: trac/versioncontrol/api.py:131
+#: trac/versioncontrol/api.py:142
 #, python-format
+msgid "Unsupported version control system \"%(name)s\": \"%(error)s\" "
+msgstr "涓嶆敮鎸佺殑鐗堟湰鎺у埗绯荤粺 \"%(name)s\": \"%(error)s\""
+
+#: trac/versioncontrol/api.py:146
+#, python-format
 msgid ""
-"Unsupported version control system \"%(name)s\". Check that the Python "
-"support libraries for \"%(name)s\" are correctly installed."
-msgstr "涓嶆敮鎸佺殑鐗堟湰鎺у埗绯荤粺 \"%(name)s\". 璇锋鏌ython 鏀寔搴 \"%(name)s\" 宸茬粡姝ｇ‘瀹夎."
+"Unsupported version control system \"%(name)s\": Can't find an "
+"appropriate component, maybe the corresponding plugin was not enabled? "
+msgstr "涓嶆敮鎸佺殑鐗堟湰鎺у埗绯荤粺\"%(name)s\"锛氭湭鑳芥壘鍒板悎閫傜殑缁勪欢锛屼篃璁哥浉鍏虫彃浠舵病鏈夎婵娲伙紵"
 
-#: trac/versioncontrol/api.py:163
+#: trac/versioncontrol/api.py:178
 #, python-format
 msgid "No changeset %(rev)s in the repository"
-msgstr "鍦ㄤ粨搴撲腑娌℃湁鍙樻洿闆 %(rev)s"
+msgstr "鍦ㄧ増鏈簱涓病鏈夊彉鏇撮泦 %(rev)s"
 
-#: trac/versioncontrol/api.py:165
+#: trac/versioncontrol/api.py:180
 msgid "No such changeset"
 msgstr "娌℃湁杩欎釜鍙樻洿闆"
 
-#: trac/versioncontrol/api.py:171
+#: trac/versioncontrol/api.py:186
 msgid "No such node"
 msgstr "娌℃湁杩欎釜鑺傜偣"
 
-#: trac/versioncontrol/api.py:509
+#: trac/versioncontrol/api.py:524
 #, python-format
 msgid "Insufficient permissions to access %(path)s"
 msgstr "璁块棶 %(path)s 鐨勬潈闄愪笉澶"
 
-#: trac/versioncontrol/api.py:514
+#: trac/versioncontrol/api.py:529
 #, python-format
 msgid "Insufficient permissions to access changeset %(id)s"
 msgstr "璁块棶鍙樻洿闆 %(id)s 鐨勬潈闄愪笉澶"
 
-#: trac/versioncontrol/cache.py:95
+#: trac/versioncontrol/cache.py:102
 msgid ""
 "The 'repository_dir' has changed, a 'trac-admin resync' operation is "
 "needed."
 msgstr "'repository_dir'宸茬粡琚慨鏀, 闇瑕佹墽琛'trac-admin resync'鎿嶄綔."
 
-#: trac/versioncontrol/cache.py:114
+#: trac/versioncontrol/cache.py:121
 msgid "Missing \"youngest_rev\" in cache metadata"
 msgstr "鍦ㄧ紦瀛樼殑鍏冩暟鎹腑娌℃湁 \"youngest_rev\""
 
-#: trac/versioncontrol/svn_fs.py:294
+#: trac/versioncontrol/svn_fs.py:305
 #, python-format
 msgid "Subversion >= 1.0 required: Found %(version)s"
 msgstr "闇瑕丼ubversion >= 1.0: 鍙戠幇鐨勬槸 %(version)s"
 
-#: trac/versioncontrol/svn_fs.py:371
+#: trac/versioncontrol/svn_fs.py:387
 msgid "No svn:externals configured in trac.ini"
 msgstr "鍦╰rac.ini娌℃湁svn:externals閰嶇疆"
 
-#: trac/versioncontrol/svn_fs.py:395
+#: trac/versioncontrol/svn_fs.py:422
 #, python-format
 msgid "%(path)s does not appear to be a Subversion repository."
-msgstr "%(path)s 涓嶆槸Subversion浠撳簱璺緞."
+msgstr "%(path)s 涓嶆槸Subversion鐗堟湰搴撹矾寰."
 
-#: trac/versioncontrol/svn_fs.py:652
+#: trac/versioncontrol/svn_fs.py:429
 #, python-format
+msgid "Couldn't open Subversion repository %(path)s: %(svn_error)s"
+msgstr "涓嶈兘鎵撳紑Subversion鐗堟湰搴 %(path)s锛%(svn_error)s"
+
+#: trac/versioncontrol/svn_fs.py:685
+#, python-format
 msgid ""
 "Diff mismatch: Base is a %(oldnode)s (%(oldpath)s in revision %(oldrev)s)"
 " and Target is a %(newnode)s (%(newpath)s in revision %(newrev)s)."
 msgstr ""
 "宸紓涓嶅尮閰: 鍩哄噯鏄 %(oldnode)s (%(oldpath)s 鍦ㄤ慨璁 %(oldrev)s)涓,  鑰岀洰鏍囨槸 %(newnode)s "
-"(%(newpath)s 鍦ㄧ増鏈 %(newrev)s)涓."
+"(%(newpath)s 鍦ㄤ慨璁 %(newrev)s)涓."
 
-#: trac/versioncontrol/svn_fs.py:803
+#: trac/versioncontrol/svn_fs.py:838
 #, python-format
-msgid "svn blame failed: %(error)s"
-msgstr "svn 澶辫触鎶ュ憡: %(error)s"
+msgid "svn blame failed on %(path)s: %(error)s"
+msgstr "svn杩芥函澶辫触 %(path)s: %(error)s"
 
-#: trac/versioncontrol/templates/browser.html:45
+#: trac/versioncontrol/templates/browser.html:50
 msgid "View revision:"
 msgstr "鏌ョ湅淇:"
 
-#: trac/versioncontrol/templates/browser.html:55
+#: trac/versioncontrol/templates/browser.html:60
 msgid "Visit:"
 msgstr "璁块棶:"
 
-#: trac/versioncontrol/templates/browser.html:63
+#: trac/versioncontrol/templates/browser.html:68
 msgid "Go!"
 msgstr "璧!"
 
-#: trac/versioncontrol/templates/browser.html:63
+#: trac/versioncontrol/templates/browser.html:68
 msgid "Jump to the chosen preselected path"
 msgstr "璺宠浆鍒伴閫夋嫨鐨勮矾寰"
 
-#: trac/versioncontrol/templates/browser.html:82
-#: trac/versioncontrol/templates/revisionlog.html:92
-#: trac/versioncontrol/web_ui/browser.py:622
+#: trac/versioncontrol/templates/browser.html:87
+#: trac/versioncontrol/templates/revisionlog.html:93
+#: trac/versioncontrol/web_ui/browser.py:621
 msgid "Rev"
-msgstr "淇"
+msgstr "Rev"
 
-#: trac/versioncontrol/templates/browser.html:84
-#: trac/versioncontrol/web_ui/browser.py:373 trac/wiki/web_ui.py:520
-#: trac/wiki/web_ui.py:544
+#: trac/versioncontrol/templates/browser.html:89
+#: trac/versioncontrol/web_ui/browser.py:372 trac/wiki/web_ui.py:550
+#: trac/wiki/web_ui.py:576
 msgid "Last Change"
-msgstr "鏈鍚庡彉鏇"
+msgstr "鏈鏂板彉鏇"
 
-#: trac/versioncontrol/templates/browser.html:91
+#: trac/versioncontrol/templates/browser.html:96
 msgid "Parent Directory"
 msgstr "鐖剁洰褰"
 
-#: trac/versioncontrol/templates/browser.html:100
-#: trac/wiki/templates/wiki_edit.html:51 trac/wiki/templates/wiki_view.html:23
+#: trac/versioncontrol/templates/browser.html:102
+msgid "No files found"
+msgstr "娌℃湁鎵惧埌浠讳綍鏂囦欢銆"
+
+#: trac/versioncontrol/templates/browser.html:110
+#: trac/wiki/templates/wiki_edit.html:41 trac/wiki/templates/wiki_view.html:30
 msgid "Revision info"
 msgstr "淇淇℃伅"
 
-#: trac/versioncontrol/templates/browser.html:102
-msgid "Revision"
-msgstr "淇"
+#: trac/versioncontrol/templates/browser.html:112
+#, python-format
+msgid ""
+"Revision [1:%(rev)s], %(size)s\n"
+"            (checked in by %(author)s, %(date)s ago)"
+msgstr ""
+"淇 [1:%(rev)s], %(size)s\n"
+"            (鐢%(author)s鍦%(date)s鍓嶇鍏)"
 
-#: trac/versioncontrol/templates/browser.html:103
-msgid "(checked in by"
-msgstr "(妫鍏ヨ"
+#: trac/versioncontrol/templates/browser.html:151
+msgid ""
+"[1:Note:] See [2:TracBrowser]\n"
+"        for help on using the browser."
+msgstr "[1:娉ㄦ剰:] 浣跨敤婧愮爜娴忚鍣ㄧ殑甯姪鍙傝 [2:TracBrowser]銆"
 
-#: trac/versioncontrol/templates/browser.html:142
-msgid "TracBrowser"
-msgstr "TracBrowser"
-
-#: trac/versioncontrol/templates/browser.html:142
-msgid "for help on using the browser."
-msgstr "浣跨敤婧愮爜娓歌鐨勫府鍔."
-
-#: trac/versioncontrol/templates/browser.html:153
+#: trac/versioncontrol/templates/browser.html:163
 msgid "View changes..."
-msgstr "鏌ラ槄鍙樻洿"
+msgstr "鏌ラ槄鍙樻洿..."
 
-#: trac/versioncontrol/templates/browser.html:153
+#: trac/versioncontrol/templates/browser.html:163
 msgid "Select paths and revs for Diff"
-msgstr "閫夋嫨宸紓鐨勮矾寰勫拰淇"
+msgstr "閫夋嫨杩涜瀵规瘮鐨勮矾寰勫拰淇"
 
 #: trac/versioncontrol/templates/changeset.html:21
 #: trac/versioncontrol/templates/changeset.html:36
-#: trac/versioncontrol/web_ui/changeset.py:344
+#: trac/versioncontrol/web_ui/changeset.py:346
 msgid "Changeset"
 msgstr "鍙樻洿闆"
 
@@ -2805,7 +3275,7 @@
 
 #: trac/versioncontrol/templates/changeset.html:22
 msgid "for"
-msgstr "涓"
+msgstr "瀵逛簬"
 
 #: trac/versioncontrol/templates/changeset.html:23
 #: trac/versioncontrol/templates/changeset.html:26
@@ -2813,7 +3283,7 @@
 #: trac/versioncontrol/templates/changeset.html:33
 #: trac/versioncontrol/templates/changeset.html:64
 msgid "Show entry in browser"
-msgstr "鍦ㄦ簮鐮佹父瑙堜腑鏄剧ず鏉＄洰"
+msgstr "鍦ㄦ簮鐮佹祻瑙堝櫒涓樉绀烘潯鐩"
 
 #: trac/versioncontrol/templates/changeset.html:25
 msgid "Changes in"
@@ -2848,11 +3318,11 @@
 
 #: trac/versioncontrol/templates/changeset.html:87
 msgid "Show previous version in browser"
-msgstr "鍦ㄦ祻瑙堝櫒涓樉绀哄墠涓涓増鏈"
+msgstr "鍦ㄦ祻瑙堝櫒涓樉绀轰笂涓涓増鏈"
 
 #: trac/versioncontrol/templates/changeset.html:87
 msgid "previous"
-msgstr "鍓嶄竴涓"
+msgstr "涓婁竴涓"
 
 #: trac/versioncontrol/templates/changeset.html:109
 msgid "Message:"
@@ -2874,29 +3344,29 @@
 msgid "moved"
 msgstr "宸茬Щ鍔"
 
-#: trac/versioncontrol/templates/diff_form.html:9
-#: trac/versioncontrol/templates/diff_form.html:20
+#: trac/versioncontrol/templates/diff_form.html:10
+#: trac/versioncontrol/templates/diff_form.html:21
 msgid "Prepare Diff"
 msgstr "鍑嗗宸紓"
 
-#: trac/versioncontrol/templates/diff_form.html:26
+#: trac/versioncontrol/templates/diff_form.html:27
 msgid "Select the base and the target for the diff:"
 msgstr "閫夋嫨宸紓鐨勫熀鍑嗗拰鐩爣:"
 
-#: trac/versioncontrol/templates/diff_form.html:29
+#: trac/versioncontrol/templates/diff_form.html:30
 msgid "From:"
 msgstr "浠:"
 
-#: trac/versioncontrol/templates/diff_form.html:33
-#: trac/versioncontrol/templates/diff_form.html:43
+#: trac/versioncontrol/templates/diff_form.html:34
+#: trac/versioncontrol/templates/diff_form.html:44
 msgid "at revision:"
 msgstr "鍦ㄤ慨璁:"
 
-#: trac/versioncontrol/templates/diff_form.html:39
+#: trac/versioncontrol/templates/diff_form.html:40
 msgid "To:"
 msgstr "鑷:"
 
-#: trac/versioncontrol/templates/diff_form.html:49
+#: trac/versioncontrol/templates/diff_form.html:50
 msgid ""
 "For either path, you can start typing the path and will be\n"
 "              presented a list of existing directories and files to "
@@ -2904,104 +3374,105 @@
 "              from. Select an entry by clicking on it, or by using the\n"
 "              up/down cursor keys and hitting tab."
 msgstr ""
-"姣忎釜璺緞, 浣犲彲浠ュ紑濮嬭緭鍏ヨ矾寰, 鐒跺悗灏嗚幏寰楃幇鏈夎矾寰勫拰鏂囦欢鐨勬彁绀, 浠ヤ緵閫夋嫨.              鐐瑰嚮鏉＄洰浠ラ夋嫨, 鎴栬呬娇鐢ㄤ笂涓嬬澶, "
+"姣忎釜璺緞, 鎮ㄥ彲浠ュ紑濮嬭緭鍏ヨ矾寰, 鐒跺悗灏嗚幏寰楃幇鏈夎矾寰勫拰鏂囦欢鐨勬彁绀, 浠ヤ緵閫夋嫨.              鐐瑰嚮鏉＄洰浠ラ夋嫨, 鎴栬呬娇鐢ㄤ笂涓嬬澶, "
 "鐒跺悗鎸塼ab閿."
 
-#: trac/versioncontrol/templates/diff_form.html:63
-msgid "TracChangeset"
-msgstr "TracChangeset"
+#: trac/versioncontrol/templates/diff_form.html:62
+msgid ""
+"[1:Note:] See\n"
+"        [2:TracChangeset]\n"
+"        for help on using the diff feature."
+msgstr "[1:娉ㄦ剰:] 瀵规瘮鍔熻兘鐨勪娇鐢ㄥ府鍔╁弬瑙乕2:TracChangeset]"
 
-#: trac/versioncontrol/templates/diff_form.html:63
-msgid "for help on using the diff feature."
-msgstr "浣跨敤宸紓鐗规х殑甯姪."
-
 #: trac/versioncontrol/templates/dir_entries.html:17
 msgid "View Revision Log"
 msgstr "鏌ョ湅淇鏃ュ織"
 
-#: trac/versioncontrol/templates/revisionlog.html:10
+#: trac/versioncontrol/templates/revisionlog.html:11
 msgid "(log)"
 msgstr "(鏃ュ織)"
 
-#: trac/versioncontrol/templates/revisionlog.html:22
+#: trac/versioncontrol/templates/revisionlog.html:23
 msgid "Revision Log Mode:"
 msgstr "淇鏃ュ織妯″紡:"
 
-#: trac/versioncontrol/templates/revisionlog.html:26
+#: trac/versioncontrol/templates/revisionlog.html:27
 msgid "Stop on copy"
 msgstr "鍙樉绀哄埌澶嶅埗鏃剁殑淇"
 
-#: trac/versioncontrol/templates/revisionlog.html:32
+#: trac/versioncontrol/templates/revisionlog.html:33
 msgid "Follow copies"
 msgstr "璺熼殢澶嶅埗"
 
-#: trac/versioncontrol/templates/revisionlog.html:38
+#: trac/versioncontrol/templates/revisionlog.html:39
 msgid "Show only adds and deletes"
 msgstr "鍙樉绀哄鍔犲拰鍒犻櫎"
 
-#: trac/versioncontrol/templates/revisionlog.html:43
+#: trac/versioncontrol/templates/revisionlog.html:44
 msgid "View log starting at"
-msgstr "鏌ョ湅鏃ュ織璧峰浜"
+msgstr "鏌ョ湅鏃ュ織锛岃捣濮嬩慨璁:"
 
-#: trac/versioncontrol/templates/revisionlog.html:47
+#: trac/versioncontrol/templates/revisionlog.html:48
 msgid "and back to"
-msgstr "鍥為鍒"
+msgstr "缁撴潫淇:"
 
-#: trac/versioncontrol/templates/revisionlog.html:52
+#: trac/versioncontrol/templates/revisionlog.html:53
 msgid "Show at most"
 msgstr "鏈澶氭樉绀"
 
-#: trac/versioncontrol/templates/revisionlog.html:54
+#: trac/versioncontrol/templates/revisionlog.html:55
 msgid "revisions per page."
 msgstr "淇/椤."
 
-#: trac/versioncontrol/templates/revisionlog.html:59
+#: trac/versioncontrol/templates/revisionlog.html:60
 msgid "Show full log messages"
 msgstr "鏄剧ず瀹屾暣鏃ュ織淇℃伅"
 
-#: trac/versioncontrol/templates/revisionlog.html:77
+#: trac/versioncontrol/templates/revisionlog.html:78
 msgid "Copied or renamed"
 msgstr "澶嶅埗鎴栨洿鍚"
 
-#: trac/versioncontrol/templates/revisionlog.html:84
+#: trac/versioncontrol/templates/revisionlog.html:85
 msgid "Diff from Old Revision to New Revision (select them below)"
 msgstr "鏄剧ず鏃т慨璁㈠埌鏂颁慨璁㈢殑宸紓(浠庝笅闈㈤夋嫨)"
 
-#: trac/versioncontrol/templates/revisionlog.html:93
+#: trac/versioncontrol/templates/revisionlog.html:94
 msgid "Chgset"
 msgstr "鍙樻洿闆"
 
-#: trac/versioncontrol/templates/revisionlog.html:96
+#: trac/versioncontrol/templates/revisionlog.html:97
 msgid "Log Message"
 msgstr "鏃ュ織娑堟伅"
 
-#: trac/versioncontrol/templates/revisionlog.html:107
+#: trac/versioncontrol/templates/revisionlog.html:104
+msgid "No revisions found"
+msgstr "娌℃湁鎵惧埌浠讳綍淇"
+
+#: trac/versioncontrol/templates/revisionlog.html:116
 msgid "copied from"
 msgstr "澶嶅埗浜"
 
-#: trac/versioncontrol/templates/revisionlog.html:121
+#: trac/versioncontrol/templates/revisionlog.html:130
 msgid "View log starting at this revision"
-msgstr "鏌ョ湅浠庤繖涓慨璁箣鍚庣殑鏃ュ織"
+msgstr "鏌ョ湅姝や慨璁箣鍚庣殑鏃ュ織"
 
-#: trac/versioncontrol/templates/revisionlog.html:162
+#: trac/versioncontrol/templates/revisionlog.html:171
 msgid "Diff from Old Revision to New Revision (select them above)"
 msgstr "鏄剧ず鏃т慨璁㈠埌鏂颁慨璁㈢殑宸紓(浠庝笂闈㈤夋嫨)"
 
-#: trac/versioncontrol/templates/revisionlog.html:168
-msgid "TracRevisionLog"
-msgstr "TracRevisionLog"
+#: trac/versioncontrol/templates/revisionlog.html:176
+msgid ""
+"[1:Note:] See [2:TracRevisionLog]\n"
+"        for help on using the revision log."
+msgstr "[1:娉ㄦ剰:] 浣跨敤鐗堟湰鏃ュ織鐨勫府鍔╁弬瑙乕2:TracRevisionLog]銆"
 
-#: trac/versioncontrol/templates/revisionlog.html:168
-msgid "for help on using the revision log."
-msgstr "浣跨敤淇鏃ュ織鐨勫府鍔."
-
 #: trac/versioncontrol/templates/revisionlog.txt:1
 msgid ""
 "#\n"
 "# ChangeLog for"
 msgstr ""
 "#\n"
-"# 鍙樻洿闆嗘棩蹇"
+"# 鍙樻洿鏃ュ織: "
 
 #: trac/versioncontrol/templates/revisionlog.txt:2
 msgid ""
@@ -3013,252 +3484,359 @@
 
 #: trac/versioncontrol/web_ui/browser.py:297
 msgid "Browse Source"
-msgstr "婧愮爜娓歌"
+msgstr "婧愮爜娴忚"
 
-#: trac/versioncontrol/web_ui/browser.py:345
-#: trac/versioncontrol/web_ui/changeset.py:240
+#: trac/versioncontrol/web_ui/browser.py:344
+#: trac/versioncontrol/web_ui/changeset.py:242
 msgid "Invalid Changeset Number"
-msgstr "鏃犳晥鍙樻洿鐗堟湰鍙"
+msgstr "鏃犳晥鍙樻洿闆嗙増鏈彿"
 
-#: trac/versioncontrol/web_ui/browser.py:351
-#: trac/versioncontrol/web_ui/log.py:98
+#: trac/versioncontrol/web_ui/browser.py:350
+#: trac/versioncontrol/web_ui/log.py:97
 msgid "Parent directory"
 msgstr "鐖剁洰褰"
 
-#: trac/versioncontrol/web_ui/browser.py:377
+#: trac/versioncontrol/web_ui/browser.py:376
 msgid "Normal"
 msgstr "姝ｅ父"
 
-#: trac/versioncontrol/web_ui/browser.py:378
+#: trac/versioncontrol/web_ui/browser.py:377
 msgid "View file without annotations"
-msgstr "鏌ョ湅鏂囦欢(涓嶅寘鍚敞閲)"
+msgstr "鏌ョ湅鏂囦欢(涓嶅寘鍚敞瑙)"
 
-#: trac/versioncontrol/web_ui/browser.py:382
+#: trac/versioncontrol/web_ui/browser.py:381
 msgid "Annotate"
-msgstr "娉ㄩ噴"
+msgstr "娉ㄨВ"
 
-#: trac/versioncontrol/web_ui/browser.py:383
+#: trac/versioncontrol/web_ui/browser.py:382
 msgid ""
 "Annotate each line with the last changed revision (this can be time "
 "consuming...)"
-msgstr "缁欐渶鍚庣殑鍙樻洿淇姣忚閮藉姞娉ㄩ噴 (鍙兘杩欏皢鑺辫垂杩囧 鏃堕棿...)"
+msgstr "缁欐渶鏂颁慨璁㈡瘡琛岄兘鍔犳敞瑙 (杩欏彲鑳芥槸鑰楁椂鎿嶄綔...)"
 
-#: trac/versioncontrol/web_ui/browser.py:389
+#: trac/versioncontrol/web_ui/browser.py:388
 msgid "Revision Log"
 msgstr "淇鏃ュ織"
 
-#: trac/versioncontrol/web_ui/browser.py:455
-#: trac/versioncontrol/web_ui/changeset.py:334
+#: trac/versioncontrol/web_ui/browser.py:454
+#: trac/versioncontrol/web_ui/changeset.py:336
 msgid "Zip Archive"
 msgstr "Zip褰掓。"
 
-#: trac/versioncontrol/web_ui/browser.py:622
+#: trac/versioncontrol/web_ui/browser.py:621
 msgid "Revision in which the line changed"
-msgstr "璇ヨ鍙樻洿鏃剁殑淇"
+msgstr "璇ヨ鍙戠敓鍙樻洿鐨勪慨璁"
 
-#: trac/versioncontrol/web_ui/changeset.py:333
+#: trac/versioncontrol/web_ui/changeset.py:335
 msgid "Unified Diff"
-msgstr "缁熶竴鏍煎紡宸紓"
+msgstr "缁熶竴瀵规瘮"
 
-#: trac/versioncontrol/web_ui/changeset.py:348
+#: trac/versioncontrol/web_ui/changeset.py:350
 msgid "Reverse Diff"
-msgstr "鍥為宸紓"
+msgstr "鍙嶅悜瀵规瘮"
 
-#: trac/versioncontrol/web_ui/changeset.py:379
+#: trac/versioncontrol/web_ui/changeset.py:381
 #, python-format
 msgid "Changeset %(id)s for %(path)s"
 msgstr "鍙樻洿闆 %(id)s 涓 %(path)s"
 
-#: trac/versioncontrol/web_ui/changeset.py:382
-#: trac/versioncontrol/web_ui/changeset.py:404
-#: trac/versioncontrol/web_ui/changeset.py:422
+#: trac/versioncontrol/web_ui/changeset.py:384
+#: trac/versioncontrol/web_ui/changeset.py:406
+#: trac/versioncontrol/web_ui/changeset.py:424
 #, python-format
 msgid "Changeset %(id)s"
 msgstr "鍙樻洿闆 %(id)s"
 
-#: trac/versioncontrol/web_ui/changeset.py:452
+#: trac/versioncontrol/web_ui/changeset.py:454
 #, python-format
 msgid "Show revision %(rev)s of this file in browser"
 msgstr "鍦ㄦ祻瑙堝櫒涓樉绀烘枃浠剁殑淇 %(rev)s"
 
-#: trac/versioncontrol/web_ui/changeset.py:595
+#: trac/versioncontrol/web_ui/changeset.py:602
 #, python-format
 msgid "Show the changeset %(id)s restricted to %(path)s"
 msgstr "鏄剧ず鍙樻洿闆 %(id)s , 浠呭寘鍚矾寰 %(path)s"
 
-#: trac/versioncontrol/web_ui/changeset.py:605
+#: trac/versioncontrol/web_ui/changeset.py:612
 #, python-format
 msgid "Show the %(range)s differences restricted to %(path)s"
 msgstr "鏄剧ず宸紓鑼冨洿 %(range)s , 浠呭寘鍚矾寰 %(path)s"
 
-#: trac/versioncontrol/web_ui/changeset.py:784
+#: trac/versioncontrol/web_ui/changeset.py:803
 msgid "Repository checkins"
-msgstr "浠撳簱妫鍏"
+msgstr "鐗堟湰搴撴鍏"
 
-#: trac/versioncontrol/web_ui/changeset.py:956
+#: trac/versioncontrol/web_ui/changeset.py:978
 msgid "Changesets"
-msgstr "鍙樻洿闆唖"
+msgstr "鍙樻洿闆"
 
-#: trac/versioncontrol/web_ui/log.py:170
+#: trac/versioncontrol/web_ui/log.py:169
 #, python-format
 msgid ""
 "The file or directory '%(path)s' doesn't exist at revision %(rev)s or at "
 "any previous revision."
-msgstr "鏂囦欢鎴栫洰褰 '%(path)s' 涓嶅瓨鍦 %(rev)s 鍙婁互鍓嶇殑淇."
+msgstr "鏂囦欢鎴栫洰褰 '%(path)s' 涓嶅瓨鍦 %(rev)s 鍙婁互鍓嶇殑淇銆"
 
-#: trac/versioncontrol/web_ui/log.py:172
+#: trac/versioncontrol/web_ui/log.py:171
 msgid "Nonexistent path"
 msgstr "璺緞涓嶅瓨鍦"
 
-#: trac/versioncontrol/web_ui/log.py:188
+#: trac/versioncontrol/web_ui/log.py:187
 #, python-format
 msgid "Revision Log (restarting at %(path)s, rev. %(rev)s)"
-msgstr "淇鏃ュ織 (璧峰浜 %(path)s, 淇. %(rev)s)"
+msgstr "淇鏃ュ織 (璧峰浜 %(path)s, 淇 %(rev)s)"
 
-#: trac/versioncontrol/web_ui/log.py:245
+#: trac/versioncontrol/web_ui/log.py:244
 msgid "ChangeLog"
 msgstr "鍙樻洿鏃ュ織"
 
-#: trac/versioncontrol/web_ui/log.py:247
+#: trac/versioncontrol/web_ui/log.py:246
 msgid "View Latest Revision"
 msgstr "鏌ョ湅鏈鏂颁慨璁"
 
-#: trac/versioncontrol/web_ui/log.py:251
+#: trac/versioncontrol/web_ui/log.py:250
 msgid "Older Revisions"
 msgstr "鏇存棭鐗堟湰"
 
-#: trac/web/auth.py:89
+#: trac/versioncontrol/web_ui/util.py:61
+msgid "search"
+msgstr "鎼滅储"
+
+#: trac/versioncontrol/web_ui/util.py:65
 #, python-format
+msgid ""
+"You can %(search)s in the repository history to see if that path existed "
+"but was later removed"
+msgstr "鎮ㄥ彲浠ュ湪鐗堟湰搴撳巻鍙蹭腑%(search)s锛屼互鍒ゆ柇鏄惁璺緞鏇剧粡瀛樺湪浣嗗悗鏉ヨ鍒犻櫎浜嗐"
+
+#: trac/web/auth.py:88
+#, python-format
 msgid "logged in as %(user)s"
 msgstr "鐧诲綍涓 %(user)s"
 
-#: trac/web/auth.py:92
+#: trac/web/auth.py:91
 msgid "Logout"
-msgstr "鐧诲嚭"
+msgstr "娉ㄩ攢"
 
-#: trac/web/auth.py:95
+#: trac/web/auth.py:94
 msgid "Login"
 msgstr "鐧诲綍"
 
-#: trac/web/auth.py:137
+#: trac/web/auth.py:136
 #, python-format
 msgid "Already logged in as %(user)s."
 msgstr "宸茬粡鐧诲綍涓 %(user)s."
 
-#: trac/web/chrome.py:160 trac/web/chrome.py:168
+#: trac/web/chrome.py:178 trac/web/chrome.py:186
 #, python-format
 msgid "Previous %(label)s"
-msgstr "鍓 %(label)s"
+msgstr "涓婁竴%(label)s"
 
-#: trac/web/chrome.py:180 trac/web/chrome.py:187
+#: trac/web/chrome.py:198 trac/web/chrome.py:205
 #, python-format
 msgid "Next %(label)s"
-msgstr "鍚 %(label)s"
+msgstr "涓嬩竴%(label)s"
 
-#: trac/wiki/api.py:325
+#: trac/web/chrome.py:814
+msgid "(unknown template location)"
+msgstr "(鏈煡妯℃澘璺緞)"
+
+#: trac/web/chrome.py:815
+#, python-format
+msgid "Genshi %(error)s error while rendering template %(location)s"
+msgstr "Genshi鍦ㄦ覆鏌撴ā鏉%(location)s鏃讹紝鍙戠敓閿欒%(error)s銆"
+
+#. ... not logged in, you may want to 'do so' now (link)
+#: trac/web/main.py:493
+msgid "do so"
+msgstr "杩欐牱鍋"
+
+#: trac/web/main.py:495
+#, python-format
+msgid "You are currently not logged in. You may want to %(do_so)s now."
+msgstr "鎮ㄧ幇鍦ㄦ病鏈夌櫥褰曪紝鎮ㄤ篃璁告兂瑕佺幇鍦ㄥ氨%(do_so)s銆"
+
+#: trac/wiki/admin.py:84
+#, python-format
+msgid "'%(name)s' is not a file"
+msgstr "'%(name)s'涓嶆槸涓涓枃浠躲"
+
+#: trac/wiki/admin.py:129
+#, python-format
+msgid "  %(page)s imported from %(filename)s"
+msgstr "宸蹭粠%(filename)s涓鍏%(page)s"
+
+#: trac/wiki/admin.py:155
+msgid "Title"
+msgstr "鏍囬"
+
+#: trac/wiki/admin.py:155
+msgid "Edits"
+msgstr "缂栬緫娆℃暟"
+
+#: trac/wiki/admin.py:165
+msgid "Deleted pages"
+msgstr "宸插垹闄ら〉闈 "
+
+#: trac/wiki/admin.py:183
+#, python-format
+msgid "'%(name)s' is not a directory"
+msgstr "'%(name)s'涓嶆槸涓涓洰褰曘"
+
+#: trac/wiki/api.py:301 trac/wiki/templates/wiki_view.html:53
 msgid "no permission to view this wiki page"
-msgstr "鏃犳潈鏌ョ湅姝ょ淮鍩洪〉闈"
+msgstr "鏃犳潈鏌ョ湅姝iki椤甸潰"
 
-#: trac/wiki/formatter.py:133
+#: trac/wiki/formatter.py:140
 #, python-format
 msgid "HTML parsing error: %(message)s"
 msgstr "HTML澶勭悊閿欒: %(message)s"
 
-#: trac/wiki/intertrac.py:51
+#: trac/wiki/formatter.py:144
+msgid "Error: Forbidden character sequence \"--\" in htmlcomment wiki code block"
+msgstr "閿欒: htmlcomment wiki浠ｇ爜鍧椾腑瀛樺湪闈炴硶瀛楃搴忓垪 \"--\" "
+
+#: trac/wiki/intertrac.py:50
 #, python-format
 msgid "Can't view %(link)s:"
 msgstr "鏃犳硶鏌ョ湅 %(link)s:"
 
-#: trac/wiki/macros.py:467
+#: trac/wiki/macros.py:478
 #, python-format
 msgid "Error: Can't get description for macro %(name)s"
 msgstr "閿欒: 鏃犳硶寰楀埌瀹 %(name)s 鐨勬弿杩"
 
-#: trac/wiki/macros.py:550
+#: trac/wiki/macros.py:561
 msgid "Table of Contents"
 msgstr "鍐呭绱㈠紩"
 
-#: trac/wiki/model.py:146
+#: trac/wiki/model.py:149
 msgid "Page not modified"
 msgstr "鏈慨鏀圭殑椤甸潰"
 
-#: trac/wiki/web_ui.py:85 trac/wiki/web_ui.py:596
+#: trac/wiki/web_ui.py:89 trac/wiki/web_ui.py:627
 msgid "Wiki"
-msgstr "缁村熀"
+msgstr "Wiki"
 
-#: trac/wiki/web_ui.py:87
+#: trac/wiki/web_ui.py:91
 msgid "Help/Guide"
 msgstr "甯姪/鎸囧崡"
 
-#: trac/wiki/web_ui.py:122
+#: trac/wiki/web_ui.py:126
 #, python-format
 msgid "No version \"%(num)s\" for Wiki page \"%(name)s\""
-msgstr "鏃犵増鏈 \"%(num)s\" , 缁村熀椤甸潰 \"%(name)s\""
+msgstr "鏃犵増鏈 \"%(num)s\" , Wiki椤甸潰 \"%(name)s\""
 
-#: trac/wiki/web_ui.py:181
+#: trac/wiki/web_ui.py:183
 #, python-format
+msgid "The wiki page is too long (must be less than %(num)s characters)"
+msgstr "浠诲姟鍗曟弿杩板お闀(蹇呴』灏戜簬 %(num)s 涓瓧绗)"
+
+#: trac/wiki/web_ui.py:193
+#, python-format
 msgid "The Wiki page field '%(field)s' is invalid: %(message)s"
-msgstr "缁村熀椤甸潰瀛楁 '%(field)s' 鏃犳晥: %(message)s"
+msgstr "Wiki椤甸潰瀛楁 '%(field)s' 鏃犳晥: %(message)s"
 
-#: trac/wiki/web_ui.py:185
+#: trac/wiki/web_ui.py:197
 #, python-format
 msgid "Invalid Wiki page: %(message)s"
-msgstr "鏃犳晥鐨勭淮鍩洪〉闈: %(message)s"
+msgstr "鏃犳晥鐨刉iki椤甸潰: %(message)s"
 
-#: trac/wiki/web_ui.py:271
+#. wiki page
+#: trac/wiki/web_ui.py:224
+msgid "currently edited"
+msgstr "姝ｅ湪缂栬緫"
+
+#: trac/wiki/web_ui.py:258
+#, python-format
+msgid "The page %(name)s has been deleted."
+msgstr "椤甸潰 %(page)s 宸插垹闄ゃ"
+
+#: trac/wiki/web_ui.py:263
+#, python-format
+msgid "The versions %(from_)d to %(to)d of the page %(name)s have been deleted."
+msgstr "椤甸潰 %(name)s 鐨勭増鏈 %(from_)d 鍒 %(to)d 宸插垹闄ゃ"
+
+#: trac/wiki/web_ui.py:267
+#, python-format
+msgid "The version %(version)d of the page %(name)s has been deleted."
+msgstr "椤甸潰 %(name)s 鐗堟湰 %(version)d 宸插垹闄ゃ"
+
+#: trac/wiki/web_ui.py:294
 msgid "Page not modified, showing latest version."
-msgstr ""
+msgstr "椤甸潰鏈慨鏀癸紝鏄剧ず鏈鏂扮増鏈"
 
-#: trac/wiki/web_ui.py:303
+#: trac/wiki/web_ui.py:326
 #, python-format
 msgid "Version %(num)s of page \"%(name)s\" does not exist"
 msgstr "鐗堟湰 %(num)s 涓嶅瓨鍦, 椤甸潰 \"%(name)s\" "
 
-#: trac/wiki/web_ui.py:357
+#: trac/wiki/web_ui.py:380
 msgid "Page history"
 msgstr "椤甸潰鍘嗗彶"
 
-#: trac/wiki/web_ui.py:374
+#: trac/wiki/web_ui.py:397
 msgid "Wiki History"
-msgstr "缁村熀鍘嗗彶"
+msgstr "Wiki鍘嗗彶"
 
-#: trac/wiki/web_ui.py:439
+#: trac/wiki/web_ui.py:462
 #, python-format
 msgid "Page %(name)s does not exist"
 msgstr "椤甸潰 %(name)s 涓嶅瓨鍦"
 
-#: trac/wiki/web_ui.py:476
+#: trac/wiki/web_ui.py:500
 #, python-format
 msgid "Page %(name)s not found"
 msgstr "娌℃湁鎵惧埌椤甸潰 %(name)s"
 
-#: trac/wiki/web_ui.py:510 trac/wiki/web_ui.py:519
+#: trac/wiki/web_ui.py:536
+msgid "View latest version"
+msgstr "鏌ョ湅鏈鏂扮増鏈"
+
+#: trac/wiki/web_ui.py:540
+msgid "View parent page"
+msgstr "鏌ョ湅鐖堕〉闈"
+
+#: trac/wiki/web_ui.py:549
 msgid "View Latest Version"
 msgstr "鏌ョ湅鏈鏂扮増鏈"
 
-#: trac/wiki/web_ui.py:539
+#: trac/wiki/web_ui.py:555
+msgid "Up"
+msgstr "鍚戜笂"
+
+#: trac/wiki/web_ui.py:571
 msgid "Start Page"
 msgstr "璧峰椤"
 
-#: trac/wiki/web_ui.py:540
+#: trac/wiki/web_ui.py:572
 msgid "Index"
 msgstr "绱㈠紩"
 
-#: trac/wiki/web_ui.py:542
+#: trac/wiki/web_ui.py:574
 msgid "History"
 msgstr "鍘嗗彶"
 
-#: trac/wiki/web_ui.py:552
+#: trac/wiki/web_ui.py:584
 msgid "Wiki changes"
-msgstr "缁村熀鍙樻洿"
+msgstr "Wiki鍙樻洿"
 
+#. wiki page
+#: trac/wiki/web_ui.py:613
+msgid " edited"
+msgstr "宸茬紪杈"
+
+#: trac/wiki/web_ui.py:613
+msgid " created"
+msgstr "宸插垱寤"
+
 #: trac/wiki/templates/wiki_delete.html:22
 msgid "Delete"
 msgstr "鍒犻櫎"
 
 #: trac/wiki/templates/wiki_delete.html:26
 msgid "Are you sure you want to"
-msgstr "浣犵‘璁"
+msgstr "鎮ㄧ‘璁"
 
 #: trac/wiki/templates/wiki_delete.html:26
 msgid "delete"
@@ -3272,13 +3850,13 @@
 msgid "This is the only version the page, so the page will be removed completely!"
 msgstr "杩欐槸姝ら〉闈㈢殑鍞竴鐗堟湰, 鍥犳璇ラ〉闈㈠皢褰诲簳鍒犻櫎!"
 
-#: trac/wiki/templates/wiki_diff.html:16
+#: trac/wiki/templates/wiki_diff.html:17
 #, python-format
 msgid "Delete version %(old_version)d to version %(version)d"
-msgstr ""
+msgstr "鍒犻櫎鐗堟湰%(old_version)d鍒扮増鏈%(version)d"
 
-#: trac/wiki/templates/wiki_diff.html:17
-#, fuzzy, python-format
+#: trac/wiki/templates/wiki_diff.html:18
+#, python-format
 msgid "Delete version %(version)d"
 msgstr "鍒犻櫎鐗堟湰 %(version)d"
 
@@ -3290,114 +3868,125 @@
 msgid "Someone else has modified that page since you started your edits."
 msgstr "宸叉湁鍏朵粬浜轰慨鏀逛簡璇ラ〉闈."
 
-#: trac/wiki/templates/wiki_edit.html:31 trac/wiki/templates/wiki_edit.html:41
+#: trac/wiki/templates/wiki_edit.html:31
 msgid "If you save right away, you risk to revert those changes"
-msgstr "濡傛灉浣犵幇鍦ㄤ繚瀛, 鍙兘灏嗛偅浜涗慨鏀硅鐩"
+msgstr "濡傛灉鎮ㄧ幇鍦ㄤ繚瀛, 鍙兘灏嗛偅浜涗慨鏀硅鐩"
 
-#: trac/wiki/templates/wiki_edit.html:31 trac/wiki/templates/wiki_edit.html:41
+#: trac/wiki/templates/wiki_edit.html:31
 msgid "(highlighted below as deletions)."
 msgstr "(鍒犻櫎閮ㄥ垎鍦ㄤ笅闈㈤珮浜樉绀)."
 
-#: trac/wiki/templates/wiki_edit.html:33 trac/wiki/templates/wiki_edit.html:42
+#: trac/wiki/templates/wiki_edit.html:33
 msgid ""
 "Please review all those changes and manually merge them with your\n"
 "        own changes."
-msgstr "璇锋鏌ユ墍鏈変慨鏀, 骞舵墜宸ュ悎骞跺埌浣犵殑淇敼涓."
+msgstr "璇锋鏌ユ墍鏈変慨鏀, 骞舵墜宸ュ悎骞跺埌鎮ㄧ殑淇敼涓."
 
-#: trac/wiki/templates/wiki_edit.html:34 trac/wiki/templates/wiki_edit.html:44
+#: trac/wiki/templates/wiki_edit.html:34
 msgid "If you're unsure about what you're doing, please press"
-msgstr "濡傛灉浣犲鎵鍋氱殑涓嶇‘瀹, 璇锋寜"
+msgstr "濡傛灉鎮ㄥ鎵鍋氱殑涓嶇‘瀹, 璇锋寜"
 
-#: trac/wiki/templates/wiki_edit.html:35 trac/wiki/templates/wiki_edit.html:45
+#: trac/wiki/templates/wiki_edit.html:35
 msgid ""
 "(losing your changes) and start editing the latest version of the page\n"
 "        again."
-msgstr "(澶卞幓浣犵殑淇敼) 鐒跺悗閲嶆柊寮濮嬬紪杈戦〉闈㈢殑鏈鍏堢増鏈."
+msgstr "(澶卞幓鎮ㄧ殑淇敼) 鐒跺悗閲嶆柊寮濮嬬紪杈戦〉闈㈢殑鏈鍏堢増鏈."
 
-#: trac/wiki/templates/wiki_edit.html:39
-#, fuzzy
-msgid "Someone else modified that page since you started your edits."
-msgstr "宸叉湁鍏朵粬浜轰慨鏀逛簡璇ラ〉闈."
-
-#: trac/wiki/templates/wiki_edit.html:53
+#: trac/wiki/templates/wiki_edit.html:43
 msgid "Change information for future version"
 msgstr "鏀瑰彉鏈潵鐗堟湰鐨勪俊鎭"
 
-#: trac/wiki/templates/wiki_edit.html:54 trac/wiki/templates/wiki_view.html:26
+#: trac/wiki/templates/wiki_edit.html:44 trac/wiki/templates/wiki_view.html:33
 msgid "(modified by"
 msgstr "(淇敼鑰"
 
-#: trac/wiki/templates/wiki_edit.html:72
+#: trac/wiki/templates/wiki_edit.html:62
 msgid ""
 "Sorry, this page has been modified by somebody else since you started\n"
 "            editing. Your changes cannot be saved."
-msgstr "瀵逛笉璧, 璇ラ〉闈㈠凡缁忚鍏朵粬浜轰慨鏀. 浣犱笉鑳戒繚瀛樻墍鍋氱殑淇敼."
+msgstr "瀵逛笉璧, 璇ラ〉闈㈠凡缁忚鍏朵粬浜轰慨鏀. 鎮ㄤ笉鑳戒繚瀛樻墍鍋氱殑淇敼."
 
-#: trac/wiki/templates/wiki_edit.html:85
+#: trac/wiki/templates/wiki_edit.html:75
 msgid "Adjust edit area height:"
 msgstr "璋冩暣缂栬緫妗嗛珮搴:"
 
-#: trac/wiki/templates/wiki_edit.html:97
+#: trac/wiki/templates/wiki_edit.html:87
 msgid ""
 "[1:Note:] See [2:WikiFormatting] and\n"
 "          [3:TracWiki] for help on editing wiki content."
 msgstr ""
 "[1:娉ㄩ噴:] 鏌ョ湅 [2:WikiFormatting] 鍜孿n"
-"          [3:TracWiki] 浠ヨ幏寰楃紪杈戠淮鍩哄唴瀹圭殑甯姪."
+"          [3:TracWiki] 浠ヨ幏寰楃紪杈慦iki鍐呭鐨勫府鍔."
 
-#: trac/wiki/templates/wiki_edit.html:102
+#: trac/wiki/templates/wiki_edit.html:92
 msgid "Change information"
 msgstr "鍙樻洿淇℃伅"
 
-#: trac/wiki/templates/wiki_edit.html:110
+#: trac/wiki/templates/wiki_edit.html:103
 msgid "Comment about this change (optional):"
 msgstr "璇勮姝ゆ淇敼(鍙):"
 
-#: trac/wiki/templates/wiki_edit.html:117
+#: trac/wiki/templates/wiki_edit.html:110
 msgid "Page is read-only"
 msgstr "椤甸潰鍙"
 
-#: trac/wiki/templates/wiki_edit.html:125
+#: trac/wiki/templates/wiki_edit.html:118
 msgid "Merge changes"
 msgstr "鍚堝苟鍙樻洿"
 
-#: trac/wiki/templates/wiki_edit.html:129
+#: trac/wiki/templates/wiki_edit.html:122
 msgid "Preview Page"
 msgstr "椤甸潰棰勮"
 
-#: trac/wiki/templates/wiki_edit.html:130
+#: trac/wiki/templates/wiki_edit.html:123
 msgid "Review Changes"
 msgstr "棰勮鍙樻洿"
 
-#: trac/wiki/templates/wiki_view.html:39
+#: trac/wiki/templates/wiki_view.html:47
 msgid "Describe"
-msgstr "鎻忚堪"
+msgstr "璇峰湪杩欓噷鎻忚堪"
 
-#: trac/wiki/templates/wiki_view.html:40
+#: trac/wiki/templates/wiki_view.html:47
 msgid "here."
-msgstr "姝."
+msgstr "銆"
 
-#: trac/wiki/templates/wiki_view.html:57
+#: trac/wiki/templates/wiki_view.html:49
+msgid "Alternatively, you can also create the page higher in the hierarchy:"
+msgstr "姝ゅ锛屾偍涔熷彲浠ュ垱寤虹洰褰曞眰娆℃洿楂樼殑椤甸潰:"
+
+#: trac/wiki/templates/wiki_view.html:74
 msgid "Edit this page"
 msgstr "缂栬緫姝ら〉闈"
 
-#: trac/wiki/templates/wiki_view.html:60
+#: trac/wiki/templates/wiki_view.html:77
 msgid "Create this page"
 msgstr "鍒涘缓姝ら〉闈"
 
-#: trac/wiki/templates/wiki_view.html:62
+#: trac/wiki/templates/wiki_view.html:79
 msgid "Using the template:"
 msgstr "浣跨敤妯℃澘:"
 
-#: trac/wiki/templates/wiki_view.html:65
+#: trac/wiki/templates/wiki_view.html:82
 msgid "(blank page)"
 msgstr "(绌虹櫧椤甸潰)"
 
-#: trac/wiki/templates/wiki_view.html:84
+#: trac/wiki/templates/wiki_view.html:101
 msgid "Delete this version"
 msgstr "鍒犻櫎姝ょ増鏈"
 
-#: trac/wiki/templates/wiki_view.html:86
+#: trac/wiki/templates/wiki_view.html:103
 msgid "Delete page"
 msgstr "鍒犻櫎椤甸潰 "
 
+#~ msgid "Ticket contains non-ASCII chars. Please change encoding setting"
+#~ msgstr "浠诲姟鍗曞寘鍚潪ASCII瀛楃. 璇蜂慨鏀圭紪鐮佽缃"
+
+#~ msgid "Warnings:"
+#~ msgstr "璀﹀憡s:"
+
+#~ msgid "Notice:"
+#~ msgstr "娉ㄦ剰:"
+
+#~ msgid "Notices:"
+#~ msgstr "娉ㄦ剰s:"
+

