i18n-zh: updated Chinese translation
authorDongsheng Song <dongsheng.song@gmail.com>
Mon, 09 Nov 2009 20:39:58 +0100
changeset 9804 fe0fb1cca911
parent 9803 a0bf760c0dae
child 9805 a40ec11795c3
i18n-zh: updated Chinese translation
i18n/zh_CN.po
--- a/i18n/zh_CN.po	Sun Nov 08 00:41:54 2009 +0100
+++ b/i18n/zh_CN.po	Mon Nov 09 20:39:58 2009 +0100
@@ -5,8 +5,6 @@
 # Copyright (C) 2009 the Mercurial team
 # Dongsheng Song <dongsheng.song@gmail.com>, 2009
 #
-# $Id: zh_CN.po 1313 2009-06-24 02:08:02Z songdongsheng@live.cn $
-#
 # Update with pot file:
 #    msgmerge --update zh_CN.po hg.pot
 #    msgfmt --statistics -c zh_CN.po
@@ -50,8 +48,8 @@
 msgstr ""
 "Project-Id-Version: Mercurial 1.3\n"
 "Report-Msgid-Bugs-To: <mercurial-devel@selenic.com>\n"
-"POT-Creation-Date: 2009-10-25 12:38+0100\n"
-"PO-Revision-Date: 2009-10-25 12:49+0100\n"
+"POT-Creation-Date: 2009-10-19 11:47+0800\n"
+"PO-Revision-Date: 2009-03-31 20:38+0200\n"
 "Last-Translator: Dongsheng Song <dongsheng.song@gmail.com>\n"
 "Language-Team: Chinese translation team <i18n-zh@googlegroups.com>\n"
 "MIME-Version: 1.0\n"
@@ -71,11 +69,12 @@
 msgid "COMMANDS"
 msgstr "命令"
 
-#, fuzzy
 msgid ""
 "    options:\n"
 "\n"
-msgstr "    选项:\n"
+msgstr ""
+"    选项:\n"
+"\n"
 
 #, python-format
 msgid ""
@@ -86,634 +85,6 @@
 "\n"
 
 msgid ""
-"Some commands allow the user to specify a date, e.g.:\n"
-"\n"
-"- backout, commit, import, tag: Specify the commit date.\n"
-"- log, revert, update: Select revision(s) by date.\n"
-"\n"
-"Many date formats are valid. Here are some examples::\n"
-"\n"
-"  \"Wed Dec 6 13:18:29 2006\" (local timezone assumed)\n"
-"  \"Dec 6 13:18 -0600\" (year assumed, time offset provided)\n"
-"  \"Dec 6 13:18 UTC\" (UTC and GMT are aliases for +0000)\n"
-"  \"Dec 6\" (midnight)\n"
-"  \"13:18\" (today assumed)\n"
-"  \"3:39\" (3:39AM assumed)\n"
-"  \"3:39pm\" (15:39)\n"
-"  \"2006-12-06 13:18:29\" (ISO 8601 format)\n"
-"  \"2006-12-6 13:18\"\n"
-"  \"2006-12-6\"\n"
-"  \"12-6\"\n"
-"  \"12/6\"\n"
-"  \"12/6/6\" (Dec 6 2006)\n"
-"\n"
-"Lastly, there is Mercurial's internal format::\n"
-"\n"
-"  \"1165432709 0\" (Wed Dec 6 13:18:29 2006 UTC)\n"
-"\n"
-"This is the internal representation format for dates. unixtime is the\n"
-"number of seconds since the epoch (1970-01-01 00:00 UTC). offset is\n"
-"the offset of the local timezone, in seconds west of UTC (negative if\n"
-"the timezone is east of UTC).\n"
-"\n"
-"The log command also accepts date ranges::\n"
-"\n"
-"  \"<{datetime}\" - at or before a given date/time\n"
-"  \">{datetime}\" - on or after a given date/time\n"
-"  \"{datetime} to {datetime}\" - a date range, inclusive\n"
-"  \"-{days}\" - within a given number of days of today\n"
-msgstr ""
-
-#, fuzzy
-msgid ""
-"Mercurial's default format for showing changes between two versions of\n"
-"a file is compatible with the unified format of GNU diff, which can be\n"
-"used by GNU patch and many other standard tools.\n"
-"\n"
-"While this standard format is often enough, it does not encode the\n"
-"following information:\n"
-"\n"
-"- executable status and other permission bits\n"
-"- copy or rename information\n"
-"- changes in binary files\n"
-"- creation or deletion of empty files\n"
-"\n"
-"Mercurial also supports the extended diff format from the git VCS\n"
-"which addresses these limitations. The git diff format is not produced\n"
-"by default because a few widespread tools still do not understand this\n"
-"format.\n"
-"\n"
-"This means that when generating diffs from a Mercurial repository\n"
-"(e.g. with \"hg export\"), you should be careful about things like file\n"
-"copies and renames or other things mentioned above, because when\n"
-"applying a standard diff to a different repository, this extra\n"
-"information is lost. Mercurial's internal operations (like push and\n"
-"pull) are not affected by this, because they use an internal binary\n"
-"format for communicating changes.\n"
-"\n"
-"To make Mercurial produce the git extended diff format, use the --git\n"
-"option available for many commands, or set 'git = True' in the [diff]\n"
-"section of your hgrc. You do not need to set this option when\n"
-"importing diffs in this format or using them in the mq extension.\n"
-msgstr ""
-"\n"
-"    水银显示文件不同版本之间差异的格式与 GNU diff 标准格式兼容,可用于\n"
-"    GNU patch 和许多标准工具。\n"
-"\n"
-"    虽然标准格式在大多数情况下都能满足要求,但是它不包含下述信息:\n"
-"\n"
-"     - 可执行状态和其它权限位\n"
-"     - 复制或改名信息\n"
-"     - 二进制文件的修改\n"
-"     - 创建或删除空文件\n"
-"\n"
-"    水银也支持解决这些限制的 git 扩展差异格式。由于一些常用的工具还不支持\n"
-"    此格式,所以它不是默认格式。\n"
-"\n"
-"    这意味着当从水银版本库(例如 \"hg export\")产生差异时,在其它版本库应用"
-"标\n"
-"    准差异时,会丢失文件复制或改名等额外信息,所以你要小心处理。水银的内部\n"
-"    操作(例如 push 和 pull)在传达改变时,使用内部的二进制格式,所以不受影\n"
-"    响。\n"
-"\n"
-"    要让水银产生 git 扩展差异格式,可以对许多命令使用选项 '--git',或者在\n"
-"    你的 hgrc 文件中的节 '[diff]' 中增加 'git = True'。当你从此格式导入时,\n"
-"    或在 mq 扩展中使用时,不需要设置此选项。\n"
-"    "
-
-msgid ""
-"HG\n"
-"    Path to the 'hg' executable, automatically passed when running\n"
-"    hooks, extensions or external tools. If unset or empty, this is\n"
-"    the hg executable's name if it's frozen, or an executable named\n"
-"    'hg' (with %PATHEXT% [defaulting to COM/EXE/BAT/CMD] extensions on\n"
-"    Windows) is searched.\n"
-"\n"
-"HGEDITOR\n"
-"    This is the name of the editor to run when committing. See EDITOR.\n"
-"\n"
-"    (deprecated, use .hgrc)\n"
-"\n"
-"HGENCODING\n"
-"    This overrides the default locale setting detected by Mercurial.\n"
-"    This setting is used to convert data including usernames,\n"
-"    changeset descriptions, tag names, and branches. This setting can\n"
-"    be overridden with the --encoding command-line option.\n"
-"\n"
-"HGENCODINGMODE\n"
-"    This sets Mercurial's behavior for handling unknown characters\n"
-"    while transcoding user input. The default is \"strict\", which\n"
-"    causes Mercurial to abort if it can't map a character. Other\n"
-"    settings include \"replace\", which replaces unknown characters, and\n"
-"    \"ignore\", which drops them. This setting can be overridden with\n"
-"    the --encodingmode command-line option.\n"
-"\n"
-"HGMERGE\n"
-"    An executable to use for resolving merge conflicts. The program\n"
-"    will be executed with three arguments: local file, remote file,\n"
-"    ancestor file.\n"
-"\n"
-"    (deprecated, use .hgrc)\n"
-"\n"
-"HGRCPATH\n"
-"    A list of files or directories to search for hgrc files. Item\n"
-"    separator is \":\" on Unix, \";\" on Windows. If HGRCPATH is not set,\n"
-"    platform default search path is used. If empty, only the .hg/hgrc\n"
-"    from the current repository is read.\n"
-"\n"
-"    For each element in HGRCPATH:\n"
-"\n"
-"    - if it's a directory, all files ending with .rc are added\n"
-"    - otherwise, the file itself will be added\n"
-"\n"
-"HGUSER\n"
-"    This is the string used as the author of a commit. If not set,\n"
-"    available values will be considered in this order:\n"
-"\n"
-"    - HGUSER (deprecated)\n"
-"    - hgrc files from the HGRCPATH\n"
-"    - EMAIL\n"
-"    - interactive prompt\n"
-"    - LOGNAME (with '@hostname' appended)\n"
-"\n"
-"    (deprecated, use .hgrc)\n"
-"\n"
-"EMAIL\n"
-"    May be used as the author of a commit; see HGUSER.\n"
-"\n"
-"LOGNAME\n"
-"    May be used as the author of a commit; see HGUSER.\n"
-"\n"
-"VISUAL\n"
-"    This is the name of the editor to use when committing. See EDITOR.\n"
-"\n"
-"EDITOR\n"
-"    Sometimes Mercurial needs to open a text file in an editor for a\n"
-"    user to modify, for example when writing commit messages. The\n"
-"    editor it uses is determined by looking at the environment\n"
-"    variables HGEDITOR, VISUAL and EDITOR, in that order. The first\n"
-"    non-empty one is chosen. If all of them are empty, the editor\n"
-"    defaults to 'vi'.\n"
-"\n"
-"PYTHONPATH\n"
-"    This is used by Python to find imported modules and may need to be\n"
-"    set appropriately if this Mercurial is not installed system-wide.\n"
-msgstr ""
-
-msgid ""
-"Mercurial has the ability to add new features through the use of\n"
-"extensions. Extensions may add new commands, add options to\n"
-"existing commands, change the default behavior of commands, or\n"
-"implement hooks.\n"
-"\n"
-"Extensions are not loaded by default for a variety of reasons:\n"
-"they can increase startup overhead; they may be meant for advanced\n"
-"usage only; they may provide potentially dangerous abilities (such\n"
-"as letting you destroy or modify history); they might not be ready\n"
-"for prime time; or they may alter some usual behaviors of stock\n"
-"Mercurial. It is thus up to the user to activate extensions as\n"
-"needed.\n"
-"\n"
-"To enable the \"foo\" extension, either shipped with Mercurial or in\n"
-"the Python search path, create an entry for it in your hgrc, like\n"
-"this::\n"
-"\n"
-"  [extensions]\n"
-"  foo =\n"
-"\n"
-"You may also specify the full path to an extension::\n"
-"\n"
-"  [extensions]\n"
-"  myfeature = ~/.hgext/myfeature.py\n"
-"\n"
-"To explicitly disable an extension enabled in an hgrc of broader\n"
-"scope, prepend its path with !::\n"
-"\n"
-"  [extensions]\n"
-"  # disabling extension bar residing in /path/to/extension/bar.py\n"
-"  hgext.bar = !/path/to/extension/bar.py\n"
-"  # ditto, but no path was supplied for extension baz\n"
-"  hgext.baz = !\n"
-msgstr ""
-
-#, fuzzy
-msgid ""
-"When Mercurial accepts more than one revision, they may be specified\n"
-"individually, or provided as a topologically continuous range,\n"
-"separated by the \":\" character.\n"
-"\n"
-"The syntax of range notation is [BEGIN]:[END], where BEGIN and END are\n"
-"revision identifiers. Both BEGIN and END are optional. If BEGIN is not\n"
-"specified, it defaults to revision number 0. If END is not specified,\n"
-"it defaults to the tip. The range \":\" thus means \"all revisions\".\n"
-"\n"
-"If BEGIN is greater than END, revisions are treated in reverse order.\n"
-"\n"
-"A range acts as a closed interval. This means that a range of 3:5\n"
-"gives 3, 4 and 5. Similarly, a range of 9:6 gives 9, 8, 7, and 6.\n"
-msgstr ""
-"\n"
-"    当水银接受多个版本时,它们可以单独给出,或者以字符 \":\" 分割的拓扑连续\n"
-"    范围格式提供。\n"
-"\n"
-"    范围的语法是 '[BEGIN]:[END]',其中 'BEGIN' 和 'END' 是版本标识。'BEGIN'\n"
-"    和 'END' 都是可选的。'BEGIN' 默认是 0,'END' 默认是 'tip'。因此范围 \":"
-"\"\n"
-"    意味着全部版本。\n"
-"\n"
-"    如果 'BEGIN' 大于 'END',版本视为反序。\n"
-"\n"
-"    范围是闭区间。即范围 '3:5' 是 '3','4','5'。同样,范围 '9:6' 是 '9',\n"
-"    '8','7' 和 '6'。\n"
-"    "
-
-msgid ""
-"Mercurial accepts several notations for identifying one or more files\n"
-"at a time.\n"
-"\n"
-"By default, Mercurial treats filenames as shell-style extended glob\n"
-"patterns.\n"
-"\n"
-"Alternate pattern notations must be specified explicitly.\n"
-"\n"
-"To use a plain path name without any pattern matching, start it with\n"
-"``path:``. These path names must completely match starting at the\n"
-"current repository root.\n"
-"\n"
-"To use an extended glob, start a name with ``glob:``. Globs are rooted\n"
-"at the current directory; a glob such as ``*.c`` will only match files\n"
-"in the current directory ending with ``.c``.\n"
-"\n"
-"The supported glob syntax extensions are ``**`` to match any string\n"
-"across path separators and ``{a,b}`` to mean \"a or b\".\n"
-"\n"
-"To use a Perl/Python regular expression, start a name with ``re:``.\n"
-"Regexp pattern matching is anchored at the root of the repository.\n"
-"\n"
-"Plain examples::\n"
-"\n"
-"  path:foo/bar   a name bar in a directory named foo in the root\n"
-"                 of the repository\n"
-"  path:path:name a file or directory named \"path:name\"\n"
-"\n"
-"Glob examples::\n"
-"\n"
-"  glob:*.c       any name ending in \".c\" in the current directory\n"
-"  *.c            any name ending in \".c\" in the current directory\n"
-"  **.c           any name ending in \".c\" in any subdirectory of the\n"
-"                 current directory including itself.\n"
-"  foo/*.c        any name ending in \".c\" in the directory foo\n"
-"  foo/**.c       any name ending in \".c\" in any subdirectory of foo\n"
-"                 including itself.\n"
-"\n"
-"Regexp examples::\n"
-"\n"
-"  re:.*\\.c$      any name ending in \".c\", anywhere in the repository\n"
-msgstr ""
-
-msgid ""
-"Mercurial supports several ways to specify individual revisions.\n"
-"\n"
-"A plain integer is treated as a revision number. Negative integers are\n"
-"treated as sequential offsets from the tip, with -1 denoting the tip,\n"
-"-2 denoting the revision prior to the tip, and so forth.\n"
-"\n"
-"A 40-digit hexadecimal string is treated as a unique revision\n"
-"identifier.\n"
-"\n"
-"A hexadecimal string less than 40 characters long is treated as a\n"
-"unique revision identifier and is referred to as a short-form\n"
-"identifier. A short-form identifier is only valid if it is the prefix\n"
-"of exactly one full-length identifier.\n"
-"\n"
-"Any other string is treated as a tag or branch name. A tag name is a\n"
-"symbolic name associated with a revision identifier. A branch name\n"
-"denotes the tipmost revision of that branch. Tag and branch names must\n"
-"not contain the \":\" character.\n"
-"\n"
-"The reserved name \"tip\" is a special tag that always identifies the\n"
-"most recent revision.\n"
-"\n"
-"The reserved name \"null\" indicates the null revision. This is the\n"
-"revision of an empty repository, and the parent of revision 0.\n"
-"\n"
-"The reserved name \".\" indicates the working directory parent. If no\n"
-"working directory is checked out, it is equivalent to null. If an\n"
-"uncommitted merge is in progress, \".\" is the revision of the first\n"
-"parent.\n"
-msgstr ""
-
-#, fuzzy
-msgid ""
-"Mercurial allows you to customize output of commands through\n"
-"templates. You can either pass in a template from the command\n"
-"line, via the --template option, or select an existing\n"
-"template-style (--style).\n"
-"\n"
-"You can customize output for any \"log-like\" command: log,\n"
-"outgoing, incoming, tip, parents, heads and glog.\n"
-"\n"
-"Three styles are packaged with Mercurial: default (the style used\n"
-"when no explicit preference is passed), compact and changelog.\n"
-"Usage::\n"
-"\n"
-"    $ hg log -r1 --style changelog\n"
-"\n"
-"A template is a piece of text, with markup to invoke variable\n"
-"expansion::\n"
-"\n"
-"    $ hg log -r1 --template \"{node}\\n\"\n"
-"    b56ce7b07c52de7d5fd79fb89701ea538af65746\n"
-"\n"
-"Strings in curly braces are called keywords. The availability of\n"
-"keywords depends on the exact context of the templater. These\n"
-"keywords are usually available for templating a log-like command:\n"
-"\n"
-":author:    String. The unmodified author of the changeset.\n"
-":branches:  String. The name of the branch on which the changeset\n"
-"            was committed. Will be empty if the branch name was\n"
-"            default.\n"
-":date:      Date information. The date when the changeset was\n"
-"            committed.\n"
-":desc:      String. The text of the changeset description.\n"
-":diffstat:  String. Statistics of changes with the following\n"
-"            format: \"modified files: +added/-removed lines\"\n"
-":files:     List of strings. All files modified, added, or removed\n"
-"            by this changeset.\n"
-":file_adds: List of strings. Files added by this changeset.\n"
-":file_mods: List of strings. Files modified by this changeset.\n"
-":file_dels: List of strings. Files removed by this changeset.\n"
-":node:      String. The changeset identification hash, as a\n"
-"            40-character hexadecimal string.\n"
-":parents:   List of strings. The parents of the changeset.\n"
-":rev:       Integer. The repository-local changeset revision\n"
-"            number.\n"
-":tags:      List of strings. Any tags associated with the\n"
-"            changeset.\n"
-":latesttag: String. Most recent global tag in the ancestors of this\n"
-"            changeset.\n"
-":latesttagdistance: Integer. Longest path to the latest tag.\n"
-"\n"
-"The \"date\" keyword does not produce human-readable output. If you\n"
-"want to use a date in your output, you can use a filter to process\n"
-"it. Filters are functions which return a string based on the input\n"
-"variable. You can also use a chain of filters to get the desired\n"
-"output::\n"
-"\n"
-"   $ hg tip --template \"{date|isodate}\\n\"\n"
-"   2008-08-21 18:22 +0000\n"
-"\n"
-"List of filters:\n"
-"\n"
-":addbreaks:   Any text. Add an XHTML \"<br />\" tag before the end of\n"
-"              every line except the last.\n"
-":age:         Date. Returns a human-readable date/time difference\n"
-"              between the given date/time and the current\n"
-"              date/time.\n"
-":basename:    Any text. Treats the text as a path, and returns the\n"
-"              last component of the path after splitting by the\n"
-"              path separator (ignoring trailing separators). For\n"
-"              example, \"foo/bar/baz\" becomes \"baz\" and \"foo/bar//\"\n"
-"              becomes \"bar\".\n"
-":stripdir:    Treat the text as path and strip a directory level,\n"
-"              if possible. For example, \"foo\" and \"foo/bar\" becomes\n"
-"              \"foo\".\n"
-":date:        Date. Returns a date in a Unix date format, including\n"
-"              the timezone: \"Mon Sep 04 15:13:13 2006 0700\".\n"
-":domain:      Any text. Finds the first string that looks like an\n"
-"              email address, and extracts just the domain\n"
-"              component. Example: 'User <user@example.com>' becomes\n"
-"              'example.com'.\n"
-":email:       Any text. Extracts the first string that looks like\n"
-"              an email address. Example: 'User <user@example.com>'\n"
-"              becomes 'user@example.com'.\n"
-":escape:      Any text. Replaces the special XML/XHTML characters\n"
-"              \"&\", \"<\" and \">\" with XML entities.\n"
-":fill68:      Any text. Wraps the text to fit in 68 columns.\n"
-":fill76:      Any text. Wraps the text to fit in 76 columns.\n"
-":firstline:   Any text. Returns the first line of text.\n"
-":nonempty:    Any text. Returns '(none)' if the string is empty.\n"
-":hgdate:      Date. Returns the date as a pair of numbers:\n"
-"              \"1157407993 25200\" (Unix timestamp, timezone offset).\n"
-":isodate:     Date. Returns the date in ISO 8601 format:\n"
-"              \"2009-08-18 13:00 +0200\".\n"
-":isodatesec:  Date. Returns the date in ISO 8601 format, including\n"
-"              seconds: \"2009-08-18 13:00:13 +0200\". See also the\n"
-"              rfc3339date filter.\n"
-":localdate:   Date. Converts a date to local date.\n"
-":obfuscate:   Any text. Returns the input text rendered as a\n"
-"              sequence of XML entities.\n"
-":person:      Any text. Returns the text before an email address.\n"
-":rfc822date:  Date. Returns a date using the same format used in\n"
-"              email headers: \"Tue, 18 Aug 2009 13:00:13 +0200\".\n"
-":rfc3339date: Date. Returns a date using the Internet date format\n"
-"              specified in RFC 3339: \"2009-08-18T13:00:13+02:00\".\n"
-":short:       Changeset hash. Returns the short form of a changeset\n"
-"              hash, i.e. a 12-byte hexadecimal string.\n"
-":shortdate:   Date. Returns a date like \"2006-09-18\".\n"
-":strip:       Any text. Strips all leading and trailing whitespace.\n"
-":tabindent:   Any text. Returns the text, with every line except\n"
-"              the first starting with a tab character.\n"
-":urlescape:   Any text. Escapes all \"special\" characters. For\n"
-"              example, \"foo bar\" becomes \"foo%20bar\".\n"
-":user:        Any text. Returns the user portion of an email\n"
-"              address.\n"
-msgstr ""
-"\n"
-"    水银允许你通过模版定制命令的输出。你可以通过命令行选项 '--template'\n"
-"    来使用模版,或者选择已有的模版样式(--style)。\n"
-"\n"
-"    你可以定制任意输出与日志信息类似的命令,即: log,outgoing,incoming,\n"
-"    tip,parents,heads 和 glog。\n"
-"\n"
-"    水银中内置了 3 种样式: default (默认), compact 和 changelog。用法:\n"
-"\n"
-"        $ hg log -r1 --style changelog\n"
-"\n"
-"    模版是文本片断,其中的标记用于变量扩展:\n"
-"\n"
-"        $ hg log -r1 --template \"{node}\\n\"\n"
-"        b56ce7b07c52de7d5fd79fb89701ea538af65746\n"
-"\n"
-"    花括号中的字符串称为关键字。可用的关键字依赖于模版的上下文。下述关键字\n"
-"    可用于输出与日志信息类似的命令:\n"
-"\n"
-"    - author: 字符串。修改集的作者。\n"
-"    - branches: 字符串。修改集的分支。如果分支名称为 'default' 则为空。\n"
-"    - date: 日期信息。修改集的日期。\n"
-"    - desc: 字符串。修改集的描述。\n"
-"    - files: 字符串列表。修改集中被修改、增加和删除的全部文件。\n"
-"    - file_adds: 字符串列表。修改集中被增加的文件。\n"
-"    - file_mods: 字符串列表。修改集中被修改的文件\n"
-"    - file_dels: 字符串列表。修改集中被删除的文件\n"
-"    - node: 字符串。修改集的哈系标识,40 个字符的 16 进制字符串。\n"
-"    - parents: 字符串列表。修改集的父亲。\n"
-"    - rev: 整数。本地版本库的修改集的版本号。\n"
-"    - tags: 字符串列表。修改集的标签。\n"
-"\n"
-"    关键字 \"date\" 不产生人工可读的输出。如果你想在输出中使用日期,可以使"
-"用\n"
-"    过滤器来处理它。过滤器是根据输入变量返回字符串的函数。你还可以使用过滤\n"
-"    链来产生理想的输出:\n"
-"\n"
-"       $ hg tip --template \"{date|isodate}\\n\"\n"
-"       2008-08-21 18:22 +0000\n"
-"\n"
-"    过滤器列表:\n"
-"\n"
-"    - addbreaks: 输入任意文本。除了最后一行,在每行的结尾增加 XHTML 标签\n"
-"          \"<br />\"。\n"
-"    - age: 输入日期。返回指定日期与当前日期差异的人工可读的字符串。\n"
-"    - basename: 输入任意文本。将输入视为路径,返回被路径分隔符隔开的最后\n"
-"          一个组件的名称(忽略结尾的分隔符)。例如 \"foo/bar/baz\" 成为 \"baz"
-"\",\n"
-"          \"foo/bar//\" 成为 \"bar\"。\n"
-"    - date: 输入日期。返回指定日期的 Unix 日期格式字符串,包含时区,例如: \n"
-"          \"Mon Sep 04 15:13:13 2006 0700\"。\n"
-"    - domain: 输入任意文本。找到第一个 email 地址,返回其域名。例如: \n"
-"          'User <user@example.com>' 成为 'example.com'。\n"
-"    - email: 输入任意文本。返回第一个 email 地址。例如: \n"
-"          'User <user@example.com>' 成为 'user@example.com'。\n"
-"    - escape: 输入任意文本。用 XML 实体来封装 XML/XHTML 的特殊字符 \"&\",\n"
-"          \"<\" 和 \">\"。\n"
-"    - fill68: 输入任意文本。格式化为 68 列文本。\n"
-"    - fill76: 输入任意文本。格式化为 76 列文本。\n"
-"    - firstline: 输入任意文本。返回首行。\n"
-"    - hgdate: 输入日期。返回一对数字:\n"
-"          \"1157407993 25200\" (Unix 时戳,时区偏移)。\n"
-"    - isodate: 输入日期。返回 ISO 8601 格式的日期。\n"
-"    - obfuscate: 输入任意文本。返回其 XML 实体序列。\n"
-"    - person: 输入任意文本。返回 email 地址前的文本。\n"
-"    - rfc822date: 输入日期。返回 email 头部使用的日期格式。\n"
-"    - short: 修改集哈系。返回修改集哈系的短格式。例如 12 字符的 16 进制\n"
-"          字符串。\n"
-"    - shortdate: 输入日期。返回格式类似于 \"2006-09-18\"。\n"
-"    - strip: 输入任意文本。删除全部行首与行尾空白。\n"
-"    - tabindent: 输入任意文本。除了首行,在每行的开始增加制表符号。\n"
-"    - urlescape: 输入任意文本。封装全部特殊字符。例如\n"
-"          \"foo bar\" 成为 \"foo%20bar\"。\n"
-"    - user: 输入任意文本。返回 email 地址中的用户名称部分。\n"
-"    "
-
-#, fuzzy
-msgid ""
-"Valid URLs are of the form::\n"
-"\n"
-"  local/filesystem/path[#revision]\n"
-"  file://local/filesystem/path[#revision]\n"
-"  http://[user[:pass]@]host[:port]/[path][#revision]\n"
-"  https://[user[:pass]@]host[:port]/[path][#revision]\n"
-"  ssh://[user[:pass]@]host[:port]/[path][#revision]\n"
-"\n"
-"Paths in the local filesystem can either point to Mercurial\n"
-"repositories or to bundle files (as created by 'hg bundle' or 'hg\n"
-"incoming --bundle').\n"
-"\n"
-"An optional identifier after # indicates a particular branch, tag, or\n"
-"changeset to use from the remote repository. See also 'hg help\n"
-"revisions'.\n"
-"\n"
-"Some features, such as pushing to http:// and https:// URLs are only\n"
-"possible if the feature is explicitly enabled on the remote Mercurial\n"
-"server.\n"
-"\n"
-"Some notes about using SSH with Mercurial:\n"
-"\n"
-"- SSH requires an accessible shell account on the destination machine\n"
-"  and a copy of hg in the remote path or specified with as remotecmd.\n"
-"- path is relative to the remote user's home directory by default. Use\n"
-"  an extra slash at the start of a path to specify an absolute path::\n"
-"\n"
-"    ssh://example.com//tmp/repository\n"
-"\n"
-"- Mercurial doesn't use its own compression via SSH; the right thing\n"
-"  to do is to configure it in your ~/.ssh/config, e.g.::\n"
-"\n"
-"    Host *.mylocalnetwork.example.com\n"
-"      Compression no\n"
-"    Host *\n"
-"      Compression yes\n"
-"\n"
-"  Alternatively specify \"ssh -C\" as your ssh command in your hgrc or\n"
-"  with the --ssh command line option.\n"
-"\n"
-"These URLs can all be stored in your hgrc with path aliases under the\n"
-"[paths] section like so::\n"
-"\n"
-"  [paths]\n"
-"  alias1 = URL1\n"
-"  alias2 = URL2\n"
-"  ...\n"
-"\n"
-"You can then use the alias for any command that uses a URL (for\n"
-"example 'hg pull alias1' would pull from the 'alias1' path).\n"
-"\n"
-"Two path aliases are special because they are used as defaults when\n"
-"you do not provide the URL to a command:\n"
-"\n"
-"default:\n"
-"  When you create a repository with hg clone, the clone command saves\n"
-"  the location of the source repository as the new repository's\n"
-"  'default' path. This is then used when you omit path from push- and\n"
-"  pull-like commands (including incoming and outgoing).\n"
-"\n"
-"default-push:\n"
-"  The push command will look for a path named 'default-push', and\n"
-"  prefer it over 'default' if both are defined.\n"
-msgstr ""
-"\n"
-"    有效的位置格式:\n"
-"\n"
-"      local/filesystem/path (or file://local/filesystem/path)\n"
-"      http://[user[:pass]@]host[:port]/[path]\n"
-"      https://[user[:pass]@]host[:port]/[path]\n"
-"      ssh://[user[:pass]@]host[:port]/[path]\n"
-"\n"
-"    位于本地文件系统中的路径可以指向版本库,也可以指向打包的文件(被\n"
-"    'hg bundle' 或 'hg incoming --bundle' 创建)。\n"
-"\n"
-"    在 '#' 后面可选的标识符用于指定要取得的远程版本库的分支,标签或\n"
-"    修改集。\n"
-"\n"
-"    仅当远程水银服务器显式启用时,才能推到 'http://' 和 'https://'。\n"
-"\n"
-"    在水银中使用 SSH 的一些提示:\n"
-"    - 使用 SSH 时,需要在远程主机上有可登录帐号,远程路径中还需要有\n"
-"      hg,或者有指定的远程命令。\n"
-"    - 默认 'path' 是相对于远程主机上的用户家目录。\n"
-"      可以在路径前增加一个斜线指定绝对路径:\n"
-"        ssh://example.com//tmp/repository\n"
-"    - 水银使用 SSH 时不使用压缩,所以你可以在 ~/.ssh/config 中配置\n"
-"      SSH 执行压缩,例如:\n"
-"        Host *.mylocalnetwork.example.com\n"
-"          Compression no\n"
-"        Host *\n"
-"          Compression yes\n"
-"      另一个方法是在你的 hgrc 中将 \"ssh -C\" 作为你的 ssh 命令,或\n"
-"      用于命令行参数 '--ssh' 中。\n"
-"\n"
-"    这些路径可以在你的 'hgrc' 中的节 '[paths]' 中定义别名:\n"
-"    [paths]\n"
-"    alias1 = URL1\n"
-"    alias2 = URL2\n"
-"    ...\n"
-"\n"
-"    然后你就可以在任意命令中使用这些别名作为路径(例如 'hg pull alias1'\n"
-"    会从 'alias1' 定义的路径取得指定版本)。\n"
-"\n"
-"    因为用于默认路径,所以这 2 个路径别名比较特殊:\n"
-"\n"
-"    default:\n"
-"      当你使用 'hg clone' 创建版本库时,此命令会将源版本库的位置保存\n"
-"      为新版本库的 'default' 路径,然后你可以对类似 'push' 和 'pull'\n"
-"      的命令省略路径(包含进和出)。\n"
-"\n"
-"    default-push:\n"
-"      命令 'push' 会查找别名是 'default-push' 的路径,它覆盖定义 "
-"'default'。\n"
-"    "
-
-msgid ""
 "hooks for controlling repository access\n"
 "\n"
 "This hook makes it possible to allow or deny write access to portions\n"
@@ -762,13 +133,37 @@
 msgstr ""
 
 #, python-format
+msgid "acl: %s not enabled\n"
+msgstr "acl: 未启用 %s\n"
+
+#, python-format
+msgid "acl: %s enabled, %d entries for user %s\n"
+msgstr "acl: 已启用 %s, %d 项,用户 %s\n"
+
+#, python-format
 msgid "config error - hook type \"%s\" cannot stop incoming changesets"
 msgstr "配置错误 - 钩子类型 \"%s\" 不能终止进入的修改集"
 
 #, python-format
+msgid "acl: changes have source \"%s\" - skipping\n"
+msgstr "acl: 改变源 \"%s\" - 跳过\n"
+
+#, python-format
+msgid "acl: user %s denied on %s\n"
+msgstr "acl: 用户 %s 被拒绝访问 %s\n"
+
+#, python-format
 msgid "acl: access denied for changeset %s"
 msgstr "acl: 拒绝访问修改集 %s"
 
+#, python-format
+msgid "acl: user %s not allowed on %s\n"
+msgstr "acl: 用户 %s 被拒绝访问 %s\n"
+
+#, python-format
+msgid "acl: allowing changeset %s\n"
+msgstr "acl: 允许修改集 %s\n"
+
 msgid ""
 "track a line of development with movable markers\n"
 "\n"
@@ -1048,9 +443,8 @@
 msgid "database error: %s"
 msgstr ""
 
-#, fuzzy
 msgid "command to display child changesets"
-msgstr "列出修改集"
+msgstr "列出子修改集的命令"
 
 #, fuzzy
 msgid ""
@@ -1070,9 +464,8 @@
 "    版本,或 '--rev' 指定的版本)。\n"
 "    "
 
-#, fuzzy
 msgid "show children of the specified revision"
-msgstr "从指定的版本显示父亲"
+msgstr "显示指定版本的子孙"
 
 msgid "hg children [-r REV] [FILE]"
 msgstr ""
@@ -1125,6 +518,10 @@
 "    "
 msgstr ""
 
+#, python-format
+msgid "assuming %i character terminal\n"
+msgstr ""
+
 msgid "count rate for the specified revision or range"
 msgstr ""
 
@@ -1199,9 +596,8 @@
 msgid "when to colorize (always, auto, or never)"
 msgstr ""
 
-#, fuzzy
-msgid "don't colorize output (DEPRECATED)"
-msgstr "编辑提交日志(不赞成)"
+msgid "don't colorize output"
+msgstr ""
 
 #, python-format
 msgid "ignoring unknown color/effect %r (configured in color.%s)\n"
@@ -1337,8 +733,23 @@
 "    converted, and that any directory reorganization in the CVS\n"
 "    sandbox is ignored.\n"
 "\n"
+"    Because CVS does not have changesets, it is necessary to collect\n"
+"    individual commits to CVS and merge them into changesets. CVS\n"
+"    source uses its internal changeset merging code by default but can\n"
+"    be configured to call the external 'cvsps' program by setting::\n"
+"\n"
+"      --config convert.cvsps='cvsps -A -u --cvs-direct -q'\n"
+"\n"
+"    This option is deprecated and will be removed in Mercurial 1.4.\n"
+"\n"
 "    The options shown are the defaults.\n"
 "\n"
+"    Internal cvsps is selected by setting ::\n"
+"\n"
+"      --config convert.cvsps=builtin\n"
+"\n"
+"    and has a few more configurable options:\n"
+"\n"
 "    --config convert.cvsps.cache=True         (boolean)\n"
 "        Set to False to disable remote log caching, for testing and\n"
 "        debugging purposes.\n"
@@ -1358,10 +769,9 @@
 "        add the most recent revision on the branch indicated in the\n"
 "        regex as the second parent of the changeset.\n"
 "\n"
-"    An additional \"debugcvsps\" Mercurial command allows the builtin\n"
+"    The hgext/convert/cvsps wrapper script allows the builtin\n"
 "    changeset merging code to be run without doing a conversion. Its\n"
-"    parameters and output are similar to that of cvsps 2.1. Please see\n"
-"    the command help for more details.\n"
+"    parameters and output are similar to that of cvsps 2.1.\n"
 "\n"
 "    Subversion Source\n"
 "    -----------------\n"
@@ -1524,6 +934,10 @@
 msgstr ""
 
 #, python-format
+msgid "running: %s\n"
+msgstr ""
+
+#, python-format
 msgid "%s error:\n"
 msgstr ""
 
@@ -1547,9 +961,9 @@
 msgid "%s: unknown repository type"
 msgstr ""
 
-#, fuzzy, python-format
+#, python-format
 msgid "unknown sort mode: %s"
-msgstr "hg: 未知命令 '%s'\n"
+msgstr "未知排序方式: %s"
 
 #, python-format
 msgid "cycle detected between %s and %s"
@@ -1601,9 +1015,17 @@
 msgid "--sourcesort is not supported by this data source"
 msgstr ""
 
-#, fuzzy, python-format
-msgid "revision %s is not a patchset number"
-msgstr "svn: 版本 %s 不是整数"
+msgid ""
+"warning: support for external cvsps is deprecated and will be removed in "
+"Mercurial 1.4\n"
+msgstr ""
+
+#, python-format
+msgid "revision %s is not a patchset number or date"
+msgstr ""
+
+msgid "using builtin cvsps\n"
+msgstr ""
 
 #, python-format
 msgid "connecting to %s\n"
@@ -1648,6 +1070,10 @@
 msgid "running %s\n"
 msgstr ""
 
+#, python-format
+msgid "prefix=%r directory=%r root=%r\n"
+msgstr ""
+
 msgid "RCS file must be followed by working file"
 msgstr ""
 
@@ -1661,6 +1087,10 @@
 msgstr ""
 
 #, python-format
+msgid "found synthetic revision in %s: %r\n"
+msgstr "%s 有伪造版本: %r\n"
+
+#, python-format
 msgid "writing cvs log cache %s\n"
 msgstr ""
 
@@ -1691,6 +1121,10 @@
 msgid "Python ElementTree module is not available"
 msgstr ""
 
+#, python-format
+msgid "cleaning up %s\n"
+msgstr ""
+
 msgid "internal calling inconsistency"
 msgstr ""
 
@@ -1725,6 +1159,22 @@
 msgstr ""
 
 #, python-format
+msgid "applying revision %s...\n"
+msgstr ""
+
+#, python-format
+msgid "computing changeset between %s and %s...\n"
+msgstr ""
+
+#, python-format
+msgid "obtaining revision %s...\n"
+msgstr ""
+
+#, python-format
+msgid "analyzing revision %s...\n"
+msgstr ""
+
+#, python-format
 msgid "could not parse cat-log of %s"
 msgstr ""
 
@@ -1736,6 +1186,12 @@
 msgid "initializing destination %s repository\n"
 msgstr "初始化目标版本库 %s\n"
 
+msgid "run hg sink pre-conversion action\n"
+msgstr "执行动作 hg sink pre-conversion\n"
+
+msgid "run hg sink post-conversion action\n"
+msgstr "执行动作 hg sink post-conversion action\n"
+
 #, python-format
 msgid "pulling from %s into %s\n"
 msgstr "自 %s 拉到 %s\n"
@@ -1754,11 +1210,17 @@
 msgid "ignoring: %s\n"
 msgstr "忽略: %s\n"
 
+msgid "run hg source pre-conversion action\n"
+msgstr "执行动作 hg source pre-conversion\n"
+
+msgid "run hg source post-conversion action\n"
+msgstr "执行动作 hg source post-conversion\n"
+
 #, python-format
 msgid "%s does not look like a monotone repo"
 msgstr "%s 不像是单纯的 monotone 版本库"
 
-#, fuzzy, python-format
+#, python-format
 msgid "copying file in renamed directory from '%s' to '%s'"
 msgstr "从已改名的目录 '%s' 复制文件到 '%s'"
 
@@ -1768,9 +1230,6 @@
 msgid "collecting p4 changelists\n"
 msgstr "正在搜索 p4 修改集\n"
 
-msgid "Mercurial failed to run itself, check hg executable is in PATH"
-msgstr ""
-
 msgid "Subversion python bindings could not be loaded"
 msgstr "不能加载 svn 的 python 绑定"
 
@@ -1809,7 +1268,6 @@
 msgid "found branch %s at %d\n"
 msgstr "发现分支 %s 位于 %d\n"
 
-#, fuzzy
 msgid "svn: start revision is not supported with more than one branch"
 msgstr "svn: 在给出多于一个分支时不支持开始版本"
 
@@ -1822,22 +1280,69 @@
 msgstr "在版本 %d 没有发现标签\n"
 
 #, python-format
+msgid "ignoring foreign branch %r\n"
+msgstr "忽略外部分支 %r\n"
+
+#, python-format
 msgid "%s not found up to revision %d"
 msgstr "没有发现 %s,一直到版本 %d"
 
 #, python-format
+msgid "branch renamed from %s to %s at %d\n"
+msgstr "分支从 %s 改名为 %s,在 %d\n"
+
+#, python-format
+msgid "reparent to %s\n"
+msgstr ""
+
+#, python-format
+msgid "copied to %s from %s@%s\n"
+msgstr "复制到 %s,自 %s@%s\n"
+
+#, python-format
+msgid "gone from %s\n"
+msgstr "离开 %s\n"
+
+#, python-format
+msgid "entry %s\n"
+msgstr "入口 %s\n"
+
+#, python-format
+msgid "unknown path in revision %d: %s\n"
+msgstr "版本 %d 有未知路径: %s\n"
+
+#, python-format
+msgid "mark %s came from %s:%d\n"
+msgstr "标记 %s 来自 %s:%d\n"
+
+#, python-format
+msgid "parsing revision %d (%d changes)\n"
+msgstr "解析版本 %d (%d 个改变)\n"
+
+#, python-format
 msgid "found parent of branch %s at %d: %s\n"
 msgstr "发现分支 %s 的父亲,在 %d: %s\n"
 
+msgid "no copyfrom path, don't know what to do.\n"
+msgstr "没有 copyfrom 路径,不知道该怎么办。\n"
+
 #, python-format
 msgid "fetching revision log for \"%s\" from %d to %d\n"
 msgstr "为 \"%s\" 获取版本日志,自 %d 到 %d\n"
 
 #, python-format
+msgid "revision %d has no entries\n"
+msgstr "版本 %d 没有入口\n"
+
+#, python-format
 msgid "svn: branch has no revision %s"
 msgstr "svn: 分支没有版本 %s"
 
 #, python-format
+msgid "%r is not under %r, ignoring\n"
+msgstr "%r 不在 %r 之下,忽略之\n"
+
+#, python-format
 msgid "initializing svn repo %r\n"
 msgstr "初始化 svn 版本库 %r\n"
 
@@ -1902,6 +1407,14 @@
 msgid "cannot specify --rev and --change at the same time"
 msgstr "不能同时指定 '--rev' 和 '--change'"
 
+#, python-format
+msgid "running %r in %s\n"
+msgstr ""
+
+#, python-format
+msgid "file changed while diffing. Overwriting: %s (src: %s)\n"
+msgstr ""
+
 msgid "cleaning up temp directory\n"
 msgstr ""
 
@@ -1944,10 +1457,8 @@
 "    %(path)s program.\n"
 "\n"
 "    When two revision arguments are given, then changes are shown between\n"
-"    those revisions. If only one revision is specified then that revision "
-"is\n"
-"    compared to the working directory, and, when no revisions are "
-"specified,\n"
+"    those revisions. If only one revision is specified then that revision is\n"
+"    compared to the working directory, and, when no revisions are specified,\n"
 "    the working directory files are compared to its parent."
 msgstr ""
 
@@ -2035,11 +1546,10 @@
 msgstr "当合并时切换父亲"
 
 msgid "hg fetch [SOURCE]"
-msgstr ""
-
-#, fuzzy
+msgstr "hg fetch [SOURCE]"
+
 msgid "commands to sign and verify changesets"
-msgstr "正在增加修改集\n"
+msgstr "签署和校验修改集的命令"
 
 msgid "error while verifying signature"
 msgstr ""
@@ -2207,6 +1717,12 @@
 msgid "email.from must be defined when sending by email"
 msgstr ""
 
+msgid "cia: no user specified"
+msgstr ""
+
+msgid "cia: no project specified"
+msgstr ""
+
 msgid ""
 "browse the repository in a graphical way\n"
 "\n"
@@ -2366,6 +1882,9 @@
 msgid "(found dead inotify server socket; removing it)\n"
 msgstr ""
 
+msgid "(starting inotify server)\n"
+msgstr ""
+
 #, python-format
 msgid "could not start inotify server: %s\n"
 msgstr ""
@@ -2374,6 +1893,9 @@
 msgid "could not talk to new inotify server: %s\n"
 msgstr ""
 
+msgid "(inotify server not running)\n"
+msgstr ""
+
 #, python-format
 msgid "failed to contact inotify server: %s\n"
 msgstr ""
@@ -2601,11 +2123,9 @@
 "    "
 msgstr ""
 
-#, fuzzy, python-format
+#, python-format
 msgid "creating temporary repository at %s\n"
-msgstr ""
-"\n"
-"正在删除临时版本库 %s\n"
+msgstr "正在创建临时版本库 %s\n"
 
 msgid ""
 "\n"
@@ -2623,9 +2143,8 @@
 "\tconfiguration using default keyword template maps\n"
 msgstr ""
 
-#, fuzzy
 msgid "\tdisabling current template maps\n"
-msgstr "使用指定的样式显示"
+msgstr "\t禁用当前模版映射\n"
 
 msgid ""
 "\n"
@@ -2646,6 +2165,14 @@
 "\tkeywords expanded\n"
 msgstr ""
 
+#, python-format
+msgid ""
+"\n"
+"removing temporary repository %s\n"
+msgstr ""
+"\n"
+"正在删除临时版本库 %s\n"
+
 msgid ""
 "expand keywords in the working directory\n"
 "\n"
@@ -2668,13 +2195,15 @@
 "    See \"hg help keyword\" on how to construct patterns both for\n"
 "    inclusion and exclusion of files.\n"
 "\n"
-"    With -A/--all and -v/--verbose the codes used to show the status\n"
+"    Use -u/--untracked to list untracked files as well.\n"
+"\n"
+"    With -a/--all and -v/--verbose the codes used to show the status\n"
 "    of files are::\n"
 "\n"
 "      K = keyword expansion candidate\n"
-"      k = keyword expansion candidate (not tracked)\n"
+"      k = keyword expansion candidate (untracked)\n"
 "      I = ignored\n"
-"      i = ignored (not tracked)\n"
+"      i = ignored (untracked)\n"
 "    "
 msgstr ""
 
@@ -2706,15 +2235,7 @@
 msgid "show files excluded from expansion"
 msgstr ""
 
-#, fuzzy
-msgid "only show unknown (not tracked) files"
-msgstr "只显示未知(未被跟踪)文件的状态"
-
-#, fuzzy
-msgid "show keyword status flags of all files (DEPRECATED)"
-msgstr "显示全部文件的状态"
-
-msgid "only show untracked files (DEPRECATED)"
+msgid "additionally show untracked files"
 msgstr ""
 
 msgid "hg kwfiles [OPTION]... [FILE]..."
@@ -2763,6 +2284,10 @@
 msgstr ""
 
 #, python-format
+msgid "active guards: %s\n"
+msgstr ""
+
+#, python-format
 msgid "guard %r too short"
 msgstr ""
 
@@ -2828,11 +2353,9 @@
 msgid "applying %s\n"
 msgstr ""
 
-#, fuzzy, python-format
+#, python-format
 msgid "unable to read %s\n"
-msgstr ""
-"解析 '%s' 失败\n"
-"%s"
+msgstr "读取 %s 失败\n"
 
 #, python-format
 msgid "imported patch %s\n"
@@ -2862,9 +2385,9 @@
 msgid "cannot delete revision %d above applied patches"
 msgstr ""
 
-#, fuzzy, python-format
+#, python-format
 msgid "patch %s finalized without changeset message\n"
-msgstr "只显示无改动文件的状态"
+msgstr ""
 
 msgid "qdelete requires at least one revision or patch name"
 msgstr ""
@@ -2975,9 +2498,9 @@
 msgid "deletions found between repo revs"
 msgstr ""
 
-#, fuzzy, python-format
+#, python-format
 msgid "popping %s\n"
-msgstr "使用 %s\n"
+msgstr ""
 
 msgid "patch queue now empty\n"
 msgstr ""
@@ -2986,8 +2509,7 @@
 msgstr ""
 
 msgid ""
-"refresh interrupted while patch was popped! (revert --all, qpush to "
-"recover)\n"
+"refresh interrupted while patch was popped! (revert --all, qpush to recover)\n"
 msgstr ""
 
 msgid "patch queue directory already exists"
@@ -3678,8 +3200,7 @@
 msgid "queue name to pop"
 msgstr "操作的队列名称"
 
-#, fuzzy
-msgid "forget any local changes to patched files"
+msgid "forget any local changes"
 msgstr "丢弃本地修改"
 
 msgid "hg qpop [-a] [-n NAME] [-f] [PATCH | INDEX]"
@@ -3837,10 +3358,8 @@
 "  maxdiff = 300          # max lines of diffs to include (0=none, -1=all)\n"
 "  maxsubject = 67        # truncate subject line longer than this\n"
 "  diffstat = True        # add a diffstat before the diff content\n"
-"  sources = serve        # notify if source of incoming changes in this "
-"list\n"
+"  sources = serve        # notify if source of incoming changes in this list\n"
 "                         # (serve == ssh or http, push, pull, bundle)\n"
-"  merge = False          # send notification for merges (default True)\n"
 "  [email]\n"
 "  from = user@host.com   # email address to send as if none given\n"
 "  [web]\n"
@@ -3889,7 +3408,11 @@
 msgstr ""
 
 #, python-format
-msgid "notify: suppressing notification for merge %d:%s\n"
+msgid "notify: no subscribers to repository %s\n"
+msgstr ""
+
+#, python-format
+msgid "notify: changes have source \"%s\" - skipping\n"
 msgstr ""
 
 msgid ""
@@ -4012,10 +3535,6 @@
 "hgrc(5) for details.\n"
 msgstr ""
 
-#, python-format
-msgid "%sPlease enter a valid value"
-msgstr ""
-
 msgid "Please enter a valid value.\n"
 msgstr ""
 
@@ -4256,6 +3775,9 @@
 "http://mercurial.selenic.com/wiki/RebaseExtension\n"
 msgstr ""
 
+msgid "first revision, do not change ancestor\n"
+msgstr ""
+
 msgid ""
 "move changeset (and descendants) to a different branch\n"
 "\n"
@@ -4299,17 +3821,60 @@
 msgid "%d revisions have been skipped\n"
 msgstr ""
 
+msgid " set parents\n"
+msgstr ""
+
+#, python-format
+msgid "rebasing %d:%s\n"
+msgstr ""
+
+#, python-format
+msgid " future parents are %d and %d\n"
+msgstr ""
+
+#, python-format
+msgid " update to %d:%s\n"
+msgstr ""
+
+msgid " already in target\n"
+msgstr ""
+
+#, python-format
+msgid " merge against %d:%s\n"
+msgstr ""
+
 msgid "fix unresolved conflicts with hg resolve then run hg rebase --continue"
 msgstr ""
 
+msgid "resuming interrupted rebase\n"
+msgstr ""
+
 #, python-format
 msgid "no changes, revision %d skipped\n"
 msgstr ""
 
 #, python-format
+msgid "next revision set to %s\n"
+msgstr ""
+
+#, python-format
 msgid "cannot use revision %d as base, result would have 3 parents"
 msgstr ""
 
+#, python-format
+msgid "revision %d is an mq patch (%s), finalize it.\n"
+msgstr ""
+
+#, python-format
+msgid "import mq patch %d (%s)\n"
+msgstr ""
+
+msgid "rebase status stored\n"
+msgstr ""
+
+msgid "rebase status resumed\n"
+msgstr ""
+
 msgid "no rebase in progress"
 msgstr ""
 
@@ -4322,15 +3887,28 @@
 msgid "cannot rebase onto an applied mq patch"
 msgstr ""
 
-msgid "source is ancestor of destination"
-msgstr ""
-
-msgid "source is descendant of destination"
+msgid "cannot rebase an ancestor"
+msgstr ""
+
+msgid "cannot rebase a descendant"
+msgstr ""
+
+msgid "already working on current\n"
+msgstr ""
+
+msgid "already working on the current branch\n"
+msgstr ""
+
+#, python-format
+msgid "rebase onto %d starting from %d\n"
 msgstr ""
 
 msgid "unable to collapse, there is more than one external parent"
 msgstr ""
 
+msgid "--update and --rebase are not compatible, ignoring the update flag\n"
+msgstr ""
+
 msgid "rebase working directory to branch head"
 msgstr ""
 
@@ -4343,15 +3921,13 @@
 msgid "rebase onto a given revision"
 msgstr ""
 
-#, fuzzy
-msgid "collapse the rebased changesets"
-msgstr "打包不相关的修改集"
-
-#, fuzzy
-msgid "keep original changesets"
-msgstr "列出修改集"
-
-msgid "keep original branch names"
+msgid "collapse the rebased revisions"
+msgstr ""
+
+msgid "keep original revisions"
+msgstr ""
+
+msgid "keep original branches"
 msgstr ""
 
 msgid "continue an interrupted rebase"
@@ -4361,8 +3937,8 @@
 msgstr ""
 
 msgid ""
-"hg rebase [-s REV | -b REV] [-d REV] [--collapse] [--keep] [--keepbranches] "
-"| [-c] | [-a]"
+"hg rebase [-s REV | -b REV] [-d REV] [--collapse] [--keep] [--keepbranches] | "
+"[-c] | [-a]"
 msgstr ""
 
 msgid "commands to interactively select changes for commit/qrefresh"
@@ -4466,9 +4042,20 @@
 msgid "no changes to record\n"
 msgstr ""
 
+#, python-format
+msgid "backup %r as %r\n"
+msgstr ""
+
+msgid "applying patch\n"
+msgstr ""
+
 msgid "patch failed to apply"
 msgstr ""
 
+#, python-format
+msgid "restoring %r to %r\n"
+msgstr ""
+
 msgid "hg record [OPTION]... [FILE]..."
 msgstr ""
 
@@ -4681,6 +4268,10 @@
 msgid "[win32mbcs] cannot activate on this platform.\n"
 msgstr ""
 
+#, python-format
+msgid "[win32mbcs] activated with encoding: %s\n"
+msgstr ""
+
 msgid ""
 "perform automatic newline conversion\n"
 "\n"
@@ -5242,6 +4833,10 @@
 msgstr ""
 
 #, python-format
+msgid "cannot find executable: %s"
+msgstr ""
+
+#, python-format
 msgid "failed to execute %s"
 msgstr ""
 
@@ -5583,8 +5178,8 @@
 msgstr ""
 
 msgid ""
-" (Current patch tool may be incompatible with patch, or misconfigured. "
-"Please check your .hgrc file)\n"
+" (Current patch tool may be incompatible with patch, or misconfigured. Please "
+"check your .hgrc file)\n"
 msgstr ""
 
 msgid ""
@@ -5980,6 +5575,12 @@
 msgid "no diffs found"
 msgstr ""
 
+#, python-format
+msgid ""
+"message:\n"
+"%s\n"
+msgstr ""
+
 #, fuzzy
 msgid "not a Mercurial patch"
 msgstr "%s 不是本地的水银版本库"
@@ -6605,103 +6206,6 @@
 "    "
 
 msgid ""
-"summarize working directory state\n"
-"\n"
-"    This generates a brief summary of the working directory state,\n"
-"    including parents, branch, commit status, and available updates.\n"
-"\n"
-"    With the --remote option, this will check the default paths for\n"
-"    incoming and outgoing changes. This can be time-consuming.\n"
-"    "
-msgstr ""
-
-#, fuzzy
-msgid " (empty repository)"
-msgstr "创建队列版本库"
-
-#, fuzzy
-msgid " (no revision checked out)"
-msgstr "要合并的版本"
-
-#, fuzzy, python-format
-msgid "parent: %d:%s %s\n"
-msgstr "父亲:        %d:%s\n"
-
-#, fuzzy, python-format
-msgid "branch: %s\n"
-msgstr "分支:        %s\n"
-
-#, python-format
-msgid "%d added"
-msgstr ""
-
-#, python-format
-msgid "%d modified"
-msgstr ""
-
-#, fuzzy, python-format
-msgid "%d removed"
-msgstr "已删除"
-
-#, python-format
-msgid "%d deleted"
-msgstr ""
-
-#, python-format
-msgid "%d ignored"
-msgstr ""
-
-#, python-format
-msgid "%d unknown"
-msgstr ""
-
-#, fuzzy, python-format
-msgid "%d unresolved"
-msgstr "未解决"
-
-#, fuzzy
-msgid " (merge)"
-msgstr "已合并"
-
-msgid " (new branch)"
-msgstr ""
-
-msgid " (clean)"
-msgstr ""
-
-msgid " (new branch head)"
-msgstr ""
-
-#, fuzzy, python-format
-msgid "commit: %s\n"
-msgstr "中止: %s\n"
-
-msgid "update: (current)\n"
-msgstr ""
-
-#, fuzzy, python-format
-msgid "update: %d new changesets (update)\n"
-msgstr "如果有新的修改集,就更新到最新版本"
-
-#, python-format
-msgid "update: %d new changesets, %d branch heads (merge)\n"
-msgstr ""
-
-msgid "1 or more incoming"
-msgstr ""
-
-#, python-format
-msgid "%d outgoing"
-msgstr ""
-
-#, fuzzy, python-format
-msgid "remote: %s\n"
-msgstr "领域: %s\n"
-
-msgid "remote: (synced)\n"
-msgstr ""
-
-msgid ""
 "add one or more tags for the current or given revision\n"
 "\n"
 "    Name a particular revision using <name>.\n"
@@ -6869,8 +6373,7 @@
 "这是自由软件,具体参见版权条款。这里没有任何担保,甚至没有适合\n"
 "特定目的的隐含的担保。\n"
 
-#, fuzzy
-msgid "repository root directory or name of overlay bundle file"
+msgid "repository root directory or symbolic path name"
 msgstr "版本库的根目录或符号路径名称"
 
 msgid "change working directory"
@@ -7458,9 +6961,6 @@
 msgid "[-u] [NAME]..."
 msgstr ""
 
-msgid "check for push and pull"
-msgstr ""
-
 msgid "show status of all files"
 msgstr "显示全部文件的状态"
 
@@ -7538,6 +7038,36 @@
 msgid "branch name not in UTF-8!"
 msgstr ""
 
+#, python-format
+msgid "  searching for copies back to rev %d\n"
+msgstr ""
+
+#, python-format
+msgid ""
+"  unmatched files in local:\n"
+"   %s\n"
+msgstr ""
+
+#, python-format
+msgid ""
+"  unmatched files in other:\n"
+"   %s\n"
+msgstr ""
+
+msgid "  all copies found (* = to merge, ! = divergent):\n"
+msgstr ""
+
+msgid "  checking for directory renames\n"
+msgstr ""
+
+#, python-format
+msgid "  dir %s -> %s\n"
+msgstr ""
+
+#, python-format
+msgid "  file %s -> %s\n"
+msgstr ""
+
 msgid "working directory state appears damaged!"
 msgstr ""
 
@@ -7691,6 +7221,12 @@
 msgid "alias '%s' resolves to ambiguous command '%s'\n"
 msgstr ""
 
+#, fuzzy, python-format
+msgid "alias '%s' shadows command\n"
+msgstr ""
+"命令列表:\n"
+"\n"
+
 #, python-format
 msgid "malformed --config option: %s"
 msgstr "非法 '--config' 选项: %s"
@@ -7758,6 +7294,10 @@
 msgstr "工具 '%s' 需要 GUI\n"
 
 #, python-format
+msgid "picked tool '%s' for %s (binary %s symlink %s)\n"
+msgstr "选择工具 '%s',用于 %s(二进制 %s 符号链接 %s)\n"
+
+#, python-format
 msgid ""
 " no tool found to merge %s\n"
 "keep (l)ocal or take (o)ther?"
@@ -7780,6 +7320,13 @@
 msgstr ""
 
 #, python-format
+msgid "my %s other %s ancestor %s\n"
+msgstr ""
+
+msgid " premerge successful\n"
+msgstr ""
+
+#, python-format
 msgid ""
 " output file %s appears unchanged\n"
 "was merge successful (yn)?"
@@ -7803,6 +7350,44 @@
 msgid "unknown bisect kind %s"
 msgstr ""
 
+msgid ""
+"\n"
+"    Mercurial has the ability to add new features through the use of\n"
+"    extensions. Extensions may add new commands, add options to\n"
+"    existing commands, change the default behavior of commands, or\n"
+"    implement hooks.\n"
+"\n"
+"    Extensions are not loaded by default for a variety of reasons:\n"
+"    they can increase startup overhead; they may be meant for advanced\n"
+"    usage only; they may provide potentially dangerous abilities (such\n"
+"    as letting you destroy or modify history); they might not be ready\n"
+"    for prime time; or they may alter some usual behaviors of stock\n"
+"    Mercurial. It is thus up to the user to activate extensions as\n"
+"    needed.\n"
+"\n"
+"    To enable the \"foo\" extension, either shipped with Mercurial or in\n"
+"    the Python search path, create an entry for it in your hgrc, like\n"
+"    this::\n"
+"\n"
+"      [extensions]\n"
+"      foo =\n"
+"\n"
+"    You may also specify the full path to an extension::\n"
+"\n"
+"      [extensions]\n"
+"      myfeature = ~/.hgext/myfeature.py\n"
+"\n"
+"    To explicitly disable an extension enabled in an hgrc of broader\n"
+"    scope, prepend its path with !::\n"
+"\n"
+"      [extensions]\n"
+"      # disabling extension bar residing in /path/to/extension/bar.py\n"
+"      hgext.bar = !/path/to/extension/bar.py\n"
+"      # ditto, but no path was supplied for extension baz\n"
+"      hgext.baz = !\n"
+"    "
+msgstr ""
+
 #, fuzzy
 msgid "disabled extensions:"
 msgstr ""
@@ -7813,29 +7398,639 @@
 msgid "Date Formats"
 msgstr ""
 
+msgid ""
+"\n"
+"    Some commands allow the user to specify a date, e.g.:\n"
+"\n"
+"    - backout, commit, import, tag: Specify the commit date.\n"
+"    - log, revert, update: Select revision(s) by date.\n"
+"\n"
+"    Many date formats are valid. Here are some examples::\n"
+"\n"
+"      \"Wed Dec 6 13:18:29 2006\" (local timezone assumed)\n"
+"      \"Dec 6 13:18 -0600\" (year assumed, time offset provided)\n"
+"      \"Dec 6 13:18 UTC\" (UTC and GMT are aliases for +0000)\n"
+"      \"Dec 6\" (midnight)\n"
+"      \"13:18\" (today assumed)\n"
+"      \"3:39\" (3:39AM assumed)\n"
+"      \"3:39pm\" (15:39)\n"
+"      \"2006-12-06 13:18:29\" (ISO 8601 format)\n"
+"      \"2006-12-6 13:18\"\n"
+"      \"2006-12-6\"\n"
+"      \"12-6\"\n"
+"      \"12/6\"\n"
+"      \"12/6/6\" (Dec 6 2006)\n"
+"\n"
+"    Lastly, there is Mercurial's internal format::\n"
+"\n"
+"      \"1165432709 0\" (Wed Dec 6 13:18:29 2006 UTC)\n"
+"\n"
+"    This is the internal representation format for dates. unixtime is\n"
+"    the number of seconds since the epoch (1970-01-01 00:00 UTC).\n"
+"    offset is the offset of the local timezone, in seconds west of UTC\n"
+"    (negative if the timezone is east of UTC).\n"
+"\n"
+"    The log command also accepts date ranges::\n"
+"\n"
+"      \"<{datetime}\" - at or before a given date/time\n"
+"      \">{datetime}\" - on or after a given date/time\n"
+"      \"{datetime} to {datetime}\" - a date range, inclusive\n"
+"      \"-{days}\" - within a given number of days of today\n"
+"    "
+msgstr ""
+
 msgid "File Name Patterns"
 msgstr ""
 
+msgid ""
+"\n"
+"    Mercurial accepts several notations for identifying one or more\n"
+"    files at a time.\n"
+"\n"
+"    By default, Mercurial treats filenames as shell-style extended\n"
+"    glob patterns.\n"
+"\n"
+"    Alternate pattern notations must be specified explicitly.\n"
+"\n"
+"    To use a plain path name without any pattern matching, start it\n"
+"    with \"path:\". These path names must completely match starting at\n"
+"    the current repository root.\n"
+"\n"
+"    To use an extended glob, start a name with \"glob:\". Globs are\n"
+"    rooted at the current directory; a glob such as \"``*.c``\" will\n"
+"    only match files in the current directory ending with \".c\".\n"
+"\n"
+"    The supported glob syntax extensions are \"``**``\" to match any\n"
+"    string across path separators and \"{a,b}\" to mean \"a or b\".\n"
+"\n"
+"    To use a Perl/Python regular expression, start a name with \"re:\".\n"
+"    Regexp pattern matching is anchored at the root of the repository.\n"
+"\n"
+"    Plain examples::\n"
+"\n"
+"      path:foo/bar   a name bar in a directory named foo in the root\n"
+"                     of the repository\n"
+"      path:path:name a file or directory named \"path:name\"\n"
+"\n"
+"    Glob examples::\n"
+"\n"
+"      glob:*.c       any name ending in \".c\" in the current directory\n"
+"      *.c            any name ending in \".c\" in the current directory\n"
+"      **.c           any name ending in \".c\" in any subdirectory of the\n"
+"                     current directory including itself.\n"
+"      foo/*.c        any name ending in \".c\" in the directory foo\n"
+"      foo/**.c       any name ending in \".c\" in any subdirectory of foo\n"
+"                     including itself.\n"
+"\n"
+"    Regexp examples::\n"
+"\n"
+"      re:.*\\.c$      any name ending in \".c\", anywhere in the repository\n"
+"\n"
+"    "
+msgstr ""
+
 msgid "Environment Variables"
 msgstr ""
 
+msgid ""
+"\n"
+"HG\n"
+"    Path to the 'hg' executable, automatically passed when running\n"
+"    hooks, extensions or external tools. If unset or empty, this is\n"
+"    the hg executable's name if it's frozen, or an executable named\n"
+"    'hg' (with %PATHEXT% [defaulting to COM/EXE/BAT/CMD] extensions on\n"
+"    Windows) is searched.\n"
+"\n"
+"HGEDITOR\n"
+"    This is the name of the editor to run when committing. See EDITOR.\n"
+"\n"
+"    (deprecated, use .hgrc)\n"
+"\n"
+"HGENCODING\n"
+"    This overrides the default locale setting detected by Mercurial.\n"
+"    This setting is used to convert data including usernames,\n"
+"    changeset descriptions, tag names, and branches. This setting can\n"
+"    be overridden with the --encoding command-line option.\n"
+"\n"
+"HGENCODINGMODE\n"
+"    This sets Mercurial's behavior for handling unknown characters\n"
+"    while transcoding user input. The default is \"strict\", which\n"
+"    causes Mercurial to abort if it can't map a character. Other\n"
+"    settings include \"replace\", which replaces unknown characters, and\n"
+"    \"ignore\", which drops them. This setting can be overridden with\n"
+"    the --encodingmode command-line option.\n"
+"\n"
+"HGMERGE\n"
+"    An executable to use for resolving merge conflicts. The program\n"
+"    will be executed with three arguments: local file, remote file,\n"
+"    ancestor file.\n"
+"\n"
+"    (deprecated, use .hgrc)\n"
+"\n"
+"HGRCPATH\n"
+"    A list of files or directories to search for hgrc files. Item\n"
+"    separator is \":\" on Unix, \";\" on Windows. If HGRCPATH is not set,\n"
+"    platform default search path is used. If empty, only the .hg/hgrc\n"
+"    from the current repository is read.\n"
+"\n"
+"    For each element in HGRCPATH:\n"
+"\n"
+"    - if it's a directory, all files ending with .rc are added\n"
+"    - otherwise, the file itself will be added\n"
+"\n"
+"HGUSER\n"
+"    This is the string used as the author of a commit. If not set,\n"
+"    available values will be considered in this order:\n"
+"\n"
+"    - HGUSER (deprecated)\n"
+"    - hgrc files from the HGRCPATH\n"
+"    - EMAIL\n"
+"    - interactive prompt\n"
+"    - LOGNAME (with '@hostname' appended)\n"
+"\n"
+"    (deprecated, use .hgrc)\n"
+"\n"
+"EMAIL\n"
+"    May be used as the author of a commit; see HGUSER.\n"
+"\n"
+"LOGNAME\n"
+"    May be used as the author of a commit; see HGUSER.\n"
+"\n"
+"VISUAL\n"
+"    This is the name of the editor to use when committing. See EDITOR.\n"
+"\n"
+"EDITOR\n"
+"    Sometimes Mercurial needs to open a text file in an editor for a\n"
+"    user to modify, for example when writing commit messages. The\n"
+"    editor it uses is determined by looking at the environment\n"
+"    variables HGEDITOR, VISUAL and EDITOR, in that order. The first\n"
+"    non-empty one is chosen. If all of them are empty, the editor\n"
+"    defaults to 'vi'.\n"
+"\n"
+"PYTHONPATH\n"
+"    This is used by Python to find imported modules and may need to be\n"
+"    set appropriately if this Mercurial is not installed system-wide.\n"
+"    "
+msgstr ""
+
 msgid "Specifying Single Revisions"
 msgstr ""
 
+msgid ""
+"\n"
+"    Mercurial supports several ways to specify individual revisions.\n"
+"\n"
+"    A plain integer is treated as a revision number. Negative integers\n"
+"    are treated as sequential offsets from the tip, with -1 denoting\n"
+"    the tip, -2 denoting the revision prior to the tip, and so forth.\n"
+"\n"
+"    A 40-digit hexadecimal string is treated as a unique revision\n"
+"    identifier.\n"
+"\n"
+"    A hexadecimal string less than 40 characters long is treated as a\n"
+"    unique revision identifier and is referred to as a short-form\n"
+"    identifier. A short-form identifier is only valid if it is the\n"
+"    prefix of exactly one full-length identifier.\n"
+"\n"
+"    Any other string is treated as a tag or branch name. A tag name is\n"
+"    a symbolic name associated with a revision identifier. A branch\n"
+"    name denotes the tipmost revision of that branch. Tag and branch\n"
+"    names must not contain the \":\" character.\n"
+"\n"
+"    The reserved name \"tip\" is a special tag that always identifies\n"
+"    the most recent revision.\n"
+"\n"
+"    The reserved name \"null\" indicates the null revision. This is the\n"
+"    revision of an empty repository, and the parent of revision 0.\n"
+"\n"
+"    The reserved name \".\" indicates the working directory parent. If\n"
+"    no working directory is checked out, it is equivalent to null. If\n"
+"    an uncommitted merge is in progress, \".\" is the revision of the\n"
+"    first parent.\n"
+"    "
+msgstr ""
+
 msgid "Specifying Multiple Revisions"
 msgstr "指定多个版本"
 
+#, fuzzy
+msgid ""
+"\n"
+"    When Mercurial accepts more than one revision, they may be\n"
+"    specified individually, or provided as a topologically continuous\n"
+"    range, separated by the \":\" character.\n"
+"\n"
+"    The syntax of range notation is [BEGIN]:[END], where BEGIN and END\n"
+"    are revision identifiers. Both BEGIN and END are optional. If\n"
+"    BEGIN is not specified, it defaults to revision number 0. If END\n"
+"    is not specified, it defaults to the tip. The range \":\" thus means\n"
+"    \"all revisions\".\n"
+"\n"
+"    If BEGIN is greater than END, revisions are treated in reverse\n"
+"    order.\n"
+"\n"
+"    A range acts as a closed interval. This means that a range of 3:5\n"
+"    gives 3, 4 and 5. Similarly, a range of 9:6 gives 9, 8, 7, and 6.\n"
+"    "
+msgstr ""
+"\n"
+"    当水银接受多个版本时,它们可以单独给出,或者以字符 \":\" 分割的拓扑连续\n"
+"    范围格式提供。\n"
+"\n"
+"    范围的语法是 '[BEGIN]:[END]',其中 'BEGIN' 和 'END' 是版本标识。'BEGIN'\n"
+"    和 'END' 都是可选的。'BEGIN' 默认是 0,'END' 默认是 'tip'。因此范围 \":"
+"\"\n"
+"    意味着全部版本。\n"
+"\n"
+"    如果 'BEGIN' 大于 'END',版本视为反序。\n"
+"\n"
+"    范围是闭区间。即范围 '3:5' 是 '3','4','5'。同样,范围 '9:6' 是 '9',\n"
+"    '8','7' 和 '6'。\n"
+"    "
+
 msgid "Diff Formats"
 msgstr "差异格式"
 
+#, fuzzy
+msgid ""
+"\n"
+"    Mercurial's default format for showing changes between two\n"
+"    versions of a file is compatible with the unified format of GNU\n"
+"    diff, which can be used by GNU patch and many other standard\n"
+"    tools.\n"
+"\n"
+"    While this standard format is often enough, it does not encode the\n"
+"    following information:\n"
+"\n"
+"    - executable status and other permission bits\n"
+"    - copy or rename information\n"
+"    - changes in binary files\n"
+"    - creation or deletion of empty files\n"
+"\n"
+"    Mercurial also supports the extended diff format from the git VCS\n"
+"    which addresses these limitations. The git diff format is not\n"
+"    produced by default because a few widespread tools still do not\n"
+"    understand this format.\n"
+"\n"
+"    This means that when generating diffs from a Mercurial repository\n"
+"    (e.g. with \"hg export\"), you should be careful about things like\n"
+"    file copies and renames or other things mentioned above, because\n"
+"    when applying a standard diff to a different repository, this\n"
+"    extra information is lost. Mercurial's internal operations (like\n"
+"    push and pull) are not affected by this, because they use an\n"
+"    internal binary format for communicating changes.\n"
+"\n"
+"    To make Mercurial produce the git extended diff format, use the\n"
+"    --git option available for many commands, or set 'git = True' in\n"
+"    the [diff] section of your hgrc. You do not need to set this\n"
+"    option when importing diffs in this format or using them in the mq\n"
+"    extension.\n"
+"    "
+msgstr ""
+"\n"
+"    水银显示文件不同版本之间差异的格式与 GNU diff 标准格式兼容,可用于\n"
+"    GNU patch 和许多标准工具。\n"
+"\n"
+"    虽然标准格式在大多数情况下都能满足要求,但是它不包含下述信息:\n"
+"\n"
+"     - 可执行状态和其它权限位\n"
+"     - 复制或改名信息\n"
+"     - 二进制文件的修改\n"
+"     - 创建或删除空文件\n"
+"\n"
+"    水银也支持解决这些限制的 git 扩展差异格式。由于一些常用的工具还不支持\n"
+"    此格式,所以它不是默认格式。\n"
+"\n"
+"    这意味着当从水银版本库(例如 \"hg export\")产生差异时,在其它版本库应用标\n"
+"    准差异时,会丢失文件复制或改名等额外信息,所以你要小心处理。水银的内部\n"
+"    操作(例如 push 和 pull)在传达改变时,使用内部的二进制格式,所以不受影\n"
+"    响。\n"
+"\n"
+"    要让水银产生 git 扩展差异格式,可以对许多命令使用选项 '--git',或者在\n"
+"    你的 hgrc 文件中的节 '[diff]' 中增加 'git = True'。当你从此格式导入时,\n"
+"    或在 mq 扩展中使用时,不需要设置此选项。\n"
+"    "
+
 msgid "Template Usage"
 msgstr "模版用法"
 
 #, fuzzy
+msgid ""
+"\n"
+"    Mercurial allows you to customize output of commands through\n"
+"    templates. You can either pass in a template from the command\n"
+"    line, via the --template option, or select an existing\n"
+"    template-style (--style).\n"
+"\n"
+"    You can customize output for any \"log-like\" command: log,\n"
+"    outgoing, incoming, tip, parents, heads and glog.\n"
+"\n"
+"    Three styles are packaged with Mercurial: default (the style used\n"
+"    when no explicit preference is passed), compact and changelog.\n"
+"    Usage::\n"
+"\n"
+"        $ hg log -r1 --style changelog\n"
+"\n"
+"    A template is a piece of text, with markup to invoke variable\n"
+"    expansion::\n"
+"\n"
+"        $ hg log -r1 --template \"{node}\\n\"\n"
+"        b56ce7b07c52de7d5fd79fb89701ea538af65746\n"
+"\n"
+"    Strings in curly braces are called keywords. The availability of\n"
+"    keywords depends on the exact context of the templater. These\n"
+"    keywords are usually available for templating a log-like command:\n"
+"\n"
+"    :author:    String. The unmodified author of the changeset.\n"
+"    :branches:  String. The name of the branch on which the changeset\n"
+"                was committed. Will be empty if the branch name was\n"
+"                default.\n"
+"    :date:      Date information. The date when the changeset was\n"
+"                committed.\n"
+"    :desc:      String. The text of the changeset description.\n"
+"    :diffstat:  String. Statistics of changes with the following\n"
+"                format: \"modified files: +added/-removed lines\"\n"
+"    :files:     List of strings. All files modified, added, or removed\n"
+"                by this changeset.\n"
+"    :file_adds: List of strings. Files added by this changeset.\n"
+"    :file_mods: List of strings. Files modified by this changeset.\n"
+"    :file_dels: List of strings. Files removed by this changeset.\n"
+"    :node:      String. The changeset identification hash, as a\n"
+"                40-character hexadecimal string.\n"
+"    :parents:   List of strings. The parents of the changeset.\n"
+"    :rev:       Integer. The repository-local changeset revision\n"
+"                number.\n"
+"    :tags:      List of strings. Any tags associated with the\n"
+"                changeset.\n"
+"\n"
+"    The \"date\" keyword does not produce human-readable output. If you\n"
+"    want to use a date in your output, you can use a filter to process\n"
+"    it. Filters are functions which return a string based on the input\n"
+"    variable. You can also use a chain of filters to get the desired\n"
+"    output::\n"
+"\n"
+"       $ hg tip --template \"{date|isodate}\\n\"\n"
+"       2008-08-21 18:22 +0000\n"
+"\n"
+"    List of filters:\n"
+"\n"
+"    :addbreaks:   Any text. Add an XHTML \"<br />\" tag before the end of\n"
+"                  every line except the last.\n"
+"    :age:         Date. Returns a human-readable date/time difference\n"
+"                  between the given date/time and the current\n"
+"                  date/time.\n"
+"    :basename:    Any text. Treats the text as a path, and returns the\n"
+"                  last component of the path after splitting by the\n"
+"                  path separator (ignoring trailing separators). For\n"
+"                  example, \"foo/bar/baz\" becomes \"baz\" and \"foo/bar//\"\n"
+"                  becomes \"bar\".\n"
+"    :stripdir:    Treat the text as path and strip a directory level,\n"
+"                  if possible. For example, \"foo\" and \"foo/bar\" becomes\n"
+"                  \"foo\".\n"
+"    :date:        Date. Returns a date in a Unix date format, including\n"
+"                  the timezone: \"Mon Sep 04 15:13:13 2006 0700\".\n"
+"    :domain:      Any text. Finds the first string that looks like an\n"
+"                  email address, and extracts just the domain\n"
+"                  component. Example: 'User <user@example.com>' becomes\n"
+"                  'example.com'.\n"
+"    :email:       Any text. Extracts the first string that looks like\n"
+"                  an email address. Example: 'User <user@example.com>'\n"
+"                  becomes 'user@example.com'.\n"
+"    :escape:      Any text. Replaces the special XML/XHTML characters\n"
+"                  \"&\", \"<\" and \">\" with XML entities.\n"
+"    :fill68:      Any text. Wraps the text to fit in 68 columns.\n"
+"    :fill76:      Any text. Wraps the text to fit in 76 columns.\n"
+"    :firstline:   Any text. Returns the first line of text.\n"
+"    :nonempty:    Any text. Returns '(none)' if the string is empty.\n"
+"    :hgdate:      Date. Returns the date as a pair of numbers:\n"
+"                  \"1157407993 25200\" (Unix timestamp, timezone offset).\n"
+"    :isodate:     Date. Returns the date in ISO 8601 format:\n"
+"                  \"2009-08-18 13:00 +0200\".\n"
+"    :isodatesec:  Date. Returns the date in ISO 8601 format, including\n"
+"                  seconds: \"2009-08-18 13:00:13 +0200\". See also the\n"
+"                  rfc3339date filter.\n"
+"    :localdate:   Date. Converts a date to local date.\n"
+"    :obfuscate:   Any text. Returns the input text rendered as a\n"
+"                  sequence of XML entities.\n"
+"    :person:      Any text. Returns the text before an email address.\n"
+"    :rfc822date:  Date. Returns a date using the same format used in\n"
+"                  email headers: \"Tue, 18 Aug 2009 13:00:13 +0200\".\n"
+"    :rfc3339date: Date. Returns a date using the Internet date format\n"
+"                  specified in RFC 3339: \"2009-08-18T13:00:13+02:00\".\n"
+"    :short:       Changeset hash. Returns the short form of a changeset\n"
+"                  hash, i.e. a 12-byte hexadecimal string.\n"
+"    :shortdate:   Date. Returns a date like \"2006-09-18\".\n"
+"    :strip:       Any text. Strips all leading and trailing whitespace.\n"
+"    :tabindent:   Any text. Returns the text, with every line except\n"
+"                  the first starting with a tab character.\n"
+"    :urlescape:   Any text. Escapes all \"special\" characters. For\n"
+"                  example, \"foo bar\" becomes \"foo%20bar\".\n"
+"    :user:        Any text. Returns the user portion of an email\n"
+"                  address.\n"
+"    "
+msgstr ""
+"\n"
+"    水银允许你通过模版定制命令的输出。你可以通过命令行选项 '--template'\n"
+"    来使用模版,或者选择已有的模版样式(--style)。\n"
+"\n"
+"    你可以定制任意输出与日志信息类似的命令,即: log,outgoing,incoming,\n"
+"    tip,parents,heads 和 glog。\n"
+"\n"
+"    水银中内置了 3 种样式: default (默认), compact 和 changelog。用法:\n"
+"\n"
+"        $ hg log -r1 --style changelog\n"
+"\n"
+"    模版是文本片断,其中的标记用于变量扩展:\n"
+"\n"
+"        $ hg log -r1 --template \"{node}\\n\"\n"
+"        b56ce7b07c52de7d5fd79fb89701ea538af65746\n"
+"\n"
+"    花括号中的字符串称为关键字。可用的关键字依赖于模版的上下文。下述关键字\n"
+"    可用于输出与日志信息类似的命令:\n"
+"\n"
+"    - author: 字符串。修改集的作者。\n"
+"    - branches: 字符串。修改集的分支。如果分支名称为 'default' 则为空。\n"
+"    - date: 日期信息。修改集的日期。\n"
+"    - desc: 字符串。修改集的描述。\n"
+"    - files: 字符串列表。修改集中被修改、增加和删除的全部文件。\n"
+"    - file_adds: 字符串列表。修改集中被增加的文件。\n"
+"    - file_mods: 字符串列表。修改集中被修改的文件\n"
+"    - file_dels: 字符串列表。修改集中被删除的文件\n"
+"    - node: 字符串。修改集的哈系标识,40 个字符的 16 进制字符串。\n"
+"    - parents: 字符串列表。修改集的父亲。\n"
+"    - rev: 整数。本地版本库的修改集的版本号。\n"
+"    - tags: 字符串列表。修改集的标签。\n"
+"\n"
+"    关键字 \"date\" 不产生人工可读的输出。如果你想在输出中使用日期,可以使用\n"
+"    过滤器来处理它。过滤器是根据输入变量返回字符串的函数。你还可以使用过滤\n"
+"    链来产生理想的输出:\n"
+"\n"
+"       $ hg tip --template \"{date|isodate}\\n\"\n"
+"       2008-08-21 18:22 +0000\n"
+"\n"
+"    过滤器列表:\n"
+"\n"
+"    - addbreaks: 输入任意文本。除了最后一行,在每行的结尾增加 XHTML 标签\n"
+"          \"<br />\"。\n"
+"    - age: 输入日期。返回指定日期与当前日期差异的人工可读的字符串。\n"
+"    - basename: 输入任意文本。将输入视为路径,返回被路径分隔符隔开的最后\n"
+"          一个组件的名称(忽略结尾的分隔符)。例如 \"foo/bar/baz\" 成为 \"baz"
+"\",\n"
+"          \"foo/bar//\" 成为 \"bar\"。\n"
+"    - date: 输入日期。返回指定日期的 Unix 日期格式字符串,包含时区,例如: \n"
+"          \"Mon Sep 04 15:13:13 2006 0700\"。\n"
+"    - domain: 输入任意文本。找到第一个 email 地址,返回其域名。例如: \n"
+"          'User <user@example.com>' 成为 'example.com'。\n"
+"    - email: 输入任意文本。返回第一个 email 地址。例如: \n"
+"          'User <user@example.com>' 成为 'user@example.com'。\n"
+"    - escape: 输入任意文本。用 XML 实体来封装 XML/XHTML 的特殊字符 \"&\",\n"
+"          \"<\" 和 \">\"。\n"
+"    - fill68: 输入任意文本。格式化为 68 列文本。\n"
+"    - fill76: 输入任意文本。格式化为 76 列文本。\n"
+"    - firstline: 输入任意文本。返回首行。\n"
+"    - hgdate: 输入日期。返回一对数字:\n"
+"          \"1157407993 25200\" (Unix 时戳,时区偏移)。\n"
+"    - isodate: 输入日期。返回 ISO 8601 格式的日期。\n"
+"    - obfuscate: 输入任意文本。返回其 XML 实体序列。\n"
+"    - person: 输入任意文本。返回 email 地址前的文本。\n"
+"    - rfc822date: 输入日期。返回 email 头部使用的日期格式。\n"
+"    - short: 修改集哈系。返回修改集哈系的短格式。例如 12 字符的 16 进制\n"
+"          字符串。\n"
+"    - shortdate: 输入日期。返回格式类似于 \"2006-09-18\"。\n"
+"    - strip: 输入任意文本。删除全部行首与行尾空白。\n"
+"    - tabindent: 输入任意文本。除了首行,在每行的开始增加制表符号。\n"
+"    - urlescape: 输入任意文本。封装全部特殊字符。例如\n"
+"          \"foo bar\" 成为 \"foo%20bar\"。\n"
+"    - user: 输入任意文本。返回 email 地址中的用户名称部分。\n"
+"    "
+
+#, fuzzy
 msgid "URL Paths"
 msgstr "统一资源定位路径"
 
 #, fuzzy
+msgid ""
+"\n"
+"    Valid URLs are of the form::\n"
+"\n"
+"      local/filesystem/path[#revision]\n"
+"      file://local/filesystem/path[#revision]\n"
+"      http://[user[:pass]@]host[:port]/[path][#revision]\n"
+"      https://[user[:pass]@]host[:port]/[path][#revision]\n"
+"      ssh://[user[:pass]@]host[:port]/[path][#revision]\n"
+"\n"
+"    Paths in the local filesystem can either point to Mercurial\n"
+"    repositories or to bundle files (as created by 'hg bundle' or 'hg\n"
+"    incoming --bundle').\n"
+"\n"
+"    An optional identifier after # indicates a particular branch, tag,\n"
+"    or changeset to use from the remote repository. See also 'hg help\n"
+"    revisions'.\n"
+"\n"
+"    Some features, such as pushing to http:// and https:// URLs are\n"
+"    only possible if the feature is explicitly enabled on the remote\n"
+"    Mercurial server.\n"
+"\n"
+"    Some notes about using SSH with Mercurial:\n"
+"\n"
+"    - SSH requires an accessible shell account on the destination\n"
+"      machine and a copy of hg in the remote path or specified with as\n"
+"      remotecmd.\n"
+"    - path is relative to the remote user's home directory by default.\n"
+"      Use an extra slash at the start of a path to specify an absolute\n"
+"      path::\n"
+"\n"
+"        ssh://example.com//tmp/repository\n"
+"\n"
+"    - Mercurial doesn't use its own compression via SSH; the right\n"
+"      thing to do is to configure it in your ~/.ssh/config, e.g.::\n"
+"\n"
+"        Host *.mylocalnetwork.example.com\n"
+"          Compression no\n"
+"        Host *\n"
+"          Compression yes\n"
+"\n"
+"      Alternatively specify \"ssh -C\" as your ssh command in your hgrc\n"
+"      or with the --ssh command line option.\n"
+"\n"
+"    These URLs can all be stored in your hgrc with path aliases under\n"
+"    the [paths] section like so::\n"
+"\n"
+"      [paths]\n"
+"      alias1 = URL1\n"
+"      alias2 = URL2\n"
+"      ...\n"
+"\n"
+"    You can then use the alias for any command that uses a URL (for\n"
+"    example 'hg pull alias1' would pull from the 'alias1' path).\n"
+"\n"
+"    Two path aliases are special because they are used as defaults\n"
+"    when you do not provide the URL to a command:\n"
+"\n"
+"    default:\n"
+"      When you create a repository with hg clone, the clone command\n"
+"      saves the location of the source repository as the new\n"
+"      repository's 'default' path. This is then used when you omit\n"
+"      path from push- and pull-like commands (including incoming and\n"
+"      outgoing).\n"
+"\n"
+"    default-push:\n"
+"      The push command will look for a path named 'default-push', and\n"
+"      prefer it over 'default' if both are defined.\n"
+"    "
+msgstr ""
+"\n"
+"    有效的位置格式:\n"
+"\n"
+"      local/filesystem/path (or file://local/filesystem/path)\n"
+"      http://[user[:pass]@]host[:port]/[path]\n"
+"      https://[user[:pass]@]host[:port]/[path]\n"
+"      ssh://[user[:pass]@]host[:port]/[path]\n"
+"\n"
+"    位于本地文件系统中的路径可以指向版本库,也可以指向打包的文件(被\n"
+"    'hg bundle' 或 'hg incoming --bundle' 创建)。\n"
+"\n"
+"    在 '#' 后面可选的标识符用于指定要取得的远程版本库的分支,标签或\n"
+"    修改集。\n"
+"\n"
+"    仅当远程水银服务器显式启用时,才能推到 'http://' 和 'https://'。\n"
+"\n"
+"    在水银中使用 SSH 的一些提示:\n"
+"    - 使用 SSH 时,需要在远程主机上有可登录帐号,远程路径中还需要有\n"
+"      hg,或者有指定的远程命令。\n"
+"    - 默认 'path' 是相对于远程主机上的用户家目录。\n"
+"      可以在路径前增加一个斜线指定绝对路径:\n"
+"        ssh://example.com//tmp/repository\n"
+"    - 水银使用 SSH 时不使用压缩,所以你可以在 ~/.ssh/config 中配置\n"
+"      SSH 执行压缩,例如:\n"
+"        Host *.mylocalnetwork.example.com\n"
+"          Compression no\n"
+"        Host *\n"
+"          Compression yes\n"
+"      另一个方法是在你的 hgrc 中将 \"ssh -C\" 作为你的 ssh 命令,或\n"
+"      用于命令行参数 '--ssh' 中。\n"
+"\n"
+"    这些路径可以在你的 'hgrc' 中的节 '[paths]' 中定义别名:\n"
+"    [paths]\n"
+"    alias1 = URL1\n"
+"    alias2 = URL2\n"
+"    ...\n"
+"\n"
+"    然后你就可以在任意命令中使用这些别名作为路径(例如 'hg pull alias1'\n"
+"    会从 'alias1' 定义的路径取得指定版本)。\n"
+"\n"
+"    因为用于默认路径,所以这 2 个路径别名比较特殊:\n"
+"\n"
+"    default:\n"
+"      当你使用 'hg clone' 创建版本库时,此命令会将源版本库的位置保存\n"
+"      为新版本库的 'default' 路径,然后你可以对类似 'push' 和 'pull'\n"
+"      的命令省略路径(包含进和出)。\n"
+"\n"
+"    default-push:\n"
+"      命令 'push' 会查找别名是 'default-push' 的路径,它覆盖定义 'default'。\n"
+"    "
+
+#, fuzzy
 msgid "Using additional features"
 msgstr "启用额外的输出"
 
@@ -7870,20 +8065,27 @@
 msgid "clone from remote to remote not supported"
 msgstr ""
 
-#, fuzzy, python-format
-msgid "updating to branch %s\n"
-msgstr "正在更新标签\n"
-
-#, python-format
-msgid ""
-"%d files updated, %d files merged, %d files removed, %d files unresolved\n"
-msgstr ""
+msgid "updated"
+msgstr "已更新"
+
+msgid "merged"
+msgstr "已合并"
+
+msgid "removed"
+msgstr "已删除"
+
+msgid "unresolved"
+msgstr "未解决"
+
+#, python-format
+msgid "%d files %s"
+msgstr "%d 个文件%s"
 
 msgid "use 'hg resolve' to retry unresolved file merges\n"
 msgstr ""
 
 msgid ""
-"use 'hg resolve' to retry unresolved file merges or 'hg update -C' to "
+"use 'hg resolve' to retry unresolved file merges or 'hg up --clean' to "
 "abandon\n"
 msgstr ""
 
@@ -7959,12 +8161,32 @@
 msgid "unsupported URL component: \"%s\""
 msgstr ""
 
+#, python-format
+msgid "using %s\n"
+msgstr "使用 %s\n"
+
+#, python-format
+msgid "capabilities: %s\n"
+msgstr ""
+
 msgid "operation not supported over http"
 msgstr ""
 
+#, python-format
+msgid "sending %s command\n"
+msgstr "发送命令 '%s'\n"
+
+#, python-format
+msgid "sending %s bytes\n"
+msgstr "发送 %s 字节\n"
+
 msgid "authorization failed"
 msgstr "授权失败"
 
+#, python-format
+msgid "http error while sending %s command\n"
+msgstr ""
+
 msgid "http error, possibly caused by proxy setting"
 msgstr ""
 
@@ -7972,6 +8194,10 @@
 msgid "real URL is %s\n"
 msgstr "实际 URL 是 '%s'\n"
 
+#, fuzzy, python-format
+msgid "requested URL: '%s'\n"
+msgstr "请求的 URL: '%s'\n"
+
 #, python-format
 msgid "'%s' does not appear to be an hg repository"
 msgstr "'%s' 似乎不是水银版本库"
@@ -8045,6 +8271,10 @@
 msgid "unknown revision '%s'"
 msgstr ""
 
+#, python-format
+msgid "filtering %s through %s\n"
+msgstr ""
+
 msgid "journal already exists - run hg recover"
 msgstr ""
 
@@ -8076,6 +8306,14 @@
 msgid "working directory of %s"
 msgstr ""
 
+#, python-format
+msgid " %s: searching for copy revision for %s\n"
+msgstr ""
+
+#, python-format
+msgid " %s: copy %s:%s\n"
+msgstr ""
+
 msgid "cannot partially commit a merge (do not specify files or patterns)"
 msgstr ""
 
@@ -8143,6 +8381,41 @@
 msgid "searching for changes\n"
 msgstr "正在搜索修改\n"
 
+#, python-format
+msgid "examining %s:%s\n"
+msgstr ""
+
+msgid "branch already found\n"
+msgstr ""
+
+#, python-format
+msgid "found incomplete branch %s:%s\n"
+msgstr ""
+
+#, python-format
+msgid "found new changeset %s\n"
+msgstr ""
+
+#, python-format
+msgid "request %d: %s\n"
+msgstr ""
+
+#, python-format
+msgid "received %s:%s\n"
+msgstr ""
+
+#, python-format
+msgid "narrowing %d:%d %s\n"
+msgstr ""
+
+#, python-format
+msgid "found new branch changeset %s\n"
+msgstr ""
+
+#, python-format
+msgid "narrowed branch search to %s:%s\n"
+msgstr ""
+
 msgid "already have changeset "
 msgstr ""
 
@@ -8152,6 +8425,16 @@
 msgid "repository is unrelated"
 msgstr ""
 
+msgid "found new changesets starting at "
+msgstr ""
+
+#, python-format
+msgid "%d total queries\n"
+msgstr ""
+
+msgid "common changesets up to "
+msgstr ""
+
 msgid "requesting all changes\n"
 msgstr "正在请求全部修改\n"
 
@@ -8177,10 +8460,17 @@
 msgid "%d changesets found\n"
 msgstr "已发现 %d 个修改集\n"
 
+msgid "list of changesets:\n"
+msgstr ""
+
 #, python-format
 msgid "empty or missing revlog for %s"
 msgstr ""
 
+#, python-format
+msgid "add changeset %s\n"
+msgstr ""
+
 msgid "adding changesets\n"
 msgstr "正在增加修改集\n"
 
@@ -8193,6 +8483,10 @@
 msgid "adding file changes\n"
 msgstr "正在增加文件改变\n"
 
+#, python-format
+msgid "adding %s revisions\n"
+msgstr ""
+
 msgid "received file revlog group is empty"
 msgstr ""
 
@@ -8204,6 +8498,9 @@
 msgid "added %d changesets with %d changes to %d files%s\n"
 msgstr "已增加 %d 个修改集,包含 %d 个改变,修改了 %d 个文件%s\n"
 
+msgid "updating the branch cache\n"
+msgstr ""
+
 msgid "Unexpected response from remote server:"
 msgstr ""
 
@@ -8224,6 +8521,10 @@
 msgstr ""
 
 #, python-format
+msgid "adding %s (%s)\n"
+msgstr ""
+
+#, python-format
 msgid "transferred %s in %.1f seconds (%s/sec)\n"
 msgstr ""
 
@@ -8305,6 +8606,14 @@
 msgstr "正在解析清单\n"
 
 #, python-format
+msgid " overwrite %s partial %s\n"
+msgstr ""
+
+#, python-format
+msgid " ancestor %s local %s remote %s\n"
+msgstr ""
+
+#, python-format
 msgid ""
 " local changed %s which remote deleted\n"
 "use (c)hanged version or (d)elete?"
@@ -8326,6 +8635,10 @@
 msgstr ""
 
 #, python-format
+msgid "preserving %s for resolve of %s\n"
+msgstr ""
+
+#, python-format
 msgid "update failed to remove %s: %s!\n"
 msgstr ""
 
@@ -8372,6 +8685,13 @@
 msgstr ""
 
 #, python-format
+msgid "found patch at byte %d\n"
+msgstr ""
+
+msgid "patch generated by hg export\n"
+msgstr ""
+
+#, python-format
 msgid "unable to find '%s' for patching\n"
 msgstr ""
 
@@ -8442,6 +8762,10 @@
 msgstr ""
 
 #, python-format
+msgid "no valid hunks found; trying with %r instead\n"
+msgstr ""
+
+#, python-format
 msgid " %d files changed, %d insertions(+), %d deletions(-)\n"
 msgstr ""
 
@@ -8454,6 +8778,13 @@
 msgstr ""
 
 #, python-format
+msgid "stopped by signal %d"
+msgstr ""
+
+msgid "invalid exit code"
+msgstr ""
+
+#, python-format
 msgid "saving bundle to %s\n"
 msgstr ""
 
@@ -8524,12 +8855,12 @@
 msgid "could not create remote repo"
 msgstr ""
 
+msgid "remote: "
+msgstr ""
+
 msgid "no suitable response from remote hg"
 msgstr ""
 
-msgid "remote: "
-msgstr ""
-
 #, python-format
 msgid "push refused: %s"
 msgstr ""
@@ -8547,6 +8878,17 @@
 msgid "invalid entry in fncache, line %s"
 msgstr ""
 
+msgid "scanning\n"
+msgstr "正在扫描\n"
+
+#, python-format
+msgid "%d files, %d bytes to transfer\n"
+msgstr "需要传输 %d 个文件,%d 字节\n"
+
+#, python-format
+msgid "sending %s (%d bytes)\n"
+msgstr "正在发送 %s (%d 字节)\n"
+
 #, python-format
 msgid ""
 " subrepository sources for %s differ\n"
@@ -8690,6 +9032,10 @@
 msgstr ""
 
 #, python-format
+msgid "proxying through http://%s:%s\n"
+msgstr ""
+
+#, python-format
 msgid "command '%s' failed: %s"
 msgstr ""
 
@@ -8887,10 +9233,6 @@
 msgstr ""
 
 #, python-format
-msgid "warning: copy source of '%s' not in parents of %s"
-msgstr ""
-
-#, python-format
 msgid "empty or missing copy source revlog %s:%s"
 msgstr ""