changeset 12903:13fb555677fe stable

i18n-zh_TW: synchronize with 15ca4bfecfe3
author Chia-Huan Wu <willie.tw@gmail.com>
date Sun, 31 Oct 2010 22:29:21 +0100
parents a63902f98942
children b6fd8157515b
files i18n/zh_TW.po
diffstat 1 files changed, 5983 insertions(+), 3922 deletions(-) [+]
line wrap: on
line diff
--- a/i18n/zh_TW.po	Mon Nov 01 01:31:09 2010 +0900
+++ b/i18n/zh_TW.po	Sun Oct 31 22:29:21 2010 +0100
@@ -2,647 +2,53 @@
 # Copyright (C) 2009 Matt Mackall <mpm@selenic.com> and others
 # This file is distributed under the same license as the Mercurial package.
 # Chia-Huan Wu <willie.tw@gmail.com>, 2009.
-# 
+#
 msgid ""
 msgstr ""
 "Project-Id-Version: Mercurial\n"
 "Report-Msgid-Bugs-To: <mercurial-devel@selenic.com>\n"
-"POT-Creation-Date: 2009-10-25 12:38+0100\n"
+"POT-Creation-Date: 2010-10-31 22:27+0100\n"
 "PO-Revision-Date: 2009-10-25 12:50+0100\n"
-"Last-Translator: Chia-Huan Wu <willie.tw@gmail.com>\n"
+"Last-Translator: Chia-Huan Wu <willie.tw@gmail.com>,"
+"leolarrel<leolarrel@gmail.com>\n"
 "Language-Team: Traditional Chinese\n"
+"Language: \n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 
 #, python-format
 msgid " (default: %s)"
-msgstr " (預設: %s)"
-
-msgid "OPTIONS"
+msgstr "(內定: %s)"
+
+msgid "Options"
 msgstr "選項"
 
-msgid "COMMANDS"
-msgstr "命令"
-
-#, fuzzy
-msgid "    options:"
-msgstr "    選項: \n"
+msgid "Commands"
+msgstr "基本命令"
+
+msgid "Extensions"
+msgstr "擴充套件"
+
+msgid ""
+"This section contains help for extensions that are distributed together with "
+"Mercurial. Help for other extensions is available in the help system."
+msgstr ""
+
+msgid "options:"
+msgstr "選項:"
 
 #, python-format
 msgid "    aliases: %s"
-msgstr "    別名: %s"
-
-msgid "Some commands allow the user to specify a date, e.g.:"
-msgstr ""
-
-msgid ""
-"- backout, commit, import, tag: Specify the commit date.\n"
-"- log, revert, update: Select revision(s) by date."
-msgstr ""
-
-msgid "Many date formats are valid. Here are some examples::"
-msgstr ""
-
-msgid ""
-"  \"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)"
-msgstr ""
-
-msgid "Lastly, there is Mercurial's internal format::"
-msgstr ""
-
-msgid "  \"1165432709 0\" (Wed Dec 6 13:18:29 2006 UTC)"
-msgstr ""
-
-msgid ""
-"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)."
-msgstr ""
-
-msgid "The log command also accepts date ranges::"
-msgstr ""
-
-msgid ""
-"  \"<{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 ""
-"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."
-msgstr ""
-
-msgid ""
-"While this standard format is often enough, it does not encode the\n"
-"following information:"
-msgstr ""
-
-msgid ""
-"- executable status and other permission bits\n"
-"- copy or rename information\n"
-"- changes in binary files\n"
-"- creation or deletion of empty files"
-msgstr ""
-
-msgid ""
-"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."
-msgstr ""
-
-msgid ""
-"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."
-msgstr ""
-
-msgid ""
-"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 ""
-
-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."
-msgstr ""
-
-msgid ""
-"HGEDITOR\n"
-"    This is the name of the editor to run when committing. See EDITOR."
-msgstr ""
-
-msgid "    (deprecated, use .hgrc)"
-msgstr ""
-
-msgid ""
-"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."
-msgstr ""
-
-msgid ""
-"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."
-msgstr ""
-
-msgid ""
-"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."
-msgstr ""
-
-msgid ""
-"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."
-msgstr ""
-
-msgid "    For each element in HGRCPATH:"
-msgstr ""
-
-msgid ""
-"    - if it's a directory, all files ending with .rc are added\n"
-"    - otherwise, the file itself will be added"
-msgstr ""
-
-msgid ""
-"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:"
-msgstr ""
-
-msgid ""
-"    - HGUSER (deprecated)\n"
-"    - hgrc files from the HGRCPATH\n"
-"    - EMAIL\n"
-"    - interactive prompt\n"
-"    - LOGNAME (with '@hostname' appended)"
-msgstr ""
-
-msgid ""
-"EMAIL\n"
-"    May be used as the author of a commit; see HGUSER."
-msgstr ""
-
-msgid ""
-"LOGNAME\n"
-"    May be used as the author of a commit; see HGUSER."
-msgstr ""
-
-msgid ""
-"VISUAL\n"
-"    This is the name of the editor to use when committing. See EDITOR."
-msgstr ""
-
-msgid ""
-"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'."
-msgstr ""
-
-msgid ""
-"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."
-msgstr ""
-
-msgid ""
-"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."
-msgstr ""
-
-msgid ""
-"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::"
-msgstr ""
-
-msgid ""
-"  [extensions]\n"
-"  foo ="
-msgstr ""
-
-msgid "You may also specify the full path to an extension::"
-msgstr ""
-
-msgid ""
-"  [extensions]\n"
-"  myfeature = ~/.hgext/myfeature.py"
-msgstr ""
-
-msgid ""
-"To explicitly disable an extension enabled in an hgrc of broader\n"
-"scope, prepend its path with !::"
-msgstr ""
-
-msgid ""
-"  [extensions]\n"
-"  # disabling extension bar residing in /path/to/extension/bar.py\n"
-"  bar = !/path/to/extension/bar.py\n"
-"  # ditto, but no path was supplied for extension baz\n"
-"  baz = !\n"
-msgstr ""
-
-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."
-msgstr ""
-
-msgid ""
-"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\"."
-msgstr ""
-
-msgid "If BEGIN is greater than END, revisions are treated in reverse order."
-msgstr ""
-
-msgid ""
-"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 ""
-
-msgid ""
-"Mercurial accepts several notations for identifying one or more files\n"
-"at a time."
-msgstr ""
-
-msgid ""
-"By default, Mercurial treats filenames as shell-style extended glob\n"
-"patterns."
-msgstr ""
-
-msgid "Alternate pattern notations must be specified explicitly."
-msgstr ""
-
-msgid ""
-"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."
-msgstr ""
-
-msgid ""
-"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``."
-msgstr ""
-
-msgid ""
-"The supported glob syntax extensions are ``**`` to match any string\n"
-"across path separators and ``{a,b}`` to mean \"a or b\"."
-msgstr ""
-
-msgid ""
-"To use a Perl/Python regular expression, start a name with ``re:``.\n"
-"Regexp pattern matching is anchored at the root of the repository."
-msgstr ""
-
-msgid "Plain examples::"
-msgstr ""
-
-msgid ""
-"  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\""
-msgstr ""
-
-msgid "Glob examples::"
-msgstr ""
-
-msgid ""
-"  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."
-msgstr ""
-
-msgid "Regexp examples::"
-msgstr ""
-
-msgid "  re:.*\\.c$      any name ending in \".c\", anywhere in the repository\n"
-msgstr ""
-
-msgid "Mercurial supports several ways to specify individual revisions."
-msgstr ""
-
-msgid ""
-"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."
-msgstr ""
-
-msgid ""
-"A 40-digit hexadecimal string is treated as a unique revision\n"
-"identifier."
-msgstr ""
-
-msgid ""
-"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."
-msgstr ""
-
-msgid ""
-"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."
-msgstr ""
-
-msgid ""
-"The reserved name \"tip\" is a special tag that always identifies the\n"
-"most recent revision."
-msgstr ""
-
-msgid ""
-"The reserved name \"null\" indicates the null revision. This is the\n"
-"revision of an empty repository, and the parent of revision 0."
-msgstr ""
-
-msgid ""
-"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 ""
-
-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)."
-msgstr ""
-
-msgid ""
-"You can customize output for any \"log-like\" command: log,\n"
-"outgoing, incoming, tip, parents, heads and glog."
-msgstr ""
-
-msgid ""
-"Three styles are packaged with Mercurial: default (the style used\n"
-"when no explicit preference is passed), compact and changelog.\n"
-"Usage::"
-msgstr ""
-
-msgid "    $ hg log -r1 --style changelog"
-msgstr ""
-
-msgid ""
-"A template is a piece of text, with markup to invoke variable\n"
-"expansion::"
-msgstr ""
-
-msgid ""
-"    $ hg log -r1 --template \"{node}\\n\"\n"
-"    b56ce7b07c52de7d5fd79fb89701ea538af65746"
-msgstr ""
-
-msgid ""
-"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:"
-msgstr ""
-
-msgid ""
-":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."
-msgstr ""
-
-msgid ""
-"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::"
-msgstr ""
-
-msgid ""
-"   $ hg tip --template \"{date|isodate}\\n\"\n"
-"   2008-08-21 18:22 +0000"
-msgstr ""
-
-msgid "List of filters:"
-msgstr ""
-
-msgid ""
-":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 ""
-
-msgid "Valid URLs are of the form::"
-msgstr ""
-
-msgid ""
-"  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]"
-msgstr ""
-
-msgid ""
-"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')."
-msgstr ""
-
-msgid ""
-"An optional identifier after # indicates a particular branch, tag, or\n"
-"changeset to use from the remote repository. See also 'hg help\n"
-"revisions'."
-msgstr ""
-
-msgid ""
-"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."
-msgstr ""
-
-msgid "Some notes about using SSH with Mercurial:"
-msgstr ""
-
-msgid ""
-"- 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::"
-msgstr ""
-
-msgid "    ssh://example.com//tmp/repository"
-msgstr ""
-
-msgid ""
-"- 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.::"
-msgstr ""
-
-msgid ""
-"    Host *.mylocalnetwork.example.com\n"
-"      Compression no\n"
-"    Host *\n"
-"      Compression yes"
-msgstr ""
-
-msgid ""
-"  Alternatively specify \"ssh -C\" as your ssh command in your hgrc or\n"
-"  with the --ssh command line option."
-msgstr ""
-
-msgid ""
-"These URLs can all be stored in your hgrc with path aliases under the\n"
-"[paths] section like so::"
-msgstr ""
-
-msgid ""
-"  [paths]\n"
-"  alias1 = URL1\n"
-"  alias2 = URL2\n"
-"  ..."
-msgstr ""
-
-msgid ""
-"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)."
-msgstr ""
-
-msgid ""
-"Two path aliases are special because they are used as defaults when\n"
-"you do not provide the URL to a command:"
-msgstr ""
-
-msgid ""
-"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)."
-msgstr ""
-
-msgid ""
-"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 ""
+msgstr "\t別名:%s"
 
 msgid "hooks for controlling repository access"
 msgstr ""
 
 msgid ""
-"This hook makes it possible to allow or deny write access to portions\n"
-"of a repository when receiving incoming changesets."
+"This hook makes it possible to allow or deny write access to given\n"
+"branches and paths of a repository when receiving incoming changesets\n"
+"via pretxnchangegroup and pretxncommit."
 msgstr ""
 
 msgid ""
@@ -653,63 +59,223 @@
 
 msgid ""
 "The acl hook is best used along with a restricted shell like hgsh,\n"
-"preventing authenticating users from doing anything other than\n"
-"pushing or pulling. The hook is not safe to use if users have\n"
-"interactive shell access, as they can then disable the hook.\n"
-"Nor is it safe if remote users share an account, because then there\n"
-"is no way to distinguish them."
-msgstr ""
-
-msgid "To use this hook, configure the acl extension in your hgrc like this::"
-msgstr ""
-
-msgid ""
-"  [extensions]\n"
-"  acl ="
-msgstr ""
-
-msgid ""
-"  [hooks]\n"
+"preventing authenticating users from doing anything other than pushing\n"
+"or pulling. The hook is not safe to use if users have interactive\n"
+"shell access, as they can then disable the hook. Nor is it safe if\n"
+"remote users share an account, because then there is no way to\n"
+"distinguish them."
+msgstr ""
+
+msgid "The order in which access checks are performed is:"
+msgstr ""
+
+msgid ""
+"1) Deny  list for branches (section ``acl.deny.branches``)\n"
+"2) Allow list for branches (section ``acl.allow.branches``)\n"
+"3) Deny  list for paths    (section ``acl.deny``)\n"
+"4) Allow list for paths    (section ``acl.allow``)"
+msgstr ""
+
+msgid "The allow and deny sections take key-value pairs."
+msgstr ""
+
+msgid ""
+"Branch-based Access Control\n"
+"..........................."
+msgstr ""
+
+msgid ""
+"Use the ``acl.deny.branches`` and ``acl.allow.branches`` sections to\n"
+"have branch-based access control. Keys in these sections can be\n"
+"either:"
+msgstr ""
+
+msgid ""
+"- a branch name, or\n"
+"- an asterisk, to match any branch;"
+msgstr ""
+
+msgid "The corresponding values can be either:"
+msgstr ""
+
+msgid ""
+"- a comma-separated list containing users and groups, or\n"
+"- an asterisk, to match anyone;"
+msgstr ""
+
+msgid ""
+"Path-based Access Control\n"
+"........................."
+msgstr ""
+
+msgid ""
+"Use the ``acl.deny`` and ``acl.allow`` sections to have path-based\n"
+"access control. Keys in these sections accept a subtree pattern (with\n"
+"a glob syntax by default). The corresponding values follow the same\n"
+"syntax as the other sections above."
+msgstr ""
+
+msgid ""
+"Groups\n"
+"......"
+msgstr ""
+
+msgid ""
+"Group names must be prefixed with an ``@`` symbol. Specifying a group\n"
+"name has the same effect as specifying all the users in that group."
+msgstr ""
+
+msgid ""
+"You can define group members in the ``acl.groups`` section.\n"
+"If a group name is not defined there, and Mercurial is running under\n"
+"a Unix-like system, the list of users will be taken from the OS.\n"
+"Otherwise, an exception will be raised."
+msgstr ""
+
+msgid ""
+"Example Configuration\n"
+"....................."
+msgstr ""
+
+msgid "::"
+msgstr ""
+
+msgid "  [hooks]"
+msgstr ""
+
+msgid ""
+"  # Use this if you want to check access restrictions at commit time\n"
+"  pretxncommit.acl = python:hgext.acl.hook"
+msgstr ""
+
+msgid ""
+"  # Use this if you want to check access restrictions for pull, push,\n"
+"  # bundle and serve.\n"
 "  pretxnchangegroup.acl = python:hgext.acl.hook"
 msgstr ""
 
 msgid ""
 "  [acl]\n"
-"  # Check whether the source of incoming changes is in this list\n"
-"  # (\"serve\" == ssh or http, \"push\", \"pull\", \"bundle\")\n"
+"  # Allow or deny access for incoming changes only if their source is\n"
+"  # listed here, let them pass otherwise. Source is \"serve\" for all\n"
+"  # remote access (http or ssh), \"push\", \"pull\" or \"bundle\" when the\n"
+"  # related commands are run locally.\n"
+"  # Default: serve\n"
 "  sources = serve"
 msgstr ""
 
-msgid ""
-"The allow and deny sections take a subtree pattern as key (with a glob\n"
-"syntax by default), and a comma separated list of users as the\n"
-"corresponding value. The deny list is checked before the allow list\n"
-"is. ::"
+msgid "  [acl.deny.branches]"
+msgstr ""
+
+msgid ""
+"  # Everyone is denied to the frozen branch:\n"
+"  frozen-branch = *"
+msgstr ""
+
+msgid ""
+"  # A bad user is denied on all branches:\n"
+"  * = bad-user"
+msgstr ""
+
+msgid "  [acl.allow.branches]"
+msgstr ""
+
+msgid ""
+"  # A few users are allowed on branch-a:\n"
+"  branch-a = user-1, user-2, user-3"
+msgstr ""
+
+msgid ""
+"  # Only one user is allowed on branch-b:\n"
+"  branch-b = user-1"
+msgstr ""
+
+msgid ""
+"  # The super user is allowed on any branch:\n"
+"  * = super-user"
+msgstr ""
+
+msgid ""
+"  # Everyone is allowed on branch-for-tests:\n"
+"  branch-for-tests = *"
+msgstr ""
+
+msgid ""
+"  [acl.deny]\n"
+"  # This list is checked first. If a match is found, acl.allow is not\n"
+"  # checked. All users are granted access if acl.deny is not present.\n"
+"  # Format for both lists: glob pattern = user, ..., @group, ..."
+msgstr ""
+
+msgid ""
+"  # To match everyone, use an asterisk for the user:\n"
+"  # my/glob/pattern = *"
+msgstr ""
+
+msgid ""
+"  # user6 will not have write access to any file:\n"
+"  ** = user6"
+msgstr ""
+
+msgid ""
+"  # Group \"hg-denied\" will not have write access to any file:\n"
+"  ** = @hg-denied"
+msgstr ""
+
+msgid ""
+"  # Nobody will be able to change \"DONT-TOUCH-THIS.txt\", despite\n"
+"  # everyone being able to change all other files. See below.\n"
+"  src/main/resources/DONT-TOUCH-THIS.txt = *"
 msgstr ""
 
 msgid ""
 "  [acl.allow]\n"
-"  # If acl.allow is not present, all users are allowed by default.\n"
-"  # An empty acl.allow section means no users allowed.\n"
-"  docs/** = doc_writer\n"
-"  .hgtags = release_engineer"
-msgstr ""
-
-msgid ""
-"  [acl.deny]\n"
-"  # If acl.deny is not present, no users are refused by default.\n"
-"  # An empty acl.deny section means all users allowed.\n"
-"  glob pattern = user4, user5\n"
-"   ** = user6\n"
-msgstr ""
-
-#, python-format
-msgid "config error - hook type \"%s\" cannot stop incoming changesets"
+"  # if acl.allow is not present, all users are allowed by default\n"
+"  # empty acl.allow = no users allowed"
+msgstr ""
+
+msgid ""
+"  # User \"doc_writer\" has write access to any file under the \"docs\"\n"
+"  # folder:\n"
+"  docs/** = doc_writer"
+msgstr ""
+
+msgid ""
+"  # User \"jack\" and group \"designers\" have write access to any file\n"
+"  # under the \"images\" folder:\n"
+"  images/** = jack, @designers"
+msgstr ""
+
+msgid ""
+"  # Everyone (except for \"user6\" - see acl.deny above) will have write\n"
+"  # access to any file under the \"resources\" folder (except for 1\n"
+"  # file. See acl.deny):\n"
+"  src/main/resources/** = *"
+msgstr ""
+
+msgid "  .hgtags = release_engineer"
+msgstr ""
+
+#, python-format
+msgid "group '%s' is undefined"
+msgstr "沒有定義'%s'群組"
+
+#, python-format
+msgid ""
+"config error - hook type \"%s\" cannot stop incoming changesets nor commits"
+msgstr ""
+
+#, python-format
+msgid "acl: user \"%s\" denied on branch \"%s\" (changeset \"%s\")"
+msgstr ""
+
+#, python-format
+msgid "acl: user \"%s\" not allowed on branch \"%s\" (changeset \"%s\")"
 msgstr ""
 
 #, python-format
 msgid "acl: access denied for changeset %s"
-msgstr ""
+msgstr "acl: changeset %s 拒絕存取"
 
 msgid "track a line of development with movable markers"
 msgstr ""
@@ -722,15 +288,15 @@
 msgstr ""
 
 msgid ""
-"It is possible to use bookmark names in every revision lookup (e.g. hg\n"
-"merge, hg update)."
+"It is possible to use bookmark names in every revision lookup (e.g.\n"
+":hg:`merge`, :hg:`update`)."
 msgstr ""
 
 msgid ""
 "By default, when several bookmarks point to the same changeset, they\n"
 "will all move forward together. It is possible to obtain a more\n"
 "git-like experience by adding the following configuration option to\n"
-"your .hgrc::"
+"your configuration file::"
 msgstr ""
 
 msgid ""
@@ -747,47 +313,134 @@
 msgid ""
 "    Bookmarks are pointers to certain commits that move when\n"
 "    committing. Bookmarks are local. They can be renamed, copied and\n"
-"    deleted. It is possible to use bookmark names in 'hg merge' and\n"
-"    'hg update' to merge and update respectively to a given bookmark."
-msgstr ""
-
-msgid ""
-"    You can use 'hg bookmark NAME' to set a bookmark on the working\n"
+"    deleted. It is possible to use bookmark names in :hg:`merge` and\n"
+"    :hg:`update` to merge and update respectively to a given bookmark."
+msgstr ""
+
+msgid ""
+"    You can use :hg:`bookmark NAME` to set a bookmark on the working\n"
 "    directory's parent revision with the given name. If you specify\n"
 "    a revision using -r REV (where REV may be an existing bookmark),\n"
-"    the bookmark is assigned to that revision.\n"
+"    the bookmark is assigned to that revision."
+msgstr ""
+
+msgid ""
+"    Bookmarks can be pushed and pulled between repositories (see :hg:`help\n"
+"    push` and :hg:`help pull`). This requires the bookmark extension to be\n"
+"    enabled for both the local and remote repositories.\n"
 "    "
 msgstr ""
 
 msgid "a bookmark of this name does not exist"
-msgstr ""
+msgstr "這個名字的書籤不存在"
 
 msgid "a bookmark of the same name already exists"
-msgstr ""
+msgstr "已經有相同名字的書籤了"
 
 msgid "new bookmark name required"
-msgstr ""
+msgstr "需要新的書籤名字"
 
 msgid "bookmark name required"
-msgstr ""
+msgstr "需要書籤的名字"
 
 msgid "bookmark name cannot contain newlines"
+msgstr "書籤名字不可以有換行字元"
+
+msgid "bookmark names cannot consist entirely of whitespace"
 msgstr ""
 
 msgid "a bookmark cannot have the name of an existing branch"
 msgstr ""
 
+msgid "no bookmarks set\n"
+msgstr "沒有設定書籤\n"
+
+#, python-format
+msgid "updating bookmark %s\n"
+msgstr "更新書籤 %s\n"
+
+#, python-format
+msgid "not updating divergent bookmark %s\n"
+msgstr "沒有更新分歧的書籤 %s\n"
+
+#, python-format
+msgid "updating bookmark %s failed!\n"
+msgstr "更新書籤 %s 失敗!\n"
+
+#, python-format
+msgid "remote bookmark %s not found!"
+msgstr "找不到 %s書籤"
+
+#, python-format
+msgid "importing bookmark %s\n"
+msgstr "匯入書籤 %s\n"
+
+#, python-format
+msgid "exporting bookmark %s\n"
+msgstr "匯出書籤 %s\n"
+
+#, python-format
+msgid "deleting remote bookmark %s\n"
+msgstr "刪除遠端書籤 %s\n"
+
+#, python-format
+msgid "bookmark %s does not exist on the local or remote repository!\n"
+msgstr "%s 書籤沒有在本地或遠端儲存庫!\n"
+
+#, fuzzy
+msgid "searching for changed bookmarks\n"
+msgstr "正在搜尋變更\n"
+
+#, fuzzy
+msgid "no changed bookmarks found\n"
+msgstr "找不到變更\n"
+
+#, python-format
+msgid "comparing with %s\n"
+msgstr "正在跟 %s 比對\n"
+
+msgid "bookmark to import"
+msgstr ""
+
+msgid "BOOKMARK"
+msgstr ""
+
+msgid "bookmark to export"
+msgstr ""
+
+msgid "compare bookmark"
+msgstr "比對書籤"
+
+msgid ""
+"``bookmark([name])``\n"
+"    The named bookmark or all bookmarks."
+msgstr ""
+
+#. i18n: "bookmark" is a keyword
+msgid "bookmark takes one or no arguments"
+msgstr "bookmark 需要一個參數或沒有參數"
+
+#. i18n: "bookmark" is a keyword
+msgid "the argument to bookmark must be a string"
+msgstr ""
+
 msgid "force"
 msgstr ""
 
+msgid "REV"
+msgstr ""
+
 msgid "revision"
-msgstr ""
+msgstr "修定版"
 
 msgid "delete a given bookmark"
+msgstr "刪除一個特定的書籤"
+
+msgid "NAME"
 msgstr ""
 
 msgid "rename a given bookmark"
-msgstr ""
+msgstr "更名一個特定的書籤"
 
 msgid "hg bookmarks [-f] [-d] [-m NAME] [-r REV] [NAME]"
 msgstr ""
@@ -992,25 +645,25 @@
 
 #, python-format
 msgid "connecting to %s:%s as %s, password %s\n"
-msgstr ""
+msgstr "正在連線到 %s:%s as %s, 密碼是 %s\n"
 
 #, python-format
 msgid "query: %s %s\n"
-msgstr ""
+msgstr "查詢: %s %s\n"
 
 #, python-format
 msgid "failed query: %s %s\n"
-msgstr ""
+msgstr "查詢失敗了: %s %s\n"
 
 msgid "unknown database schema"
-msgstr ""
+msgstr "未知的資料庫schema"
 
 #, python-format
 msgid "bug %d already knows about changeset %s\n"
 msgstr ""
 
 msgid "telling bugzilla to send mail:\n"
-msgstr ""
+msgstr "告訴bugzilla去寄信:\n"
 
 #, python-format
 msgid "  bug %s\n"
@@ -1018,30 +671,30 @@
 
 #, python-format
 msgid "running notify command %s\n"
-msgstr ""
+msgstr "執行通知命令 %s\n"
 
 #, python-format
 msgid "bugzilla notify command %s"
-msgstr ""
+msgstr "bugzilla 通知命令 %s"
 
 msgid "done\n"
-msgstr ""
+msgstr "完成\n"
 
 #, python-format
 msgid "looking up user %s\n"
-msgstr ""
+msgstr "查閱使用者 %s\n"
 
 #, python-format
 msgid "cannot find bugzilla user id for %s"
-msgstr ""
+msgstr "找不到 bugzilla 使用者%s 的 ID"
 
 #, python-format
 msgid "cannot find bugzilla user id for %s or %s"
-msgstr ""
+msgstr "找不到 bugzilla 使用者%s 或 %s的 ID"
 
 #, python-format
 msgid "bugzilla version %s not supported"
-msgstr ""
+msgstr "bugzilla版本 %s 不支援"
 
 msgid ""
 "changeset {node|short} in repo {root} refers to bug {bug}.\n"
@@ -1051,7 +704,7 @@
 
 #, python-format
 msgid "python mysql support not available: %s"
-msgstr ""
+msgstr "python mmysql 支援不能用: %s"
 
 #, python-format
 msgid "hook type %s does not pass a changeset id"
@@ -1059,7 +712,7 @@
 
 #, python-format
 msgid "database error: %s"
-msgstr ""
+msgstr "資料庫錯誤: %s"
 
 msgid "command to display child changesets"
 msgstr ""
@@ -1089,9 +742,8 @@
 msgid "Revision %d is a merge, ignoring...\n"
 msgstr ""
 
-#, python-format
-msgid "generating stats: %d%%"
-msgstr ""
+msgid "analyzing"
+msgstr "分析中"
 
 msgid "histogram of changes to the repository"
 msgstr ""
@@ -1138,7 +790,7 @@
 "    by providing a file using the following format::"
 msgstr ""
 
-msgid "      <alias email> <actual email>"
+msgid "      <alias email> = <actual email>"
 msgstr ""
 
 msgid ""
@@ -1147,15 +799,28 @@
 "    "
 msgstr ""
 
+#, python-format
+msgid "skipping malformed alias: %s\n"
+msgstr ""
+
 msgid "count rate for the specified revision or range"
 msgstr ""
 
+msgid "DATE"
+msgstr ""
+
 msgid "count rate for revisions matching date spec"
 msgstr ""
 
+msgid "TEMPLATE"
+msgstr ""
+
 msgid "template to group changesets"
 msgstr ""
 
+msgid "FORMAT"
+msgstr ""
+
 msgid "strftime-compatible format for grouping by date"
 msgstr ""
 
@@ -1165,21 +830,25 @@
 msgid "sort by key (default: sort by count)"
 msgstr ""
 
+msgid "display added/removed lines separately"
+msgstr ""
+
+msgid "FILE"
+msgstr ""
+
 msgid "file with email aliases"
 msgstr ""
 
-msgid "show progress"
-msgstr ""
-
-msgid "hg churn [-d DATE] [-r REV] [--aliases FILE] [--progress] [FILE]"
+msgid "hg churn [-d DATE] [-r REV] [--aliases FILE] [FILE]"
 msgstr ""
 
 msgid "colorize output from some commands"
 msgstr ""
 
 msgid ""
-"This extension modifies the status command to add color to its output\n"
-"to reflect file status, the qseries command to add color to reflect\n"
+"This extension modifies the status and resolve commands to add color to "
+"their\n"
+"output to reflect file status, the qseries command to add color to reflect\n"
 "patch status (applied, unapplied, missing), and to diff-related\n"
 "commands to highlight additions, removals, diff headers, and trailing\n"
 "whitespace."
@@ -1192,7 +861,7 @@
 "render_text function, which can be used to add effects to any text."
 msgstr ""
 
-msgid "Default effects may be overridden from the .hgrc file::"
+msgid "Default effects may be overridden from your configuration file::"
 msgstr ""
 
 msgid ""
@@ -1226,17 +895,50 @@
 "  diff.deleted = red\n"
 "  diff.inserted = green\n"
 "  diff.changed = white\n"
-"  diff.trailingwhitespace = bold red_background\n"
-msgstr ""
-
-msgid "when to colorize (always, auto, or never)"
-msgstr ""
-
-msgid "don't colorize output (DEPRECATED)"
+"  diff.trailingwhitespace = bold red_background"
+msgstr ""
+
+msgid ""
+"  resolve.unresolved = red bold\n"
+"  resolve.resolved = green bold"
+msgstr ""
+
+msgid "  bookmarks.current = green"
+msgstr ""
+
+msgid ""
+"  branches.active = none\n"
+"  branches.closed = black bold\n"
+"  branches.current = green\n"
+"  branches.inactive = none"
+msgstr ""
+
+msgid ""
+"The color extension will try to detect whether to use ANSI codes or\n"
+"Win32 console APIs, unless it is made explicit::"
+msgstr ""
+
+msgid ""
+"  [color]\n"
+"  mode = ansi"
+msgstr ""
+
+msgid "Any value other than 'ansi', 'win32', or 'auto' will disable color."
 msgstr ""
 
 #, python-format
 msgid "ignoring unknown color/effect %r (configured in color.%s)\n"
+msgstr "忽略未知的顏色/效果 %r (被設定在 color.%s)\n"
+
+msgid "win32console not found, please install pywin32\n"
+msgstr "找不到win32console,請安裝pywin32\n"
+
+#. i18n: 'always', 'auto', and 'never' are keywords and should
+#. not be translated
+msgid "when to colorize (boolean, always, auto, or never)"
+msgstr ""
+
+msgid "TYPE"
 msgstr ""
 
 msgid "import revisions from foreign VCS repositories into Mercurial"
@@ -1276,7 +978,7 @@
 
 msgid ""
 "    If no destination directory name is specified, it defaults to the\n"
-"    basename of the source with '-hg' appended. If the destination\n"
+"    basename of the source with ``-hg`` appended. If the destination\n"
 "    repository doesn't exist, it will be created."
 msgstr ""
 
@@ -1316,41 +1018,53 @@
 
 msgid ""
 "    If the file doesn't exist, it's automatically created. It's\n"
-"    updated on each commit copied, so convert-repo can be interrupted\n"
+"    updated on each commit copied, so :hg:`convert` can be interrupted\n"
 "    and can be run repeatedly to copy new commits."
 msgstr ""
 
 msgid ""
-"    The [username mapping] file is a simple text file that maps each\n"
-"    source commit author to a destination commit author. It is handy\n"
-"    for source SCMs that use unix logins to identify authors (eg:\n"
-"    CVS). One line per author mapping and the line format is:\n"
-"    srcauthor=whatever string you want"
+"    The authormap is a simple text file that maps each source commit\n"
+"    author to a destination commit author. It is handy for source SCMs\n"
+"    that use unix logins to identify authors (eg: CVS). One line per\n"
+"    author mapping and the line format is::"
+msgstr ""
+
+msgid "      source author = destination author"
+msgstr ""
+
+msgid "    Empty lines and lines starting with a ``#`` are ignored."
 msgstr ""
 
 msgid ""
 "    The filemap is a file that allows filtering and remapping of files\n"
-"    and directories. Comment lines start with '#'. Each line can\n"
-"    contain one of the following directives::"
-msgstr ""
-
-msgid "      include path/to/file"
-msgstr ""
-
-msgid "      exclude path/to/file"
-msgstr ""
-
-msgid "      rename from/file to/file"
-msgstr ""
-
-msgid ""
-"    The 'include' directive causes a file, or all files under a\n"
+"    and directories. Each line can contain one of the following\n"
+"    directives::"
+msgstr ""
+
+msgid "      include path/to/file-or-dir"
+msgstr ""
+
+msgid "      exclude path/to/file-or-dir"
+msgstr ""
+
+msgid "      rename path/to/source path/to/destination"
+msgstr ""
+
+msgid ""
+"    Comment lines start with ``#``. A specified path matches if it\n"
+"    equals the full relative name of a file or one of its parent\n"
+"    directories. The ``include`` or ``exclude`` directive with the\n"
+"    longest matching path applies, so line order does not matter."
+msgstr ""
+
+msgid ""
+"    The ``include`` directive causes a file, or all files under a\n"
 "    directory, to be included in the destination repository, and the\n"
 "    exclusion of all other files and directories not explicitly\n"
-"    included. The 'exclude' directive causes files or directories to\n"
-"    be omitted. The 'rename' directive renames a file or directory. To\n"
-"    rename from a subdirectory into the root of the repository, use\n"
-"    '.' as the path to rename to."
+"    included. The ``exclude`` directive causes files or directories to\n"
+"    be omitted. The ``rename`` directive renames a file or directory if\n"
+"    it is converted. To rename from a subdirectory into the root of\n"
+"    the repository, use ``.`` as the path to rename to."
 msgstr ""
 
 msgid ""
@@ -1359,11 +1073,21 @@
 "    useful if you want to e.g. give a Subversion merge two parents, or\n"
 "    graft two disconnected series of history together. Each entry\n"
 "    contains a key, followed by a space, followed by one or two\n"
-"    comma-separated values. The key is the revision ID in the source\n"
+"    comma-separated values::"
+msgstr ""
+
+msgid "      key parent1, parent2"
+msgstr ""
+
+msgid ""
+"    The key is the revision ID in the source\n"
 "    revision control system whose parents should be modified (same\n"
 "    format as a key in .hg/shamap). The values are the revision IDs\n"
 "    (in either the source or destination revision control system) that\n"
-"    should be used as the new parents for that node."
+"    should be used as the new parents for that node. For example, if\n"
+"    you have merged \"release-1.0\" into \"trunk\", then you should\n"
+"    specify the revision on \"trunk\" as the first parent and the one on\n"
+"    the \"release-1.0\" branch as the second."
 msgstr ""
 
 msgid ""
@@ -1372,16 +1096,23 @@
 "    conjunction with a splicemap, it allows for a powerful combination\n"
 "    to help fix even the most badly mismanaged repositories and turn them\n"
 "    into nicely structured Mercurial repositories. The branchmap contains\n"
-"    lines of the form \"original_branch_name new_branch_name\".\n"
-"    \"original_branch_name\" is the name of the branch in the source\n"
-"    repository, and \"new_branch_name\" is the name of the branch is the\n"
-"    destination repository. This can be used to (for instance) move code\n"
-"    in one repository from \"default\" to a named branch."
+"    lines of the form::"
+msgstr ""
+
+msgid "      original_branch_name new_branch_name"
+msgstr ""
+
+msgid ""
+"    where \"original_branch_name\" is the name of the branch in the\n"
+"    source repository, and \"new_branch_name\" is the name of the branch\n"
+"    is the destination repository. No whitespace is allowed in the\n"
+"    branch names. This can be used to (for instance) move code in one\n"
+"    repository from \"default\" to a named branch."
 msgstr ""
 
 msgid ""
 "    Mercurial Source\n"
-"    ----------------"
+"    ''''''''''''''''"
 msgstr ""
 
 msgid ""
@@ -1398,7 +1129,7 @@
 
 msgid ""
 "    CVS Source\n"
-"    ----------"
+"    ''''''''''"
 msgstr ""
 
 msgid ""
@@ -1434,7 +1165,16 @@
 "        Specify a regular expression to which commit log messages are\n"
 "        matched. If a match occurs, then the conversion process will\n"
 "        add the most recent revision on the branch indicated in the\n"
-"        regex as the second parent of the changeset."
+"        regex as the second parent of the changeset.\n"
+"    --config hook.cvslog\n"
+"        Specify a Python function to be called at the end of gathering\n"
+"        the CVS log. The function is passed a list with the log entries,\n"
+"        and can modify the entries in-place, or add or delete them.\n"
+"    --config hook.cvschangesets\n"
+"        Specify a Python function to be called after the changesets\n"
+"        are calculated from the the CVS log. The function is passed\n"
+"        a list with the changeset entries, and can modify the changesets\n"
+"        in-place, or add or delete them."
 msgstr ""
 
 msgid ""
@@ -1446,7 +1186,7 @@
 
 msgid ""
 "    Subversion Source\n"
-"    -----------------"
+"    '''''''''''''''''"
 msgstr ""
 
 msgid ""
@@ -1484,7 +1224,7 @@
 
 msgid ""
 "    Perforce Source\n"
-"    ---------------"
+"    '''''''''''''''"
 msgstr ""
 
 msgid ""
@@ -1508,7 +1248,7 @@
 
 msgid ""
 "    Mercurial Destination\n"
-"    ---------------------"
+"    '''''''''''''''''''''"
 msgstr ""
 
 msgid ""
@@ -1539,21 +1279,24 @@
 "    dates."
 msgstr ""
 
-msgid "username mapping filename"
+msgid "username mapping filename (DEPRECATED, use --authormap instead)"
+msgstr ""
+
+msgid "source repository type"
 msgstr ""
 
 msgid "destination repository type"
 msgstr ""
 
+msgid "import up to target revision REV"
+msgstr ""
+
+msgid "remap usernames using this file"
+msgstr ""
+
 msgid "remap file names using contents of file"
 msgstr ""
 
-msgid "import up to target revision REV"
-msgstr ""
-
-msgid "source repository type"
-msgstr ""
-
 msgid "splice synthesized history into place"
 msgstr ""
 
@@ -1605,15 +1348,24 @@
 msgid "hg debugcvsps [OPTION]... [PATH]..."
 msgstr ""
 
-msgid "warning: lightweight checkouts may cause conversion failures, try with a regular branch instead.\n"
+#, python-format
+msgid "%s does not look like a Bazaar repository"
+msgstr "%s 怎麼看都不像是一個 Bazaar 儲存庫"
+
+msgid "Bazaar modules could not be loaded"
+msgstr "Bazaar 模組不能載入"
+
+msgid ""
+"warning: lightweight checkouts may cause conversion failures, try with a "
+"regular branch instead.\n"
 msgstr ""
 
 msgid "bzr source type could not be determined\n"
-msgstr ""
+msgstr "bazaar 來源型態不能被決定\n"
 
 #, python-format
 msgid "%s is not a valid revision in current branch"
-msgstr ""
+msgstr "在目前的分支,%s不是一個有效的修定版"
 
 #, python-format
 msgid "%s is not available in %s anymore"
@@ -1621,15 +1373,15 @@
 
 #, python-format
 msgid "%s.%s symlink has no target"
-msgstr ""
+msgstr "%s.%s 符號連結沒有目標"
 
 #, python-format
 msgid "cannot find required \"%s\" tool"
-msgstr ""
+msgstr "找不到需要的 '%s' 工具"
 
 #, python-format
 msgid "%s error:\n"
-msgstr ""
+msgstr "%s 錯誤:\n"
 
 #, python-format
 msgid "syntax error in %s(%d): key/value pair expected"
@@ -1637,23 +1389,40 @@
 
 #, python-format
 msgid "could not open map file %r: %s"
-msgstr ""
+msgstr "不能打開 map 檔 %r: %s"
+
+#, python-format
+msgid "%s: invalid source repository type"
+msgstr "%s: 無效的來源儲存庫型態"
 
 #, python-format
 msgid "%s: missing or unsupported repository"
-msgstr ""
+msgstr "%s: 遺失了 或 不支援的儲存庫"
+
+#, python-format
+msgid "%s: invalid destination repository type"
+msgstr "%s: 未知的目的儲存庫型態"
 
 #, python-format
 msgid "convert: %s\n"
-msgstr ""
+msgstr "轉換: %s\n"
 
 #, python-format
 msgid "%s: unknown repository type"
-msgstr ""
+msgstr "%s: 未知的儲存庫型態"
+
+msgid "getting files"
+msgstr "取得檔案中..."
+
+msgid "revisions"
+msgstr "修定版"
+
+msgid "scanning"
+msgstr "掃描中"
 
 #, python-format
 msgid "unknown sort mode: %s"
-msgstr ""
+msgstr "未知的排序模式: %s"
 
 #, python-format
 msgid "cycle detected between %s and %s"
@@ -1683,27 +1452,34 @@
 msgstr ""
 
 msgid "scanning source...\n"
-msgstr ""
+msgstr "掃描 source 中\n"
 
 msgid "sorting...\n"
-msgstr ""
+msgstr "排序中\n"
 
 msgid "converting...\n"
-msgstr ""
+msgstr "轉換中...\n"
 
 #, python-format
 msgid "source: %s\n"
-msgstr ""
+msgstr "來源: %s\n"
+
+msgid "converting"
+msgstr "轉換中"
 
 #, python-format
 msgid "assuming destination %s\n"
 msgstr ""
 
 msgid "more than one sort mode specified"
-msgstr ""
+msgstr "描述了不只一個排序模式"
 
 msgid "--sourcesort is not supported by this data source"
-msgstr ""
+msgstr "--sourcesort 不支援這個資料來源"
+
+#, python-format
+msgid "%s does not look like a CVS checkout"
+msgstr "%s 怎麼看都不像是一個 CVS 的 checkout"
 
 #, python-format
 msgid "revision %s is not a patchset number"
@@ -1711,33 +1487,40 @@
 
 #, python-format
 msgid "connecting to %s\n"
-msgstr ""
+msgstr "連接到 %s\n"
 
 msgid "CVS pserver authentication failed"
 msgstr ""
 
 #, python-format
-msgid "unexpected response from CVS server (expected \"Valid-requests\", but got %r)"
+msgid ""
+"unexpected response from CVS server (expected \"Valid-requests\", but got %r)"
 msgstr ""
 
 #, python-format
 msgid "%d bytes missing from remote file"
-msgstr ""
+msgstr "從遠端檔案遺失了 %d 位元組s"
+
+msgid "malformed response from CVS"
+msgstr "從CVS那收到畸形的回應"
 
 #, python-format
 msgid "cvs server: %s\n"
-msgstr ""
+msgstr "cvs 伺服器: %s\n"
 
 #, python-format
 msgid "unknown CVS response: %s"
-msgstr ""
+msgstr "未知的CVS回應: %s"
 
 msgid "collecting CVS rlog\n"
-msgstr ""
+msgstr "收集 CVS rlog\n"
+
+msgid "not a CVS sandbox"
+msgstr "不是一個CVS sandbox"
 
 #, python-format
 msgid "reading cvs log cache %s\n"
-msgstr ""
+msgstr "讀取 cvs 紀錄快取(log cache) %s\n"
 
 #, python-format
 msgid "cache has %d log entries\n"
@@ -1745,11 +1528,11 @@
 
 #, python-format
 msgid "error reading cache: %r\n"
-msgstr ""
+msgstr "讀取快取錯誤: %r\n"
 
 #, python-format
 msgid "running %s\n"
-msgstr ""
+msgstr "正在執行 %s\n"
 
 msgid "RCS file must be followed by working file"
 msgstr ""
@@ -1763,9 +1546,12 @@
 msgid "revision must be followed by date line"
 msgstr ""
 
+msgid "log cache overlaps with new log entries, re-run without cache."
+msgstr ""
+
 #, python-format
 msgid "writing cvs log cache %s\n"
-msgstr ""
+msgstr "寫入 CVS 紀錄快取(log cache) %s\n"
 
 #, python-format
 msgid "%d log entries\n"
@@ -1788,11 +1574,22 @@
 msgstr ""
 
 #, python-format
+msgid "%s does not look like a darcs repository"
+msgstr "%s 怎麼看都不像是一個 darcs 儲存庫"
+
+#, python-format
 msgid "darcs version 2.1 or newer needed (found %r)"
-msgstr ""
+msgstr "需要 darcs 版本2.1以上 (找到的是 %r)"
 
 msgid "Python ElementTree module is not available"
-msgstr ""
+msgstr "Python ElementTree module 不能用"
+
+#, python-format
+msgid "%s repository format is unsupported, please upgrade"
+msgstr "%s 儲存庫格式不支援,請更新"
+
+msgid "failed to detect repository format!"
+msgstr "偵測儲存庫格式失敗!"
 
 msgid "internal calling inconsistency"
 msgstr ""
@@ -1801,10 +1598,18 @@
 msgstr ""
 
 #, python-format
+msgid "%s:%d: path to %s is missing\n"
+msgstr ""
+
+#, python-format
 msgid "%s:%d: %r already in %s list\n"
 msgstr ""
 
 #, python-format
+msgid "%s:%d: superfluous / in %s %r\n"
+msgstr ""
+
+#, python-format
 msgid "%s:%d: unknown directive %r\n"
 msgstr ""
 
@@ -1812,18 +1617,38 @@
 msgstr ""
 
 #, python-format
-msgid "%s does not look like a GNU Arch repo"
-msgstr ""
+msgid "%s does not look like a Git repository"
+msgstr "%s 怎麼看都不像是一個 Git 儲存庫"
+
+msgid "cannot retrieve git heads"
+msgstr "不能取回git標頭"
+
+#, python-format
+msgid "cannot read %r object at %s"
+msgstr ""
+
+#, python-format
+msgid "cannot read changes in %s"
+msgstr "不能在%s讀取變更"
+
+#, python-format
+msgid "cannot read tags from %s"
+msgstr "不能從%s讀取標記"
+
+#, python-format
+msgid "%s does not look like a GNU Arch repository"
+msgstr "%s 怎麼看都不像是一個 GNU Arch 儲存庫"
 
 msgid "cannot find a GNU Arch tool"
-msgstr ""
+msgstr "找不到 GNU arch 工具"
 
 #, python-format
 msgid "analyzing tree version %s...\n"
 msgstr ""
 
 #, python-format
-msgid "tree analysis stopped because it points to an unregistered archive %s...\n"
+msgid ""
+"tree analysis stopped because it points to an unregistered archive %s...\n"
 msgstr ""
 
 #, python-format
@@ -1831,14 +1656,18 @@
 msgstr ""
 
 #, python-format
-msgid "%s is not a local Mercurial repo"
-msgstr ""
+msgid "%s is not a local Mercurial repository"
+msgstr "%s 不是一個本地端的 Mercurial 儲存庫"
 
 #, python-format
 msgid "initializing destination %s repository\n"
 msgstr ""
 
 #, python-format
+msgid "could not create hg repository %s as sink"
+msgstr ""
+
+#, python-format
 msgid "pulling from %s into %s\n"
 msgstr ""
 
@@ -1846,33 +1675,46 @@
 msgstr ""
 
 msgid "updating tags\n"
-msgstr ""
+msgstr "正在更新標記\n"
 
 #, python-format
 msgid "%s is not a valid start revision"
-msgstr ""
+msgstr "%s 不是一個有效的開始修定版"
 
 #, python-format
 msgid "ignoring: %s\n"
-msgstr ""
-
-#, python-format
-msgid "%s does not look like a monotone repo"
-msgstr ""
+msgstr "忽略: %s\n"
+
+#, python-format
+msgid "%s does not look like a monotone repository"
+msgstr "%s 怎麼看都不像是一個monotone 儲存庫"
 
 #, python-format
 msgid "copying file in renamed directory from '%s' to '%s'"
 msgstr ""
 
+#, python-format
+msgid "%s does not look like a P4 repository"
+msgstr "%s 怎麼看都不像是一個 P4 儲存庫"
+
 msgid "reading p4 views\n"
-msgstr ""
+msgstr "正在讀取P4視區\n"
 
 msgid "collecting p4 changelists\n"
-msgstr ""
+msgstr "收集P4變更列表\n"
 
 msgid "Mercurial failed to run itself, check hg executable is in PATH"
 msgstr ""
 
+msgid ""
+"svn: cannot probe remote repository, assume it could be a subversion "
+"repository. Use --source-type if you know better.\n"
+msgstr ""
+
+#, python-format
+msgid "%s does not look like a Subversion repository"
+msgstr "%s 怎麼看都不像是一個 Subversion 儲存庫"
+
 msgid "Subversion python bindings could not be loaded"
 msgstr ""
 
@@ -1885,15 +1727,15 @@
 
 #, python-format
 msgid "svn: revision %s is not an integer"
-msgstr ""
+msgstr "svn:修定版 %s 不是一個整數"
 
 #, python-format
 msgid "svn: start revision %s is not an integer"
-msgstr ""
+msgstr "svn:開始修定版%s不是一個整數"
 
 #, python-format
 msgid "no revision found in module %s"
-msgstr ""
+msgstr "在%s模組中找不到修定版"
 
 #, python-format
 msgid "expected %s to be at %r, but not found"
@@ -1901,15 +1743,15 @@
 
 #, python-format
 msgid "found %s at %r\n"
-msgstr ""
+msgstr "找到%s在%r\n"
 
 #, python-format
 msgid "ignoring empty branch %s\n"
-msgstr ""
+msgstr "忽略空白的分支 %s\n"
 
 #, python-format
 msgid "found branch %s at %d\n"
-msgstr ""
+msgstr "找到分支 %s 在 %d\n"
 
 msgid "svn: start revision is not supported with more than one branch"
 msgstr ""
@@ -1919,13 +1761,12 @@
 msgstr ""
 
 #, python-format
-msgid "no tags found at revision %d\n"
-msgstr ""
-
-#, python-format
 msgid "%s not found up to revision %d"
 msgstr ""
 
+msgid "scanning paths"
+msgstr "掃描 補丁 中"
+
 #, python-format
 msgid "found parent of branch %s at %d: %s\n"
 msgstr ""
@@ -1936,23 +1777,132 @@
 
 #, python-format
 msgid "svn: branch has no revision %s"
-msgstr ""
-
-#, python-format
-msgid "initializing svn repo %r\n"
-msgstr ""
-
-#, python-format
-msgid "initializing svn wc %r\n"
-msgstr ""
+msgstr "svn:分支沒有修定版 %s"
+
+#, python-format
+msgid "initializing svn repository %r\n"
+msgstr "正在初始化subversion儲存庫%r\n"
+
+#, python-format
+msgid "initializing svn working copy %r\n"
+msgstr "初始 Subversion 工作副本 %r\n"
 
 msgid "unexpected svn output:\n"
-msgstr ""
+msgstr "意料之外的Subversion 輸出:\n"
 
 msgid "unable to cope with svn output"
 msgstr ""
 
-msgid "XXX TAGS NOT IMPLEMENTED YET\n"
+msgid "writing Subversion tags is not yet implemented\n"
+msgstr "還沒有實作 '寫入Subversion標記' 這個功能\n"
+
+msgid "automatically manage newlines in repository files"
+msgstr ""
+
+msgid ""
+"This extension allows you to manage the type of line endings (CRLF or\n"
+"LF) that are used in the repository and in the local working\n"
+"directory. That way you can get CRLF line endings on Windows and LF on\n"
+"Unix/Mac, thereby letting everybody use their OS native line endings."
+msgstr ""
+
+msgid ""
+"The extension reads its configuration from a versioned ``.hgeol``\n"
+"configuration file every time you run an ``hg`` command. The\n"
+"``.hgeol`` file use the same syntax as all other Mercurial\n"
+"configuration files. It uses two sections, ``[patterns]`` and\n"
+"``[repository]``."
+msgstr ""
+
+msgid ""
+"The ``[patterns]`` section specifies the line endings used in the\n"
+"working directory. The format is specified by a file pattern. The\n"
+"first match is used, so put more specific patterns first. The\n"
+"available line endings are ``LF``, ``CRLF``, and ``BIN``."
+msgstr ""
+
+msgid ""
+"Files with the declared format of ``CRLF`` or ``LF`` are always\n"
+"checked out in that format and files declared to be binary (``BIN``)\n"
+"are left unchanged. Additionally, ``native`` is an alias for the\n"
+"platform's default line ending: ``LF`` on Unix (including Mac OS X)\n"
+"and ``CRLF`` on Windows. Note that ``BIN`` (do nothing to line\n"
+"endings) is Mercurial's default behaviour; it is only needed if you\n"
+"need to override a later, more general pattern."
+msgstr ""
+
+msgid ""
+"The optional ``[repository]`` section specifies the line endings to\n"
+"use for files stored in the repository. It has a single setting,\n"
+"``native``, which determines the storage line endings for files\n"
+"declared as ``native`` in the ``[patterns]`` section. It can be set to\n"
+"``LF`` or ``CRLF``. The default is ``LF``. For example, this means\n"
+"that on Windows, files configured as ``native`` (``CRLF`` by default)\n"
+"will be converted to ``LF`` when stored in the repository. Files\n"
+"declared as ``LF``, ``CRLF``, or ``BIN`` in the ``[patterns]`` section\n"
+"are always stored as-is in the repository."
+msgstr ""
+
+msgid "Example versioned ``.hgeol`` file::"
+msgstr ""
+
+msgid ""
+"  [patterns]\n"
+"  **.py = native\n"
+"  **.vcproj = CRLF\n"
+"  **.txt = native\n"
+"  Makefile = LF\n"
+"  **.jpg = BIN"
+msgstr ""
+
+msgid ""
+"  [repository]\n"
+"  native = LF"
+msgstr ""
+
+msgid ""
+"The extension uses an optional ``[eol]`` section in your hgrc file\n"
+"(not the ``.hgeol`` file) for settings that control the overall\n"
+"behavior. There are two settings:"
+msgstr ""
+
+msgid ""
+"- ``eol.native`` (default ``os.linesep``) can be set to ``LF`` or\n"
+"  ``CRLF`` to override the default interpretation of ``native`` for\n"
+"  checkout. This can be used with :hg:`archive` on Unix, say, to\n"
+"  generate an archive where files have line endings for Windows."
+msgstr ""
+
+msgid ""
+"- ``eol.only-consistent`` (default True) can be set to False to make\n"
+"  the extension convert files with inconsistent EOLs. Inconsistent\n"
+"  means that there is both ``CRLF`` and ``LF`` present in the file.\n"
+"  Such files are normally not touched under the assumption that they\n"
+"  have mixed EOLs on purpose."
+msgstr ""
+
+msgid ""
+"See :hg:`help patterns` for more information about the glob patterns\n"
+"used.\n"
+msgstr ""
+
+#, python-format
+msgid "%s should not have CRLF line endings"
+msgstr "%s 不應該有CRLF結束"
+
+#, python-format
+msgid "%s should not have LF line endings"
+msgstr "%s 不應該有LF結束"
+
+msgid "the eol extension is incompatible with the win32text extension"
+msgstr ""
+
+#, python-format
+msgid "ignoring unknown EOL style '%s' from %s\n"
+msgstr "忽略未知的換行型態 '%s' 從 %s\n"
+
+#, python-format
+msgid "inconsistent newline style in %s\n"
 msgstr ""
 
 msgid "command to allow external programs to compare revisions"
@@ -1968,7 +1918,7 @@
 
 msgid ""
 "The extdiff extension also allows to configure new diff commands, so\n"
-"you do not need to type \"hg extdiff -p kdiff3\" always. ::"
+"you do not need to type :hg:`extdiff -p kdiff3` always. ::"
 msgstr ""
 
 msgid ""
@@ -1998,11 +1948,36 @@
 "  vimdiff = gvim -f '+next' '+execute \"DirDiff\" argv(0) argv(1)'"
 msgstr ""
 
-msgid ""
-"You can use -I/-X and list of file or directory names like normal \"hg\n"
-"diff\" command. The extdiff extension makes snapshots of only needed\n"
-"files, so running the external diff program will actually be pretty\n"
-"fast (at least faster than having to compare the entire tree).\n"
+msgid "Tool arguments can include variables that are expanded at runtime::"
+msgstr ""
+
+msgid ""
+"  $parent1, $plabel1 - filename, descriptive label of first parent\n"
+"  $child,   $clabel  - filename, descriptive label of child revision\n"
+"  $parent2, $plabel2 - filename, descriptive label of second parent\n"
+"  $parent is an alias for $parent1."
+msgstr ""
+
+msgid ""
+"The extdiff extension will look in your [diff-tools] and [merge-tools]\n"
+"sections for diff tool arguments, when none are specified in [extdiff]."
+msgstr ""
+
+msgid ""
+"  [extdiff]\n"
+"  kdiff3 ="
+msgstr ""
+
+msgid ""
+"  [diff-tools]\n"
+"  kdiff3.diffargs=--L1 '$plabel1' --L2 '$clabel' $parent $child"
+msgstr ""
+
+msgid ""
+"You can use -I/-X and list of file or directory names like normal\n"
+":hg:`diff` command. The extdiff extension makes snapshots of only\n"
+"needed files, so running the external diff program will actually be\n"
+"pretty fast (at least faster than having to compare the entire tree).\n"
 msgstr ""
 
 #, python-format
@@ -2014,10 +1989,10 @@
 msgstr ""
 
 msgid "cannot specify --rev and --change at the same time"
-msgstr ""
+msgstr "不可以同時描述 --rev 跟 --change"
 
 msgid "cleaning up temp directory\n"
-msgstr ""
+msgstr "清掉暫存目錄\n"
 
 msgid "use external program to diff repository (or selected files)"
 msgstr ""
@@ -2043,9 +2018,15 @@
 "    to its parent."
 msgstr ""
 
+msgid "CMD"
+msgstr ""
+
 msgid "comparison program to run"
 msgstr ""
 
+msgid "OPT"
+msgstr ""
+
 msgid "pass option to comparison program"
 msgstr ""
 
@@ -2061,16 +2042,8 @@
 
 #, python-format
 msgid ""
-"    Show differences between revisions for the specified files, using the\n"
-"    %(path)s program."
-msgstr ""
-
-#, python-format
-msgid ""
-"    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"
-"    the working directory files are compared to its parent."
+"    Show differences between revisions for the specified files, using\n"
+"    the %(path)s program."
 msgstr ""
 
 #, python-format
@@ -2102,12 +2075,16 @@
 "    order, use --switch-parent."
 msgstr ""
 
-msgid ""
-"    See 'hg help dates' for a list of formats valid for -d/--date.\n"
+msgid "    See :hg:`help dates` for a list of formats valid for -d/--date."
+msgstr ""
+
+msgid ""
+"    Returns 0 on success.\n"
 "    "
 msgstr ""
 
-msgid "working dir not at branch tip (use \"hg update\" to check out branch tip)"
+msgid ""
+"working dir not at branch tip (use \"hg update\" to check out branch tip)"
 msgstr ""
 
 msgid "outstanding uncommitted merge"
@@ -2117,29 +2094,34 @@
 msgstr ""
 
 msgid "working directory is missing some files"
-msgstr ""
-
-msgid "multiple heads in this branch (use \"hg heads .\" and \"hg merge\" to merge)"
-msgstr ""
+msgstr "工作目錄遺失了一些檔案"
+
+msgid ""
+"multiple heads in this branch (use \"hg heads .\" and \"hg merge\" to merge)"
+msgstr "這個分支有多個標頭(使用'hg heads .' 和 'hg merge' 去合併)"
 
 #, python-format
 msgid "pulling from %s\n"
-msgstr ""
-
-msgid "Other repository doesn't support revision lookup, so a rev cannot be specified."
-msgstr ""
-
-#, python-format
-msgid "not merging with %d other new branch heads (use \"hg heads .\" and \"hg merge\" to merge them)\n"
+msgstr "從 %s 拉回中\n"
+
+msgid ""
+"Other repository doesn't support revision lookup, so a rev cannot be "
+"specified."
+msgstr "其他儲存庫不支援修定版查閱,所以不能描述一個修定版"
+
+#, python-format
+msgid ""
+"not merging with %d other new branch heads (use \"hg heads .\" and \"hg merge"
+"\" to merge them)\n"
 msgstr ""
 
 #, python-format
 msgid "updating to %d:%s\n"
-msgstr ""
+msgstr "更新到%d:%s ...\n"
 
 #, python-format
 msgid "merging with %d:%s\n"
-msgstr ""
+msgstr "跟%d合併:%s ...\n"
 
 #, python-format
 msgid "new changeset %d:%s merges remote changes with local\n"
@@ -2149,7 +2131,7 @@
 msgstr ""
 
 msgid "edit commit message"
-msgstr ""
+msgstr "編輯提交訊息"
 
 msgid "edit commit message (DEPRECATED)"
 msgstr ""
@@ -2183,7 +2165,7 @@
 
 #, python-format
 msgid "%s:%d node does not exist\n"
-msgstr ""
+msgstr "%s:%d 節點不存在\n"
 
 msgid "verify all the signatures there may be for a particular revision"
 msgstr ""
@@ -2200,13 +2182,24 @@
 "    or tip if no revision is checked out."
 msgstr ""
 
+msgid ""
+"    See :hg:`help dates` for a list of formats valid for -d/--date.\n"
+"    "
+msgstr ""
+
 msgid "uncommitted merge - please provide a specific revision"
 msgstr ""
 
-msgid "Error while signing"
-msgstr ""
-
-msgid "working copy of .hgsigs is changed (please commit .hgsigs manually or use --force)"
+#, python-format
+msgid "Signing %d:%s\n"
+msgstr ""
+
+msgid "error while signing"
+msgstr ""
+
+msgid ""
+"working copy of .hgsigs is changed (please commit .hgsigs manually or use --"
+"force)"
 msgstr ""
 
 msgid "unknown signature version"
@@ -2221,11 +2214,17 @@
 msgid "do not commit the sigfile after signing"
 msgstr ""
 
+msgid "ID"
+msgstr ""
+
 msgid "the key id to sign with"
 msgstr ""
 
+msgid "TEXT"
+msgstr ""
+
 msgid "commit message"
-msgstr ""
+msgstr "提交訊息"
 
 msgid "hg sign [OPTION]... [REVISION]..."
 msgstr ""
@@ -2263,16 +2262,12 @@
 "    "
 msgstr ""
 
-#, python-format
-msgid "comparing with %s\n"
-msgstr ""
-
-msgid "no changes found\n"
-msgstr ""
-
 msgid "show the revision DAG"
 msgstr ""
 
+msgid "NUM"
+msgstr ""
+
 msgid "limit number of changes displayed"
 msgstr ""
 
@@ -2330,6 +2325,10 @@
 msgstr ""
 
 #, python-format
+msgid "%s returned an error: %s"
+msgstr ""
+
+#, python-format
 msgid "hgcia: sending update to %s\n"
 msgstr ""
 
@@ -2354,9 +2353,9 @@
 msgstr ""
 
 msgid ""
-"The hg view command will launch the hgk Tcl script. For this command\n"
+"The :hg:`view` command will launch the hgk Tcl script. For this command\n"
 "to work, hgk must be in your search path. Alternately, you can specify\n"
-"the path to hgk in your .hgrc file::"
+"the path to hgk in your configuration file::"
 msgstr ""
 
 msgid ""
@@ -2389,7 +2388,7 @@
 msgstr ""
 
 msgid "cat-file: type or revision not supplied\n"
-msgstr ""
+msgstr "cat-file:型態或修定版不支援\n"
 
 msgid "aborting hg cat-file only understands commits\n"
 msgstr ""
@@ -2511,22 +2510,22 @@
 msgid "hg inserve [OPTION]..."
 msgstr ""
 
-msgid "(found dead inotify server socket; removing it)\n"
-msgstr ""
-
-#, python-format
-msgid "could not start inotify server: %s\n"
-msgstr ""
-
-#, python-format
-msgid "could not talk to new inotify server: %s\n"
-msgstr ""
-
-#, python-format
-msgid "failed to contact inotify server: %s\n"
-msgstr ""
-
-msgid "received empty answer from inotify server"
+msgid "inotify-client: found dead inotify server socket; removing it\n"
+msgstr ""
+
+#, python-format
+msgid "inotify-client: could not start inotify server: %s\n"
+msgstr ""
+
+#, python-format
+msgid "inotify-client: could not talk to new inotify server: %s\n"
+msgstr ""
+
+#, python-format
+msgid "inotify-client: failed to contact inotify server: %s\n"
+msgstr ""
+
+msgid "inotify-client: received empty answer from inotify server"
 msgstr ""
 
 #, python-format
@@ -2552,7 +2551,7 @@
 
 #, python-format
 msgid "found %d\n"
-msgstr ""
+msgstr "找到 %d\n"
 
 #, python-format
 msgid "*** to raise the limit from %d to %d (run as root):\n"
@@ -2579,21 +2578,6 @@
 msgstr ""
 
 #, python-format
-msgid "status: %r %s -> %s\n"
-msgstr ""
-
-#, python-format
-msgid "%s dirstate reload\n"
-msgstr ""
-
-#, python-format
-msgid "%s end dirstate reload\n"
-msgstr ""
-
-msgid "rescanning due to .hgignore change\n"
-msgstr ""
-
-#, python-format
 msgid "%s event: created %s\n"
 msgstr ""
 
@@ -2625,8 +2609,22 @@
 msgid "%s hooking back up with %d bytes readable\n"
 msgstr ""
 
-#, python-format
-msgid "could not start server: %s"
+msgid "finished setup\n"
+msgstr ""
+
+#, python-format
+msgid "status: %r %s -> %s\n"
+msgstr ""
+
+msgid "rescanning due to .hgignore change\n"
+msgstr ""
+
+msgid "cannot start: socket is already bound"
+msgstr ""
+
+msgid ""
+"cannot start: tried linking .hg/inotify.sock to a temporary socket but .hg/"
+"inotify.sock already exists"
 msgstr ""
 
 #, python-format
@@ -2641,9 +2639,6 @@
 msgid "unrecognized query type: %s\n"
 msgstr ""
 
-msgid "finished setup\n"
-msgstr ""
-
 msgid "expand expressions into changelog and summaries"
 msgstr ""
 
@@ -2661,7 +2656,8 @@
 msgid ""
 "  [interhg]\n"
 "  issues = s!issue(\\d+)!<a href=\"http://bts/issue\\1\">issue\\1</a>!\n"
-"  bugzilla = s!((?:bug|b=|(?=#?\\d{4,}))(?:\\s*#?)(\\d+))!<a..=\\2\">\\1</a>!i\n"
+"  bugzilla = s!((?:bug|b=|(?=#?\\d{4,}))(?:\\s*#?)(\\d+))!<a..=\\2\">\\1</a>!"
+"i\n"
 "  boldify = s!(^|\\s)#(\\d+)\\b! <b>#\\2</b>!\n"
 msgstr ""
 
@@ -2688,8 +2684,13 @@
 msgstr ""
 
 msgid ""
-"Configuration is done in the [keyword] and [keywordmaps] sections of\n"
-"hgrc files."
+"Keywords expand to the changeset data pertaining to the latest change\n"
+"relative to the working directory parent of each file."
+msgstr ""
+
+msgid ""
+"Configuration is done in the [keyword], [keywordset] and [keywordmaps]\n"
+"sections of hgrc files."
 msgstr ""
 
 msgid "Example::"
@@ -2703,43 +2704,47 @@
 msgstr ""
 
 msgid ""
-"NOTE: the more specific you are in your filename patterns the less you\n"
-"lose speed in huge repositories."
+"    [keywordset]\n"
+"    # prefer svn- over cvs-like default keywordmaps\n"
+"    svn = True"
+msgstr ""
+
+msgid ""
+".. note::\n"
+"   The more specific you are in your filename patterns the less you\n"
+"   lose speed in huge repositories."
 msgstr ""
 
 msgid ""
 "For [keywordmaps] template mapping and expansion demonstration and\n"
-"control run \"hg kwdemo\". See \"hg help templates\" for a list of\n"
+"control run :hg:`kwdemo`. See :hg:`help templates` for a list of\n"
 "available templates and filters."
 msgstr ""
 
-msgid ""
-"An additional date template filter {date|utcdate} is provided. It\n"
-"returns a date like \"2006/09/18 15:13:13\"."
-msgstr ""
-
-msgid ""
-"The default template mappings (view with \"hg kwdemo -d\") can be\n"
-"replaced with customized keywords and templates. Again, run \"hg\n"
-"kwdemo\" to control the results of your config changes."
-msgstr ""
-
-msgid ""
-"Before changing/disabling active keywords, run \"hg kwshrink\" to avoid\n"
+msgid "Three additional date template filters are provided::"
+msgstr ""
+
+msgid ""
+"    utcdate      \"2006/09/18 15:13:13\"\n"
+"    svnutcdate   \"2006-09-18 15:13:13Z\"\n"
+"    svnisodate   \"2006-09-18 08:13:13 -700 (Mon, 18 Sep 2006)\""
+msgstr ""
+
+msgid ""
+"The default template mappings (view with :hg:`kwdemo -d`) can be\n"
+"replaced with customized keywords and templates. Again, run\n"
+":hg:`kwdemo` to control the results of your config changes."
+msgstr ""
+
+msgid ""
+"Before changing/disabling active keywords, run :hg:`kwshrink` to avoid\n"
 "the risk of inadvertently storing expanded keywords in the change\n"
 "history."
 msgstr ""
 
 msgid ""
 "To force expansion after enabling it, or a configuration change, run\n"
-"\"hg kwexpand\"."
-msgstr ""
-
-msgid ""
-"Also, when committing with the record extension or using mq's qrecord,\n"
-"be aware that keywords cannot be updated. Again, run \"hg kwexpand\" on\n"
-"the files in question to update keyword expansions after all changes\n"
-"have been checked in."
+":hg:`kwexpand`."
 msgstr ""
 
 msgid ""
@@ -2779,7 +2784,7 @@
 msgstr ""
 
 msgid ""
-"    See \"hg help templates\" for information on templates and filters.\n"
+"    See :hg:`help templates` for information on templates and filters.\n"
 "    "
 msgstr ""
 
@@ -2817,7 +2822,7 @@
 "keywords written to %s:\n"
 msgstr ""
 
-msgid "unhooked all commit hooks\n"
+msgid "hg keyword configuration and expansion example"
 msgstr ""
 
 msgid ""
@@ -2851,7 +2856,7 @@
 msgstr ""
 
 msgid ""
-"    See \"hg help keyword\" on how to construct patterns both for\n"
+"    See :hg:`help keyword` on how to construct patterns both for\n"
 "    inclusion and exclusion of files."
 msgstr ""
 
@@ -2873,7 +2878,7 @@
 
 msgid ""
 "    Run before changing/disabling active keywords or if you experience\n"
-"    problems with \"hg import\" or \"hg merge\"."
+"    problems with :hg:`import` or :hg:`merge`."
 msgstr ""
 
 msgid ""
@@ -2902,12 +2907,6 @@
 msgid "only show unknown (not tracked) files"
 msgstr ""
 
-msgid "show keyword status flags of all files (DEPRECATED)"
-msgstr ""
-
-msgid "only show untracked files (DEPRECATED)"
-msgstr ""
-
 msgid "hg kwfiles [OPTION]... [FILE]..."
 msgstr ""
 
@@ -2928,11 +2927,10 @@
 "directory. Applied patches are both patch files and changesets."
 msgstr ""
 
-msgid "Common tasks (use \"hg help command\" for more details)::"
-msgstr ""
-
-msgid ""
-"  prepare repository to work with patches   qinit\n"
+msgid "Common tasks (use :hg:`help command` for more details)::"
+msgstr ""
+
+msgid ""
 "  create new patch                          qnew\n"
 "  import existing patch                     qimport"
 msgstr ""
@@ -2945,7 +2943,34 @@
 msgid ""
 "  add known patch to applied stack          qpush\n"
 "  remove patch from applied stack           qpop\n"
-"  refresh contents of top applied patch     qrefresh\n"
+"  refresh contents of top applied patch     qrefresh"
+msgstr ""
+
+msgid ""
+"By default, mq will automatically use git patches when required to\n"
+"avoid losing file mode changes, copy records, binary files or empty\n"
+"files creations or deletions. This behaviour can be configured with::"
+msgstr ""
+
+msgid ""
+"  [mq]\n"
+"  git = auto/keep/yes/no"
+msgstr ""
+
+msgid ""
+"If set to 'keep', mq will obey the [diff] section configuration while\n"
+"preserving existing git patches upon qrefresh. If set to 'yes' or\n"
+"'no', mq will override the [diff] section and always generate git or\n"
+"regular patches, possibly losing data in the second case."
+msgstr ""
+
+msgid ""
+"You will by default be managing a patch queue named \"patches\". You can\n"
+"create other, independent patch queues with the :hg:`qqueue` command.\n"
+msgstr ""
+
+#, python-format
+msgid "mq.git option can be auto/keep/yes/no got %s"
 msgstr ""
 
 #, python-format
@@ -3027,26 +3052,20 @@
 
 #, python-format
 msgid "applying %s\n"
-msgstr ""
+msgstr "正在套用 %s\n"
 
 #, python-format
 msgid "unable to read %s\n"
 msgstr ""
 
 #, python-format
-msgid "imported patch %s\n"
-msgstr ""
-
-#, python-format
-msgid ""
-"\n"
-"imported patch %s"
-msgstr ""
-
-#, python-format
 msgid "patch %s is empty\n"
 msgstr ""
 
+#, fuzzy
+msgid "repository commit failed"
+msgstr "找不到 %s 儲存庫"
+
 msgid "patch failed, rejects left in working dir\n"
 msgstr ""
 
@@ -3092,10 +3111,21 @@
 msgid "\"%s\" cannot be used as the name of a patch"
 msgstr ""
 
+#, fuzzy, python-format
+msgid "\"%s\" already exists as a directory"
+msgstr "佇列 %s 已存在"
+
 #, python-format
 msgid "patch \"%s\" already exists"
 msgstr ""
 
+msgid "cannot manage merge changesets"
+msgstr ""
+
+#, fuzzy, python-format
+msgid "cannot write patch \"%s\": %s"
+msgstr "有缺陷的patch %s %s"
+
 #, python-format
 msgid "error unlinking %s\n"
 msgstr ""
@@ -3139,8 +3169,11 @@
 msgid "patch series already fully applied\n"
 msgstr ""
 
+msgid "please specify the patch to move"
+msgstr ""
+
 msgid "cleaning up working directory..."
-msgstr ""
+msgstr "正在清理工作目錄..."
 
 #, python-format
 msgid "errors during apply, please fix and refresh %s\n"
@@ -3174,9 +3207,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 ""
@@ -3184,7 +3217,9 @@
 msgid "cannot refresh a revision with children"
 msgstr ""
 
-msgid "refresh interrupted while patch was popped! (revert --all, qpush to recover)\n"
+msgid ""
+"refresh interrupted while patch was popped! (revert --all, qpush to "
+"recover)\n"
 msgstr ""
 
 msgid "patch queue directory already exists"
@@ -3212,8 +3247,9 @@
 msgid "saved queue repository parents: %s %s\n"
 msgstr ""
 
-msgid "queue directory updating\n"
-msgstr ""
+#, fuzzy
+msgid "updating queue directory\n"
+msgstr "更新工作目錄中\n"
 
 msgid "Unable to load queue repository\n"
 msgstr ""
@@ -3271,10 +3307,18 @@
 msgid "patch %s does not exist"
 msgstr ""
 
+#, python-format
+msgid "renaming %s to %s\n"
+msgstr "%s 改名字成 %s\n"
+
 msgid "need --name to import a patch from -"
 msgstr ""
 
 #, python-format
+msgid "unable to read file %s"
+msgstr "不能讀檔案 %s"
+
+#, python-format
 msgid "adding %s to series file\n"
 msgstr ""
 
@@ -3282,18 +3326,22 @@
 msgstr ""
 
 msgid ""
-"    The patches must not be applied, and at least one patch is required. With\n"
+"    The patches must not be applied, and at least one patch is required. "
+"With\n"
 "    -k/--keep, the patch files are preserved in the patch directory."
 msgstr ""
 
 msgid ""
 "    To stop managing a patch and move it into permanent history,\n"
-"    use the qfinish command."
+"    use the :hg:`qfinish` command."
 msgstr ""
 
 msgid "print the patches already applied"
 msgstr ""
 
+msgid "    Returns 0 on success."
+msgstr ""
+
 msgid "only one patch applied\n"
 msgstr ""
 
@@ -3339,11 +3387,21 @@
 msgid ""
 "    To import a patch from standard input, pass - as the patch file.\n"
 "    When importing from standard input, a patch name must be specified\n"
-"    using the --name flag.\n"
+"    using the --name flag."
+msgstr ""
+
+msgid "    To import an existing patch while renaming it::"
+msgstr ""
+
+msgid "      hg qimport -e existing-patch -n new-name"
+msgstr ""
+
+msgid ""
+"    Returns 0 if import succeeded.\n"
 "    "
 msgstr ""
 
-msgid "init a new queue repository"
+msgid "init a new queue repository (DEPRECATED)"
 msgstr ""
 
 msgid ""
@@ -3354,6 +3412,11 @@
 "    qcommit to commit changes to this queue repository."
 msgstr ""
 
+msgid ""
+"    This command is deprecated. Without -c, it's implied by other relevant\n"
+"    commands. With -c, use :hg:`init --mq` instead."
+msgstr ""
+
 msgid "clone main and patch repository at same time"
 msgstr ""
 
@@ -3372,11 +3435,15 @@
 
 msgid ""
 "    The patch directory must be a nested Mercurial repository, as\n"
-"    would be created by qinit -c.\n"
+"    would be created by :hg:`init --mq`."
+msgstr ""
+
+msgid ""
+"    Return 0 on success.\n"
 "    "
 msgstr ""
 
-msgid "versioned patch repository not found (see qinit -c)"
+msgid "versioned patch repository not found (see init --mq)"
 msgstr ""
 
 msgid "cloning main repository\n"
@@ -3391,7 +3458,10 @@
 msgid "updating destination repository\n"
 msgstr ""
 
-msgid "commit changes in the queue repository"
+msgid "commit changes in the queue repository (DEPRECATED)"
+msgstr ""
+
+msgid "    This command is deprecated; use :hg:`commit --mq` instead."
 msgstr ""
 
 msgid "print the entire series file"
@@ -3411,9 +3481,8 @@
 
 msgid ""
 "    qnew creates a new patch on top of the currently-applied patch (if\n"
-"    any). It will refuse to run if there are any outstanding changes\n"
-"    unless -f/--force is specified, in which case the patch will be\n"
-"    initialized with them. You may also use -I/--include,\n"
+"    any). The patch will be initialized with any outstanding changes\n"
+"    in the working directory. You may also use -I/--include,\n"
 "    -X/--exclude, and/or a list of files after the patch name to add\n"
 "    only changes to matching files to the new patch, leaving the rest\n"
 "    as uncommitted modifications."
@@ -3435,7 +3504,11 @@
 "    Use the -g/--git option to keep the patch in the git extended diff\n"
 "    format. Read the diffs help topic for more information on why this\n"
 "    is important for preserving permission changes and copy/rename\n"
-"    information.\n"
+"    information."
+msgstr ""
+
+msgid ""
+"    Returns 0 on successful creation of a new patch.\n"
 "    "
 msgstr ""
 
@@ -3454,11 +3527,18 @@
 msgstr ""
 
 msgid ""
+"    If -e/--edit is specified, Mercurial will start your configured editor "
+"for\n"
+"    you to enter a message. In case qrefresh fails, you will find a backup "
+"of\n"
+"    your message in ``.hg/last-message.txt``."
+msgstr ""
+
+msgid ""
 "    hg add/remove/copy/rename work as usual, though you might want to\n"
 "    use git-style patches (-g/--git or [diff] git=1) to track copies\n"
 "    and renames. See the diffs help topic for more information on the\n"
-"    git diff format.\n"
-"    "
+"    git diff format."
 msgstr ""
 
 msgid "option \"-e\" incompatible with \"-m\" or \"-l\""
@@ -3475,11 +3555,10 @@
 msgstr ""
 
 msgid ""
-"    Use 'hg diff' if you only want to see the changes made since the\n"
-"    last qrefresh, or 'hg export qtip' if you want to see changes made\n"
-"    by the current patch without including changes made since the\n"
-"    qrefresh.\n"
-"    "
+"    Use :hg:`diff` if you only want to see the changes made since the\n"
+"    last qrefresh, or :hg:`export qtip` if you want to see changes\n"
+"    made by the current patch without including changes made since the\n"
+"    qrefresh."
 msgstr ""
 
 msgid "fold the named patches into the current patch"
@@ -3496,17 +3575,14 @@
 
 msgid ""
 "    The header for each folded patch will be concatenated with the\n"
-"    current patch header, separated by a line of '* * *'."
+"    current patch header, separated by a line of ``* * *``."
 msgstr ""
 
 msgid "qfold requires at least one patch name"
 msgstr ""
 
-msgid "No patches applied"
-msgstr ""
-
-#, python-format
-msgid "Skipping already folded patch %s"
+#, python-format
+msgid "Skipping already folded patch %s\n"
 msgstr ""
 
 #, python-format
@@ -3514,7 +3590,7 @@
 msgstr ""
 
 #, python-format
-msgid "Error folding patch %s"
+msgid "error folding patch %s"
 msgstr ""
 
 msgid "push or pop patches until named patch is at top of stack"
@@ -3526,21 +3602,26 @@
 msgid ""
 "    Guards control whether a patch can be pushed. A patch with no\n"
 "    guards is always pushed. A patch with a positive guard (\"+foo\") is\n"
-"    pushed only if the qselect command has activated it. A patch with\n"
-"    a negative guard (\"-foo\") is never pushed if the qselect command\n"
+"    pushed only if the :hg:`qselect` command has activated it. A patch with\n"
+"    a negative guard (\"-foo\") is never pushed if the :hg:`qselect` "
+"command\n"
 "    has activated it."
 msgstr ""
 
 msgid ""
 "    With no arguments, print the currently active guards.\n"
-"    With arguments, set guards for the named patch.\n"
-"    NOTE: Specifying negative guards now requires '--'."
-msgstr ""
-
-msgid ""
-"    To set guards on another patch:\n"
-"      hg qguard -- other.patch +2.6.17 -stable\n"
-"    "
+"    With arguments, set guards for the named patch."
+msgstr ""
+
+msgid ""
+"    .. note::\n"
+"       Specifying negative guards now requires '--'."
+msgstr ""
+
+msgid "    To set guards on another patch::"
+msgstr ""
+
+msgid "      hg qguard other.patch -- +2.6.17 -stable"
 msgstr ""
 
 msgid "cannot mix -l/--list with options or arguments"
@@ -3561,7 +3642,11 @@
 
 msgid ""
 "    When -f/--force is applied, all local changes in patched files\n"
-"    will be lost.\n"
+"    will be lost."
+msgstr ""
+
+msgid ""
+"    Return 0 on succces.\n"
 "    "
 msgstr ""
 
@@ -3578,8 +3663,7 @@
 msgid ""
 "    By default, pops off the top of the patch stack. If given a patch\n"
 "    name, keeps popping off patches until the named patch is at the\n"
-"    top of the stack.\n"
-"    "
+"    top of the stack."
 msgstr ""
 
 #, python-format
@@ -3602,10 +3686,13 @@
 msgid "A patch named %s already exists in the series file"
 msgstr ""
 
-msgid "restore the queue state saved by a revision"
-msgstr ""
-
-msgid "save current queue state"
+msgid "restore the queue state saved by a revision (DEPRECATED)"
+msgstr ""
+
+msgid "    This command is deprecated, use :hg:`rebase` instead."
+msgstr ""
+
+msgid "save current queue state (DEPRECATED)"
 msgstr ""
 
 #, python-format
@@ -3620,25 +3707,48 @@
 msgid "copy %s to %s\n"
 msgstr ""
 
-msgid "strip a revision and all its descendants from the repository"
-msgstr ""
-
-msgid ""
-"    If one of the working directory's parent revisions is stripped, the\n"
-"    working directory will be updated to the parent of the stripped\n"
-"    revision.\n"
-"    "
+msgid "strip changesets and all their descendants from the repository"
+msgstr ""
+
+msgid ""
+"    The strip command removes the specified changesets and all their\n"
+"    descendants. If the working directory has uncommitted changes,\n"
+"    the operation is aborted unless the --force flag is supplied."
+msgstr ""
+
+msgid ""
+"    If a parent of the working directory is stripped, then the working\n"
+"    directory will automatically be updated to the most recent\n"
+"    available ancestor of the stripped parent after the operation\n"
+"    completes."
+msgstr ""
+
+msgid ""
+"    Any stripped changesets are stored in ``.hg/strip-backup`` as a\n"
+"    bundle (see :hg:`help bundle` and :hg:`help unbundle`). They can\n"
+"    be restored by running :hg:`unbundle .hg/strip-backup/BUNDLE`,\n"
+"    where BUNDLE is the bundle file created by the strip. Note that\n"
+"    the local revision numbers will in general be different after the\n"
+"    restore."
+msgstr ""
+
+msgid ""
+"    Use the --no-backup option to discard the backup bundle once the\n"
+"    operation completes."
+msgstr ""
+
+msgid "empty revision set"
 msgstr ""
 
 msgid "set or print guarded patches to push"
 msgstr ""
 
 msgid ""
-"    Use the qguard command to set or print guards on patch, then use\n"
+"    Use the :hg:`qguard` command to set or print guards on patch, then use\n"
 "    qselect to tell mq which guards to use. A patch will be pushed if\n"
 "    it has no guards or any positive guards match the currently\n"
 "    selected guard, but will not be pushed if any negative guards\n"
-"    match the current guard. For example:"
+"    match the current guard. For example::"
 msgstr ""
 
 msgid ""
@@ -3725,13 +3835,71 @@
 msgid ""
 "    This can be especially useful if your changes have been applied to\n"
 "    an upstream repository, or if you are about to push your changes\n"
-"    to upstream.\n"
-"    "
+"    to upstream."
 msgstr ""
 
 msgid "no revisions specified"
 msgstr ""
 
+msgid "manage multiple patch queues"
+msgstr ""
+
+msgid ""
+"    Supports switching between different patch queues, as well as creating\n"
+"    new patch queues and deleting existing ones."
+msgstr ""
+
+msgid ""
+"    Omitting a queue name or specifying -l/--list will show you the "
+"registered\n"
+"    queues - by default the \"normal\" patches queue is registered. The "
+"currently\n"
+"    active queue will be marked with \"(active)\"."
+msgstr ""
+
+msgid ""
+"    To create a new queue, use -c/--create. The queue is automatically made\n"
+"    active, except in the case where there are applied patches from the\n"
+"    currently active queue in the repository. Then the queue will only be\n"
+"    created and switching will fail."
+msgstr ""
+
+msgid ""
+"    To delete an existing queue, use --delete. You cannot delete the "
+"currently\n"
+"    active queue."
+msgstr ""
+
+msgid "patches applied - cannot set new queue active"
+msgstr ""
+
+msgid "cannot delete queue that does not exist"
+msgstr ""
+
+msgid "cannot delete currently active queue"
+msgstr ""
+
+msgid " (active)\n"
+msgstr ""
+
+msgid "invalid queue name, may not contain the characters \":\\/.\""
+msgstr ""
+
+#, python-format
+msgid "queue \"%s\" already exists"
+msgstr "佇列 %s 已存在"
+
+#, python-format
+msgid "can't rename \"%s\" to its current name"
+msgstr ""
+
+#, python-format
+msgid "non-queue directory \"%s\" already exists"
+msgstr ""
+
+msgid "use --create to create a new queue"
+msgstr ""
+
 msgid "cannot commit over an applied mq patch"
 msgstr ""
 
@@ -3749,6 +3917,29 @@
 msgid "cannot import over an applied patch"
 msgstr ""
 
+msgid "only a local queue repository may be initialized"
+msgstr ""
+
+msgid "there is no Mercurial repository here (.hg not found)"
+msgstr "這邊沒有Mercurial 儲存庫(找不到 .hg)"
+
+msgid "no queue repository"
+msgstr "沒有佇列儲存庫"
+
+#, python-format
+msgid "%d applied"
+msgstr ""
+
+#, python-format
+msgid "%d unapplied"
+msgstr ""
+
+msgid "mq:     (empty queue)\n"
+msgstr ""
+
+msgid "operate on patch repository"
+msgstr ""
+
 msgid "print first line of patch header"
 msgstr ""
 
@@ -3767,6 +3958,9 @@
 msgid "use uncompressed transfer (fast over LAN)"
 msgstr ""
 
+msgid "REPO"
+msgstr ""
+
 msgid "location of source patch repository"
 msgstr ""
 
@@ -3785,7 +3979,7 @@
 msgid "stop managing a revision (DEPRECATED)"
 msgstr ""
 
-msgid "hg qdelete [-k] [-r REV]... [PATCH]..."
+msgid "hg qdelete [-k] [PATCH]..."
 msgstr ""
 
 msgid "edit patch header"
@@ -3809,7 +4003,7 @@
 msgid "drop all guards"
 msgstr ""
 
-msgid "hg qguard [-l] [-n] -- [PATCH] [+GUARD]... [-GUARD]..."
+msgid "hg qguard [-l] [-n] [PATCH] [-- [+GUARD]... [-GUARD]...]"
 msgstr ""
 
 msgid "hg qheader [PATCH]"
@@ -3842,22 +4036,25 @@
 msgid "hg qinit [-c]"
 msgstr ""
 
-msgid "import uncommitted changes into patch"
+msgid "import uncommitted changes (DEPRECATED)"
 msgstr ""
 
 msgid "add \"From: <current user>\" to patch"
 msgstr ""
 
-msgid "add \"From: <given user>\" to patch"
+msgid "USER"
+msgstr ""
+
+msgid "add \"From: <USER>\" to patch"
 msgstr ""
 
 msgid "add \"Date: <current date>\" to patch"
 msgstr ""
 
-msgid "add \"Date: <given date>\" to patch"
-msgstr ""
-
-msgid "hg qnew [-e] [-m TEXT] [-l FILE] [-f] PATCH [FILE]..."
+msgid "add \"Date: <DATE>\" to patch"
+msgstr ""
+
+msgid "hg qnew [-e] [-m TEXT] [-l FILE] PATCH [FILE]..."
 msgstr ""
 
 msgid "hg qnext [-s]"
@@ -3869,16 +4066,16 @@
 msgid "pop all patches"
 msgstr ""
 
-msgid "queue name to pop"
+msgid "queue name to pop (DEPRECATED)"
 msgstr ""
 
 msgid "forget any local changes to patched files"
 msgstr ""
 
-msgid "hg qpop [-a] [-n NAME] [-f] [PATCH | INDEX]"
-msgstr ""
-
-msgid "apply if the patch has rejects"
+msgid "hg qpop [-a] [-f] [PATCH | INDEX]"
+msgstr ""
+
+msgid "apply on top of local changes"
 msgstr ""
 
 msgid "list patch name in commit text"
@@ -3887,13 +4084,16 @@
 msgid "apply all patches"
 msgstr ""
 
-msgid "merge from another queue"
-msgstr ""
-
-msgid "merge queue name"
-msgstr ""
-
-msgid "hg qpush [-f] [-l] [-a] [-m] [-n NAME] [PATCH | INDEX]"
+msgid "merge from another queue (DEPRECATED)"
+msgstr ""
+
+msgid "merge queue name (DEPRECATED)"
+msgstr ""
+
+msgid "reorder patch series and apply only the patch"
+msgstr ""
+
+msgid "hg qpush [-f] [-l] [-a] [--move] [PATCH | INDEX]"
 msgstr ""
 
 msgid "refresh only files already in the patch and specified files"
@@ -3962,16 +4162,26 @@
 msgid "hg qseries [-ms]"
 msgstr ""
 
-msgid "force removal with local changes"
-msgstr ""
-
-msgid "bundle unrelated changesets"
+msgid ""
+"force removal of changesets even if the working directory has uncommitted "
+"changes"
+msgstr ""
+
+msgid ""
+"bundle only changesets with local revision number greater than REV which are "
+"not descendants of REV (DEPRECATED)"
 msgstr ""
 
 msgid "no backups"
 msgstr ""
 
-msgid "hg strip [-f] [-b] [-n] REV"
+msgid "no backups (DEPRECATED)"
+msgstr ""
+
+msgid "do not modify working copy during strip"
+msgstr ""
+
+msgid "hg strip [-k] [-f] [-n] REV..."
 msgstr ""
 
 msgid "hg qtop [-s]"
@@ -3989,6 +4199,24 @@
 msgid "hg qfinish [-a] [REV]..."
 msgstr ""
 
+msgid "list all available queues"
+msgstr ""
+
+msgid "create new queue"
+msgstr ""
+
+msgid "rename active queue"
+msgstr ""
+
+msgid "delete reference to queue"
+msgstr ""
+
+msgid "delete queue, and remove patch dir"
+msgstr ""
+
+msgid "[OPTION] [QUEUE]"
+msgstr ""
+
 msgid "hooks for sending email notifications at commit/push time"
 msgstr ""
 
@@ -4040,7 +4268,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"
@@ -4055,9 +4284,6 @@
 "handier for you."
 msgstr ""
 
-msgid "::"
-msgstr ""
-
 msgid ""
 "  [usersubs]\n"
 "  # key is subscriber email, value is \",\"-separated list of glob patterns\n"
@@ -4110,7 +4336,7 @@
 
 msgid ""
 "  [pager]\n"
-"  pager = LESS='FSRX' less"
+"  pager = less -FRSX"
 msgstr ""
 
 msgid ""
@@ -4140,20 +4366,34 @@
 
 msgid ""
 "You can also enable the pager only for certain commands using\n"
-"pager.attend::"
+"pager.attend. Below is the default list of commands to be paged::"
 msgstr ""
 
 msgid ""
 "  [pager]\n"
-"  attend = log"
+"  attend = annotate, cat, diff, export, glog, log, qdiff"
+msgstr ""
+
+msgid ""
+"Setting pager.attend to an empty value will cause all commands to be\n"
+"paged."
 msgstr ""
 
 msgid "If pager.attend is present, pager.ignore will be ignored."
 msgstr ""
 
 msgid ""
-"To ignore global commands like \"hg version\" or \"hg help\", you have to\n"
-"specify them in the global .hgrc\n"
+"To ignore global commands like :hg:`version` or :hg:`help`, you have\n"
+"to specify them in your user configuration file."
+msgstr ""
+
+msgid ""
+"The --pager=... option can also be used to control when the pager is\n"
+"used. Use a boolean value like yes, no, on, off, or use auto for\n"
+"normal behavior.\n"
+msgstr ""
+
+msgid "when to paginate (boolean, always, auto, or never)"
 msgstr ""
 
 msgid "interpret suffixes to refer to ancestor revisions"
@@ -4199,7 +4439,7 @@
 msgid ""
 "- The changeset description.\n"
 "- [Optional] The result of running diffstat on the patch.\n"
-"- The patch itself, as generated by \"hg export\"."
+"- The patch itself, as generated by :hg:`export`."
 msgstr ""
 
 msgid ""
@@ -4209,12 +4449,6 @@
 msgstr ""
 
 msgid ""
-"With the -d/--diffstat option, you will be prompted for each changeset\n"
-"with a diffstat summary and the changeset summary, so you can be sure\n"
-"you are sending the right changes."
-msgstr ""
-
-msgid ""
 "To configure other defaults, add a section like this to your hgrc\n"
 "file::"
 msgstr ""
@@ -4224,45 +4458,18 @@
 "  from = My Name <my@email>\n"
 "  to = recipient1, recipient2, ...\n"
 "  cc = cc1, cc2, ...\n"
-"  bcc = bcc1, bcc2, ..."
-msgstr ""
-
-msgid ""
-"Then you can use the \"hg email\" command to mail a series of changesets\n"
-"as a patchbomb."
-msgstr ""
-
-msgid ""
-"To avoid sending patches prematurely, it is a good idea to first run\n"
-"the \"email\" command with the \"-n\" option (test only). You will be\n"
-"prompted for an email recipient address, a subject and an introductory\n"
-"message describing the patches of your patchbomb. Then when all is\n"
-"done, patchbomb messages are displayed. If the PAGER environment\n"
-"variable is set, your pager will be fired up once for each patchbomb\n"
-"message, so you can verify everything is alright."
-msgstr ""
-
-msgid ""
-"The -m/--mbox option is also very useful. Instead of previewing each\n"
-"patchbomb message in a pager or sending the messages directly, it will\n"
-"create a UNIX mailbox file with the patch emails. This mailbox file\n"
-"can be previewed with any mail user agent which supports UNIX mbox\n"
-"files, e.g. with mutt::"
-msgstr ""
-
-msgid "  % mutt -R -f mbox"
-msgstr ""
-
-msgid ""
-"When you are previewing the patchbomb messages, you can use ``formail``\n"
-"(a utility that is commonly installed as part of the procmail\n"
-"package), to send each message out::"
-msgstr ""
-
-msgid "  % formail -s sendmail -bm -t < mbox"
-msgstr ""
-
-msgid "That should be all. Now your patchbomb is on its way out."
+"  bcc = bcc1, bcc2, ...\n"
+"  reply-to = address1, address2, ..."
+msgstr ""
+
+msgid ""
+"Use ``[patchbomb]`` as configuration section name if you need to\n"
+"override global ``[email]`` address settings."
+msgstr ""
+
+msgid ""
+"Then you can use the :hg:`email` command to mail a series of\n"
+"changesets as a patchbomb."
 msgstr ""
 
 msgid ""
@@ -4274,35 +4481,40 @@
 msgstr ""
 
 #, python-format
-msgid "%sPlease enter a valid value"
+msgid "%s Please enter a valid value"
 msgstr ""
 
 msgid "Please enter a valid value.\n"
 msgstr ""
 
-msgid "does the diffstat above look okay? "
-msgstr ""
-
-msgid "diffstat rejected"
-msgstr ""
-
 msgid "send changesets by email"
 msgstr ""
 
 msgid ""
-"    By default, diffs are sent in the format generated by hg export,\n"
-"    one per message. The series starts with a \"[PATCH 0 of N]\"\n"
-"    introduction, which describes the series as a whole."
+"    By default, diffs are sent in the format generated by\n"
+"    :hg:`export`, one per message. The series starts with a \"[PATCH 0\n"
+"    of N]\" introduction, which describes the series as a whole."
 msgstr ""
 
 msgid ""
 "    Each patch email has a Subject line of \"[PATCH M of N] ...\", using\n"
 "    the first line of the changeset description as the subject text.\n"
 "    The message contains two or three parts. First, the changeset\n"
-"    description. Next, (optionally) if the diffstat program is\n"
-"    installed and -d/--diffstat is used, the result of running\n"
-"    diffstat on the patch. Finally, the patch itself, as generated by\n"
-"    \"hg export\"."
+"    description."
+msgstr ""
+
+msgid ""
+"    With the -d/--diffstat option, if the diffstat program is\n"
+"    installed, the result of running diffstat on the patch is inserted."
+msgstr ""
+
+msgid "    Finally, the patch itself, as generated by :hg:`export`."
+msgstr ""
+
+msgid ""
+"    With the -d/--diffstat or -c/--confirm options, you will be presented\n"
+"    with a final summary of all messages and asked for confirmation before\n"
+"    the messages are sent."
 msgstr ""
 
 msgid ""
@@ -4325,6 +4537,23 @@
 msgstr ""
 
 msgid ""
+"    With -m/--mbox, instead of previewing each patchbomb message in a\n"
+"    pager or sending the messages directly, it will create a UNIX\n"
+"    mailbox file with the patch emails. This mailbox file can be\n"
+"    previewed with any mail user agent which supports UNIX mbox\n"
+"    files."
+msgstr ""
+
+msgid ""
+"    With -n/--test, all steps will run, but mail will not be sent.\n"
+"    You will be prompted for an email recipient address, a subject and\n"
+"    an introductory message describing the patches of your patchbomb.\n"
+"    Then when all is done, patchbomb messages are displayed. If the\n"
+"    PAGER environment variable is set, your pager will be fired up once\n"
+"    for each patchbomb message, so you can verify everything is alright."
+msgstr ""
+
+msgid ""
 "      hg email -r 3000          # send patch 3000 only\n"
 "      hg email -r 3000 -r 3001  # send patches 3000 and 3001\n"
 "      hg email -r 3000:3005     # send patches 3000 through 3005\n"
@@ -4341,16 +4570,29 @@
 msgid ""
 "      hg email -b               # send bundle of all patches not in default\n"
 "      hg email -b DEST          # send bundle of all patches not in DEST\n"
-"      hg email -b -r 3000       # bundle of all ancestors of 3000 not in default\n"
+"      hg email -b -r 3000       # bundle of all ancestors of 3000 not in "
+"default\n"
 "      hg email -b -r 3000 DEST  # bundle of all ancestors of 3000 not in DEST"
 msgstr ""
 
 msgid ""
+"      hg email -o -m mbox &&    # generate an mbox file...\n"
+"        mutt -R -f mbox         # ... and view it with mutt\n"
+"      hg email -o -m mbox &&    # generate an mbox file ...\n"
+"        formail -s sendmail \\   # ... and use formail to send from the "
+"mbox\n"
+"          -bm -t < mbox         # ... using sendmail"
+msgstr ""
+
+msgid ""
 "    Before using this command, you will need to enable email in your\n"
 "    hgrc. See the [email] section in hgrc(5) for details.\n"
 "    "
 msgstr ""
 
+msgid "no changes found\n"
+msgstr "找不到變更\n"
+
 msgid "specify at least one changeset with -r or -o"
 msgstr ""
 
@@ -4370,19 +4612,39 @@
 
 #, python-format
 msgid "This patch series consists of %d patches."
-msgstr ""
-
-msgid "Final summary:\n"
+msgstr "這一系列的patch 包含了 %d 個patch"
+
+msgid ""
+"\n"
+"Final summary:"
+msgstr ""
+
+msgid "are you sure you want to send (yn)?"
+msgstr ""
+
+msgid "&No"
+msgstr ""
+
+msgid "&Yes"
+msgstr ""
+
+msgid "patchbomb canceled"
 msgstr ""
 
 msgid "Displaying "
-msgstr ""
+msgstr "顯示中"
 
 msgid "Writing "
-msgstr ""
+msgstr "寫入中"
+
+msgid "writing"
+msgstr "寫入中"
 
 msgid "Sending "
-msgstr ""
+msgstr "傳送中"
+
+msgid "sending"
+msgstr "傳送中"
 
 msgid "send patches as attachments"
 msgstr ""
@@ -4396,6 +4658,9 @@
 msgid "email addresses of copy recipients"
 msgstr ""
 
+msgid "ask for confirmation before sending"
+msgstr ""
+
 msgid "add diffstat output to messages"
 msgstr ""
 
@@ -4414,6 +4679,9 @@
 msgid "write messages to mbox file instead of sending them"
 msgstr ""
 
+msgid "email addresses replies should be sent to"
+msgstr ""
+
 msgid "subject of first message (intro or single patch)"
 msgstr ""
 
@@ -4453,6 +4721,39 @@
 msgid "hg email [OPTION]... [DEST]..."
 msgstr ""
 
+msgid "show progress bars for some actions"
+msgstr ""
+
+msgid ""
+"This extension uses the progress information logged by hg commands\n"
+"to draw progress bars that are as informative as possible. Some progress\n"
+"bars only offer indeterminate information, while others have a definite\n"
+"end point."
+msgstr ""
+
+msgid "The following settings are available::"
+msgstr ""
+
+msgid ""
+"  [progress]\n"
+"  delay = 3 # number of seconds (float) before showing the progress bar\n"
+"  refresh = 0.1 # time in seconds between refreshes of the progress bar\n"
+"  format = topic bar number # format of the progress bar\n"
+"  width = <none> # if set, the maximum width of the progress information\n"
+"                 # (that is, min(width, term width) will be used)\n"
+"  clear-complete = True # clear the progress bar after it's done\n"
+"  disable = False # if true, don't show a progress bar\n"
+"  assume-tty = False # if true, ALWAYS show a progress bar, unless\n"
+"                     # disable is given"
+msgstr ""
+
+msgid ""
+"Valid entries for the format field are topic, bar, number, unit, and\n"
+"item. item defaults to the last 20 characters of the item, but this\n"
+"can be changed by adding either ``-<num>`` which would take the last\n"
+"num characters, or ``+<num>`` for the first num characters.\n"
+msgstr ""
+
 msgid "command to delete untracked files from the working directory"
 msgstr ""
 
@@ -4468,7 +4769,7 @@
 msgstr ""
 
 msgid ""
-"    - Unknown files: files marked with \"?\" by \"hg status\"\n"
+"    - Unknown files: files marked with \"?\" by :hg:`status`\n"
 "    - Empty directories: in fact Mercurial ignores directories unless\n"
 "      they contain files under source control management"
 msgstr ""
@@ -4479,7 +4780,7 @@
 msgid ""
 "    - Modified and unmodified tracked files\n"
 "    - Ignored files (unless --all is specified)\n"
-"    - New files added to the repository (with \"hg add\")"
+"    - New files added to the repository (with :hg:`add`)"
 msgstr ""
 
 msgid ""
@@ -4544,13 +4845,63 @@
 
 msgid ""
 "    Rebase uses repeated merging to graft changesets from one part of\n"
-"    history onto another. This can be useful for linearizing local\n"
-"    changes relative to a master development tree."
+"    history (the source) onto another (the destination). This can be\n"
+"    useful for linearizing *local* changes relative to a master\n"
+"    development tree."
+msgstr ""
+
+msgid ""
+"    You should not rebase changesets that have already been shared\n"
+"    with others. Doing so will force everybody else to perform the\n"
+"    same rebase or they will end up with duplicated changesets after\n"
+"    pulling in your rebased changesets."
+msgstr ""
+
+msgid ""
+"    If you don't specify a destination changeset (``-d/--dest``),\n"
+"    rebase uses the tipmost head of the current named branch as the\n"
+"    destination. (The destination changeset is not modified by\n"
+"    rebasing, but new changesets are added as its descendants.)"
+msgstr ""
+
+msgid ""
+"    You can specify which changesets to rebase in two ways: as a\n"
+"    \"source\" changeset or as a \"base\" changeset. Both are shorthand\n"
+"    for a topologically related set of changesets (the \"source\n"
+"    branch\"). If you specify source (``-s/--source``), rebase will\n"
+"    rebase that changeset and all of its descendants onto dest. If you\n"
+"    specify base (``-b/--base``), rebase will select ancestors of base\n"
+"    back to but not including the common ancestor with dest. Thus,\n"
+"    ``-b`` is less precise but more convenient than ``-s``: you can\n"
+"    specify any changeset in the source branch, and rebase will select\n"
+"    the whole branch. If you specify neither ``-s`` nor ``-b``, rebase\n"
+"    uses the parent of the working directory as the base."
+msgstr ""
+
+msgid ""
+"    By default, rebase recreates the changesets in the source branch\n"
+"    as descendants of dest and then destroys the originals. Use\n"
+"    ``--keep`` to preserve the original source changesets. Some\n"
+"    changesets in the source branch (e.g. merges from the destination\n"
+"    branch) may be dropped if they no longer contribute any change."
+msgstr ""
+
+msgid ""
+"    One result of the rules for selecting the destination changeset\n"
+"    and source branch is that, unlike ``merge``, rebase will do\n"
+"    nothing if you are at the latest (tipmost) head of a named branch\n"
+"    with two heads. You need to explicitly specify source and/or\n"
+"    destination (or ``update`` to the other head, if it's the head of\n"
+"    the intended source branch)."
 msgstr ""
 
 msgid ""
 "    If a rebase is interrupted to manually resolve a merge, it can be\n"
-"    continued with --continue/-c or aborted with --abort/-a.\n"
+"    continued with --continue/-c or aborted with --abort/-a."
+msgstr ""
+
+msgid ""
+"    Returns 0 on success, 1 if nothing to rebase.\n"
 "    "
 msgstr ""
 
@@ -4560,18 +4911,40 @@
 msgid "cannot use collapse with continue or abort"
 msgstr ""
 
+msgid "cannot use detach with continue or abort"
+msgstr ""
+
 msgid "abort and continue do not allow specifying revisions"
 msgstr ""
 
 msgid "cannot specify both a revision and a base"
 msgstr ""
 
+msgid "detach requires a revision to be specified"
+msgstr ""
+
+msgid "cannot specify a base with detach"
+msgstr ""
+
 msgid "nothing to rebase\n"
 msgstr ""
 
 msgid "cannot use both keepbranches and extrafn"
 msgstr ""
 
+msgid "rebasing"
+msgstr ""
+
+msgid "changesets"
+msgstr ""
+
+msgid "fix unresolved conflicts with hg resolve then run hg rebase --continue"
+msgstr ""
+
+#, python-format
+msgid "no changes, revision %d skipped\n"
+msgstr ""
+
 msgid "rebase merging completed\n"
 msgstr ""
 
@@ -4585,11 +4958,7 @@
 msgid "%d revisions have been skipped\n"
 msgstr ""
 
-msgid "fix unresolved conflicts with hg resolve then run hg rebase --continue"
-msgstr ""
-
-#, python-format
-msgid "no changes, revision %d skipped\n"
+msgid "unable to collapse, there is more than one external parent"
 msgstr ""
 
 #, python-format
@@ -4599,11 +4968,11 @@
 msgid "no rebase in progress"
 msgstr ""
 
-msgid "warning: new changesets detected on target branch, not stripping\n"
+msgid "warning: new changesets detected on target branch, can't abort\n"
 msgstr ""
 
 msgid "rebase aborted\n"
-msgstr ""
+msgstr "rebase 中止了\n"
 
 msgid "cannot rebase onto an applied mq patch"
 msgstr ""
@@ -4614,19 +4983,18 @@
 msgid "source is descendant of destination"
 msgstr ""
 
-msgid "unable to collapse, there is more than one external parent"
-msgstr ""
-
 msgid "rebase working directory to branch head"
 msgstr ""
 
-msgid "rebase from a given revision"
-msgstr ""
-
-msgid "rebase from the base of a given revision"
-msgstr ""
-
-msgid "rebase onto a given revision"
+msgid "rebase from the specified changeset"
+msgstr ""
+
+msgid ""
+"rebase from the base of the specified changeset (up to greatest common "
+"ancestor of base and dest)"
+msgstr ""
+
+msgid "rebase onto the specified changeset"
 msgstr ""
 
 msgid "collapse the rebased changesets"
@@ -4638,13 +5006,18 @@
 msgid "keep original branch names"
 msgstr ""
 
+msgid "force detaching of source from its original branch"
+msgstr ""
+
 msgid "continue an interrupted rebase"
 msgstr ""
 
 msgid "abort an interrupted rebase"
 msgstr ""
 
-msgid "hg rebase [-s REV | -b REV] [-d REV] [--collapse] [--keep] [--keepbranches] | [-c] | [-a]"
+msgid ""
+"hg rebase [-s REV | -b REV] [-d REV] [options]\n"
+"hg rebase {-a|-c}"
 msgstr ""
 
 msgid "commands to interactively select changes for commit/qrefresh"
@@ -4654,7 +5027,7 @@
 msgstr ""
 
 msgid "this is a binary file\n"
-msgstr ""
+msgstr "這是一個二進位檔\n"
 
 #, python-format
 msgid "%d hunks, %d lines changed\n"
@@ -4687,9 +5060,6 @@
 msgid "&?"
 msgstr ""
 
-msgid "y - record this change"
-msgstr ""
-
 msgid "user quit"
 msgstr ""
 
@@ -4700,9 +5070,6 @@
 msgid " and "
 msgstr ""
 
-msgid "y"
-msgstr ""
-
 #, python-format
 msgid "record this change to %r?"
 msgstr ""
@@ -4715,13 +5082,10 @@
 msgstr ""
 
 msgid ""
-"    If a list of files is omitted, all changes reported by \"hg status\"\n"
+"    If a list of files is omitted, all changes reported by :hg:`status`\n"
 "    will be candidates for recording."
 msgstr ""
 
-msgid "    See 'hg help dates' for a list of formats valid for -d/--date."
-msgstr ""
-
 msgid ""
 "    You will be prompted for whether to record changes to each\n"
 "    modified file, and for files with multiple changes, for each\n"
@@ -4748,29 +5112,172 @@
 msgid "      ? - display help"
 msgstr ""
 
+msgid "    This command is not available when committing a merge."
+msgstr ""
+
 msgid "'mq' extension not loaded"
 msgstr ""
 
 msgid "running non-interactively, use commit instead"
 msgstr ""
 
+msgid "cannot partially commit a merge (use hg commit instead)"
+msgstr ""
+
 msgid "no changes to record\n"
 msgstr ""
 
-msgid "patch failed to apply"
-msgstr ""
-
 msgid "hg record [OPTION]... [FILE]..."
 msgstr ""
 
 msgid "hg qrecord [OPTION]... PATCH [FILE]..."
 msgstr ""
 
+msgid "recreates hardlinks between repository clones"
+msgstr ""
+
+msgid "recreate hardlinks between two repositories"
+msgstr ""
+
+msgid ""
+"    When repositories are cloned locally, their data files will be\n"
+"    hardlinked so that they only use the space of a single repository."
+msgstr ""
+
+msgid ""
+"    Unfortunately, subsequent pulls into either repository will break\n"
+"    hardlinks for any files touched by the new changesets, even if\n"
+"    both repositories end up pulling the same changes."
+msgstr ""
+
+msgid ""
+"    Similarly, passing --rev to \"hg clone\" will fail to use any\n"
+"    hardlinks, falling back to a complete copy of the source\n"
+"    repository."
+msgstr ""
+
+msgid ""
+"    This command lets you recreate those hardlinks and reclaim that\n"
+"    wasted space."
+msgstr ""
+
+msgid ""
+"    This repository will be relinked to share space with ORIGIN, which\n"
+"    must be on the same local disk. If ORIGIN is omitted, looks for\n"
+"    \"default-relink\", then \"default\", in [paths]."
+msgstr ""
+
+msgid ""
+"    Do not attempt any read operations on this repository while the\n"
+"    command is running. (Both repositories will be locked against\n"
+"    writes.)\n"
+"    "
+msgstr ""
+
+msgid "hardlinks are not supported on this system"
+msgstr "硬式連結不被支援"
+
+#, python-format
+msgid "relinking %s to %s\n"
+msgstr "%s 重新連結到 %s\n"
+
+#, python-format
+msgid "tip has %d files, estimated total number of files: %s\n"
+msgstr ""
+
+msgid "collecting"
+msgstr ""
+
+msgid "files"
+msgstr "檔案"
+
+#, python-format
+msgid "collected %d candidate storage files\n"
+msgstr ""
+
+msgid "source and destination are on different devices"
+msgstr "來源跟目的在不同的裝置上"
+
+#, python-format
+msgid "not linkable: %s\n"
+msgstr ""
+
+msgid "pruning"
+msgstr ""
+
+#, python-format
+msgid "pruned down to %d probably relinkable files\n"
+msgstr ""
+
+msgid "relinking"
+msgstr ""
+
+#, python-format
+msgid "relinked %d files (%d bytes reclaimed)\n"
+msgstr ""
+
+msgid "[ORIGIN]"
+msgstr ""
+
+msgid "extend schemes with shortcuts to repository swarms"
+msgstr ""
+
+msgid ""
+"This extension allows you to specify shortcuts for parent URLs with a\n"
+"lot of repositories to act like a scheme, for example::"
+msgstr ""
+
+msgid ""
+"  [schemes]\n"
+"  py = http://code.python.org/hg/"
+msgstr ""
+
+msgid "After that you can use it like::"
+msgstr ""
+
+msgid "  hg clone py://trunk/"
+msgstr ""
+
+msgid ""
+"Additionally there is support for some more complex schemas, for\n"
+"example used by Google Code::"
+msgstr ""
+
+msgid ""
+"  [schemes]\n"
+"  gcode = http://{1}.googlecode.com/hg/"
+msgstr ""
+
+msgid ""
+"The syntax is taken from Mercurial templates, and you have unlimited\n"
+"number of variables, starting with ``{1}`` and continuing with\n"
+"``{2}``, ``{3}`` and so on. This variables will receive parts of URL\n"
+"supplied, split by ``/``. Anything not specified as ``{part}`` will be\n"
+"just appended to an URL."
+msgstr ""
+
+msgid "For convenience, the extension adds these schemes by default::"
+msgstr ""
+
+msgid ""
+"  [schemes]\n"
+"  py = http://hg.python.org/\n"
+"  bb = https://bitbucket.org/\n"
+"  bb+ssh = ssh://hg@bitbucket.org/\n"
+"  gcode = https://{1}.googlecode.com/hg/\n"
+"  kiln = https://{1}.kilnhg.com/Repo/"
+msgstr ""
+
+msgid ""
+"You can override a predefined scheme by defining a new scheme with the\n"
+"same name.\n"
+msgstr ""
+
 msgid "share a common history between several working directories"
 msgstr ""
 
-msgid "create a new shared repository (experimental)"
-msgstr ""
+msgid "create a new shared repository"
+msgstr "建立新的共享儲存庫"
 
 msgid ""
 "    Initialize a new repository and working directory that shares its\n"
@@ -4778,8 +5285,16 @@
 msgstr ""
 
 msgid ""
-"    NOTE: actions that change history such as rollback or moving the\n"
-"    source may confuse sharers.\n"
+"    .. note::\n"
+"       using rollback or extensions that destroy/modify history (mq,\n"
+"       rebase, etc.) can cause considerable confusion with shared\n"
+"       clones. In particular, if two shared clones are both updated to\n"
+"       the same changeset, and one of them destroys that changeset\n"
+"       with rollback, the other clone will suddenly stop working: all\n"
+"       operations will fail with \"abort: working directory has unknown\n"
+"       parent\". The only known workaround is to use debugsetparents on\n"
+"       the broken clone to reset it to a changeset that still exists\n"
+"       (e.g. tip).\n"
 "    "
 msgstr ""
 
@@ -4830,7 +5345,7 @@
 msgid "%s: empty changeset"
 msgstr ""
 
-msgid "Fix up the merge and run hg transplant --continue"
+msgid "fix up the merge and run hg transplant --continue"
 msgstr ""
 
 #, python-format
@@ -4847,9 +5362,22 @@
 msgid "commit failed"
 msgstr ""
 
+msgid ""
+"y: transplant this changeset\n"
+"n: skip this changeset\n"
+"m: merge at this changeset\n"
+"p: show patch\n"
+"c: commit selected changesets\n"
+"q: cancel transplant\n"
+"?: show this help\n"
+msgstr ""
+
 msgid "apply changeset? [ynmpcq?]:"
 msgstr ""
 
+msgid "no such option\n"
+msgstr ""
+
 msgid "transplant changesets from another branch"
 msgstr ""
 
@@ -4878,7 +5406,7 @@
 msgstr ""
 
 msgid ""
-"    hg transplant --branch REVISION --all will rebase the selected\n"
+"    :hg:`transplant --branch REVISION --all` will rebase the selected\n"
 "    branch (up to the named revision) onto your current working\n"
 "    directory."
 msgstr ""
@@ -4891,14 +5419,14 @@
 msgstr ""
 
 msgid ""
-"    If no merges or revisions are provided, hg transplant will start\n"
-"    an interactive changeset browser."
+"    If no merges or revisions are provided, :hg:`transplant` will\n"
+"    start an interactive changeset browser."
 msgstr ""
 
 msgid ""
 "    If a changeset application fails, you can fix the merge by hand\n"
-"    and then resume where you left off by calling hg transplant\n"
-"    --continue/-c.\n"
+"    and then resume where you left off by calling :hg:`transplant\n"
+"    --continue/-c`.\n"
 "    "
 msgstr ""
 
@@ -4923,7 +5451,15 @@
 msgid "outstanding local changes"
 msgstr ""
 
-msgid "pull patches from REPOSITORY"
+msgid ""
+"``transplanted(set)``\n"
+"    Transplanted changesets in set."
+msgstr ""
+
+msgid "pull patches from REPO"
+msgstr ""
+
+msgid "BRANCH"
 msgstr ""
 
 msgid "pull patches from branch BRANCH"
@@ -4944,10 +5480,10 @@
 msgid "continue last transplant session after repair"
 msgstr ""
 
-msgid "filter changesets through FILTER"
-msgstr ""
-
-msgid "hg transplant [-s REPOSITORY] [-b BRANCH [-a]] [-p REV] [-m REV] [REV]..."
+msgid "filter changesets through command"
+msgstr ""
+
+msgid "hg transplant [-s REPO] [-b BRANCH [-a]] [-p REV] [-m REV] [REV]..."
 msgstr ""
 
 msgid "allow the use of MBCS paths with problematic encodings"
@@ -4983,16 +5519,21 @@
 msgid "Note that there are some limitations on using this extension:"
 msgstr ""
 
-msgid ""
-"- You should use single encoding in one repository.\n"
-"- You should set same encoding for the repository by locale or\n"
-"  HGENCODING."
-msgstr ""
-
-msgid ""
-"Path encoding conversion are done between Unicode and\n"
-"encoding.encoding which is decided by Mercurial from current locale\n"
-"setting or HGENCODING.\n"
+msgid "- You should use single encoding in one repository."
+msgstr ""
+
+msgid ""
+"\n"
+"By default, win32mbcs uses encoding.encoding decided by Mercurial.\n"
+"You can specify the encoding by config option::"
+msgstr ""
+
+msgid ""
+" [win32mbcs]\n"
+" encoding = sjis"
+msgstr ""
+
+msgid "It is useful for the users who want to commit with UTF-8 log message.\n"
 msgstr ""
 
 #, python-format
@@ -5005,6 +5546,18 @@
 msgid "perform automatic newline conversion"
 msgstr ""
 
+msgid ""
+"  Deprecation: The win32text extension requires each user to configure\n"
+"  the extension again and again for each clone since the configuration\n"
+"  is not copied when cloning."
+msgstr ""
+
+msgid ""
+"  We have therefore made the ``eol`` as an alternative. The ``eol``\n"
+"  uses a version controlled file for its configuration and each clone\n"
+"  will therefore use the right settings from the start."
+msgstr ""
+
 msgid "To perform automatic newline conversion, use::"
 msgstr ""
 
@@ -5022,7 +5575,8 @@
 "  # or ** = macdecode:"
 msgstr ""
 
-msgid "If not doing conversion, to make sure you do not commit CRLF/CR by accident::"
+msgid ""
+"If not doing conversion, to make sure you do not commit CRLF/CR by accident::"
 msgstr ""
 
 msgid ""
@@ -5085,18 +5639,23 @@
 "** = %sdecode:\n"
 msgstr ""
 
+msgid ""
+"win32text is deprecated: http://mercurial.selenic.com/wiki/"
+"Win32TextExtension\n"
+msgstr ""
+
 msgid "discover and advertise repositories on the local network"
 msgstr ""
 
 msgid ""
-"Zeroconf enabled repositories will be announced in a network without\n"
+"Zeroconf-enabled repositories will be announced in a network without\n"
 "the need to configure a server or a service. They can be discovered\n"
 "without knowing their actual IP address."
 msgstr ""
 
 msgid ""
-"To allow other people to discover your repository using run \"hg serve\"\n"
-"in your repository::"
+"To allow other people to discover your repository using run\n"
+":hg:`serve` in your repository::"
 msgstr ""
 
 msgid ""
@@ -5104,7 +5663,9 @@
 "  $ hg serve"
 msgstr ""
 
-msgid "You can discover zeroconf enabled repositories by running \"hg paths\"::"
+msgid ""
+"You can discover Zeroconf-enabled repositories by running\n"
+":hg:`paths`::"
 msgstr ""
 
 msgid ""
@@ -5132,18 +5693,6 @@
 msgid "integrity check failed on %s:%d"
 msgstr ""
 
-#, python-format
-msgid "%s: not a Mercurial bundle file"
-msgstr ""
-
-#, python-format
-msgid "%s: unknown bundle version"
-msgstr ""
-
-#, python-format
-msgid "%s: unknown bundle compression type"
-msgstr ""
-
 msgid "cannot create new bundle repository"
 msgstr ""
 
@@ -5151,11 +5700,23 @@
 msgid "premature EOF reading chunk (got %d bytes, expected %d)"
 msgstr ""
 
+#, python-format
+msgid "%s: not a Mercurial bundle"
+msgstr "%s 不是一個Mercurial bundle"
+
+#, python-format
+msgid "%s: unknown bundle version %s"
+msgstr "%s: 未知的bundle 版本 %s"
+
 msgid "empty username"
-msgstr ""
+msgstr "使用者名稱是空白的"
 
 #, python-format
 msgid "username %s contains a newline"
+msgstr "使用者名稱 %s 包含一個換行字元"
+
+#, python-format
+msgid "the name '%s' is reserved"
 msgstr ""
 
 msgid "options --message and --logfile are mutually exclusive"
@@ -5163,7 +5724,7 @@
 
 #, python-format
 msgid "can't read commit message '%s': %s"
-msgstr ""
+msgstr "不能讀取提交訊息'%s': %s"
 
 msgid "limit must be a positive integer"
 msgstr ""
@@ -5171,26 +5732,27 @@
 msgid "limit must be positive"
 msgstr ""
 
-msgid "too many revisions specified"
-msgstr ""
-
 #, python-format
 msgid "invalid format spec '%%%s' in output filename"
 msgstr ""
 
 #, python-format
 msgid "adding %s\n"
-msgstr ""
+msgstr "新增 %s\n"
 
 #, python-format
 msgid "removing %s\n"
-msgstr ""
+msgstr "正在刪除 %s\n"
 
 #, python-format
 msgid "recording removal of %s as rename to %s (%d%% similar)\n"
 msgstr ""
 
 #, python-format
+msgid "%s has not been committed yet, so no copy data will be stored for %s.\n"
+msgstr ""
+
+#, python-format
 msgid "%s: not copying - file is not managed\n"
 msgstr ""
 
@@ -5204,33 +5766,37 @@
 
 #, python-format
 msgid "%s: not overwriting - file exists\n"
+msgstr "%s: 不能蓋寫 - 檔案存在\n"
+
+#, python-format
+msgid "%s: not recording move - %s does not exist\n"
+msgstr ""
+
+#, python-format
+msgid "%s: not recording copy - %s does not exist\n"
 msgstr ""
 
 #, python-format
 msgid "%s: deleted in working copy\n"
-msgstr ""
+msgstr "%s:在工作複本裡被刪除了\n"
 
 #, python-format
 msgid "%s: cannot copy - %s\n"
-msgstr ""
+msgstr "%s: 不能複製 - %s\n"
 
 #, python-format
 msgid "moving %s to %s\n"
-msgstr ""
+msgstr "%s 搬移到 %s\n"
 
 #, python-format
 msgid "copying %s to %s\n"
-msgstr ""
-
-#, python-format
-msgid "%s has not been committed yet, so no copy data will be stored for %s.\n"
-msgstr ""
+msgstr "%s 複製到 %s\n"
 
 msgid "no source or destination specified"
-msgstr ""
+msgstr "沒有描述來源或目的"
 
 msgid "no destination specified"
-msgstr ""
+msgstr "沒有描述目的"
 
 msgid "with multiple sources, destination must be an existing directory"
 msgstr ""
@@ -5240,78 +5806,77 @@
 msgstr ""
 
 msgid "no files to copy"
-msgstr ""
+msgstr "沒有檔案可複製"
 
 msgid "(consider using --after)\n"
 msgstr ""
 
+msgid "child process failed to start"
+msgstr ""
+
 #, python-format
 msgid "changeset:   %d:%s\n"
-msgstr ""
+msgstr "changeset:\t%d:%s\n"
 
 #, python-format
 msgid "branch:      %s\n"
-msgstr ""
+msgstr "分支:\t\t%s\n"
 
 #, python-format
 msgid "tag:         %s\n"
-msgstr ""
+msgstr "標記:\t\t%s\n"
 
 #, python-format
 msgid "parent:      %d:%s\n"
-msgstr ""
+msgstr "母系:\t\t%d:%s\n"
 
 #, python-format
 msgid "manifest:    %d:%s\n"
-msgstr ""
+msgstr "manifest:\t%d:%s\n"
 
 #, python-format
 msgid "user:        %s\n"
-msgstr ""
+msgstr "使用者:\t\t%s\n"
 
 #, python-format
 msgid "date:        %s\n"
-msgstr ""
+msgstr "日期:\t\t%s\n"
 
 msgid "files+:"
-msgstr ""
+msgstr "檔案+:"
 
 msgid "files-:"
-msgstr ""
+msgstr "檔案-:"
 
 msgid "files:"
-msgstr ""
+msgstr "檔案:"
 
 #, python-format
 msgid "files:       %s\n"
-msgstr ""
+msgstr "檔案:\t\t%s\n"
 
 #, python-format
 msgid "copies:      %s\n"
-msgstr ""
+msgstr "複製:\t\t%s\n"
 
 #, python-format
 msgid "extra:       %s=%s\n"
-msgstr ""
+msgstr "額外:\t\t%s=%s\n"
 
 msgid "description:\n"
-msgstr ""
+msgstr "描述:\n"
 
 #, python-format
 msgid "summary:     %s\n"
-msgstr ""
+msgstr "提交摘要:\t%s\n"
 
 #, python-format
 msgid "%s: no key named '%s'"
 msgstr ""
 
 #, python-format
-msgid "%s: %s"
-msgstr ""
-
-#, python-format
 msgid "Found revision %s from %s\n"
-msgstr ""
+msgstr "找到修定版 %s (從 %s 那邊)\n"
 
 msgid "revision matching date not found"
 msgstr ""
@@ -5320,29 +5885,29 @@
 msgid "cannot follow nonexistent file: \"%s\""
 msgstr ""
 
-#, python-format
-msgid "%s:%s copy source revision cannot be found!\n"
-msgstr ""
-
 msgid "can only follow copies/renames for explicit filenames"
 msgstr ""
 
+#, python-format
+msgid "skipping missing subrepository: %s\n"
+msgstr ""
+
 msgid "HG: Enter commit message.  Lines beginning with 'HG:' are removed."
-msgstr ""
+msgstr "HG: 輸入提交訊息.'HG:'開頭的行到時候都會被拿掉"
 
 msgid "HG: Leave message empty to abort commit."
-msgstr ""
+msgstr "HG: 如果想要取消提交,不要輸入任何訊息然後離開."
 
 #, python-format
 msgid "HG: user: %s"
-msgstr ""
+msgstr "HG: 使用者 : %s"
 
 msgid "HG: branch merge"
 msgstr ""
 
 #, python-format
 msgid "HG: branch '%s'"
-msgstr ""
+msgstr "HG: 分支 '%s'"
 
 #, python-format
 msgid "HG: subrepo %s"
@@ -5350,53 +5915,71 @@
 
 #, python-format
 msgid "HG: added %s"
-msgstr ""
+msgstr "HG: 新增 %s"
 
 #, python-format
 msgid "HG: changed %s"
-msgstr ""
+msgstr "HG: 更改 %s"
 
 #, python-format
 msgid "HG: removed %s"
-msgstr ""
+msgstr "HG: 移除 %s"
 
 msgid "HG: no files changed"
-msgstr ""
+msgstr "HG: 沒有檔案被改變"
 
 msgid "empty commit message"
-msgstr ""
-
-#, fuzzy
+msgstr "空白的提交訊息"
+
 msgid "add the specified files on the next commit"
-msgstr "新增下次要 commit 的檔案"
-
-#, fuzzy
+msgstr "新增下次要提交的檔案"
+
 msgid ""
 "    Schedule files to be version controlled and added to the\n"
 "    repository."
-msgstr "    新增要納入版本控制並加到 repository 的檔案。"
-
-#, fuzzy
+msgstr ""
+"    新增要納入版本控制並加到儲存庫的檔案。\n"
+" "
+
 msgid ""
 "    The files will be added to the repository at the next commit. To\n"
-"    undo an add before that, see hg forget."
-msgstr ""
-"    這些檔案將於下次 commit 時被加到 repository。\n"
-"    若想要回到新增檔案前的狀態,請參閱 hg revert 命令。"
-
-#, fuzzy
-msgid ""
-"    If no names are given, add all files to the repository.\n"
+"    undo an add before that, see :hg:`forget`."
+msgstr ""
+"    這些檔案將於下次提交時被加到儲存庫\n"
+"    若想要回到新增檔案前的狀態,請參閱 :hg:`forget`."
+
+msgid "    If no names are given, add all files to the repository."
+msgstr "    如果沒有指定檔案,所有的檔案都將會加到儲存庫"
+
+msgid "    .. container:: verbose"
+msgstr ""
+
+msgid ""
+"       An example showing how new (unknown) files are added\n"
+"       automatically by :hg:`add`::"
+msgstr ""
+
+msgid ""
+"         $ ls\n"
+"         foo.c\n"
+"         $ hg status\n"
+"         ? foo.c\n"
+"         $ hg add\n"
+"         adding foo.c\n"
+"         $ hg status\n"
+"         A foo.c"
+msgstr ""
+
+msgid ""
+"    Returns 0 if all files are successfully added.\n"
 "    "
 msgstr ""
-"    如果沒有指定檔案,則會將所有的檔案都標示為加到 repository。\n"
+"    如果所有檔案新增成功的話就返回0\n"
 "    "
 
-#, fuzzy
 msgid "add all new files, delete all missing files"
 msgstr "新增所有未受版本控制的檔案,並刪除所有消失的檔案。"
 
-#, fuzzy
 msgid ""
 "    Add all new files and remove all missing files from the\n"
 "    repository."
@@ -5404,7 +5987,6 @@
 "    新增所有未加到 repository 的檔案,並移除已加到 repository\n"
 "    卻消失的檔案。"
 
-#, fuzzy
 msgid ""
 "    New files are ignored if they match any of the patterns in\n"
 "    .hgignore. As with add, these changes take effect at the next\n"
@@ -5413,15 +5995,14 @@
 "    如果新的檔案中檔名有符合任一存在於 .hgignore 的樣式,\n"
 "    則該檔將被忽略。如同 add 命令,這些變更將於下次提交時發生效用。"
 
-#, fuzzy
 msgid ""
 "    Use the -s/--similarity option to detect renamed files. With a\n"
 "    parameter greater than 0, this compares every removed file with\n"
 "    every added file and records those similar enough as renames. This\n"
 "    option takes a percentage between 0 (disabled) and 100 (files must\n"
 "    be identical) as its parameter. Detecting renamed files this way\n"
-"    can be expensive.\n"
-"    "
+"    can be expensive. After using this option, :hg:`status -C` can be\n"
+"    used to check which files were identified as moved or renamed."
 msgstr ""
 "    可使用 -s/--similarity 選項去偵測更名的檔案。後面接著的是一個\n"
 "    大於 0 的參數,可用來比對每個被新增或移除的檔案,並試圖找出其\n"
@@ -5443,28 +6024,18 @@
 "    List changes in files, showing the revision id responsible for\n"
 "    each line"
 msgstr ""
-"    List changes in files, showing the revision id responsible for\n"
-"    each line"
 
 msgid ""
 "    This command is useful for discovering when a change was made and\n"
 "    by whom."
 msgstr ""
-"    This command is useful for discovering when a change was made and\n"
-"    by whom."
 
 msgid ""
 "    Without the -a/--text option, annotate will avoid processing files\n"
 "    it detects as binary. With -a, annotate will annotate the file\n"
 "    anyway, although the results will probably be neither useful\n"
-"    nor desirable.\n"
-"    "
-msgstr ""
-"    Without the -a/--text option, annotate will avoid processing files\n"
-"    it detects as binary. With -a, annotate will annotate the file\n"
-"    anyway, although the results will probably be neither useful\n"
-"    nor desirable.\n"
-"    "
+"    nor desirable."
+msgstr ""
 
 msgid "at least one filename or pattern is required"
 msgstr ""
@@ -5476,66 +6047,45 @@
 msgid "%s: binary file\n"
 msgstr ""
 
-#, fuzzy
 msgid "create an unversioned archive of a repository revision"
 msgstr "建立一個沒有版本控制的版本封存"
 
-#, fuzzy
 msgid ""
 "    By default, the revision used is the parent of the working\n"
 "    directory; use -r/--rev to specify a different revision."
 msgstr ""
-"    By default, the revision used is the parent of the working\n"
-"    directory; use -r/--rev to specify a different revision."
-
-#, fuzzy
-msgid ""
-"    To specify the type of archive to create, use -t/--type. Valid\n"
-"    types are::"
-msgstr ""
-"    To specify the type of archive to create, use -t/--type. Valid\n"
-"    types are:"
-
-#, fuzzy
-msgid ""
-"      \"files\" (default): a directory full of files\n"
-"      \"tar\": tar archive, uncompressed\n"
-"      \"tbz2\": tar archive, compressed using bzip2\n"
-"      \"tgz\": tar archive, compressed using gzip\n"
-"      \"uzip\": zip archive, uncompressed\n"
-"      \"zip\": zip archive, compressed using deflate"
-msgstr ""
-"    \"files\" (default): a directory full of files\n"
-"    \"tar\": tar archive, uncompressed\n"
-"    \"tbz2\": tar archive, compressed using bzip2\n"
-"    \"tgz\": tar archive, compressed using gzip\n"
-"    \"uzip\": zip archive, uncompressed\n"
-"    \"zip\": zip archive, compressed using deflate"
-
-#, fuzzy
+
+msgid ""
+"    The archive type is automatically detected based on file\n"
+"    extension (or override using -t/--type)."
+msgstr ""
+
+msgid "    Valid types are:"
+msgstr ""
+
+msgid ""
+"    :``files``: a directory full of files (default)\n"
+"    :``tar``:   tar archive, uncompressed\n"
+"    :``tbz2``:  tar archive, compressed using bzip2\n"
+"    :``tgz``:   tar archive, compressed using gzip\n"
+"    :``uzip``:  zip archive, uncompressed\n"
+"    :``zip``:   zip archive, compressed using deflate"
+msgstr ""
+
 msgid ""
 "    The exact name of the destination archive or directory is given\n"
-"    using a format string; see 'hg help export' for details."
-msgstr ""
-"    The exact name of the destination archive or directory is given\n"
-"    using a format string; see 'hg help export' for details."
-
-#, fuzzy
+"    using a format string; see :hg:`help export` for details."
+msgstr ""
+
 msgid ""
 "    Each member added to an archive file has a directory prefix\n"
 "    prepended. Use -p/--prefix to specify a format string for the\n"
 "    prefix. The default is the basename of the archive, with suffixes\n"
-"    removed.\n"
-"    "
-msgstr ""
-"    Each member added to an archive file has a directory prefix\n"
-"    prepended. Use -p/--prefix to specify a format string for the\n"
-"    prefix. The default is the basename of the archive, with suffixes\n"
-"    removed.\n"
-"    "
+"    removed."
+msgstr ""
 
 msgid "no working directory: please specify a revision"
-msgstr ""
+msgstr "沒有工作目錄:請描述一個版次"
 
 msgid "repository root cannot be destination"
 msgstr ""
@@ -5547,31 +6097,33 @@
 msgstr "回復先前 changeset 所作的變更"
 
 msgid ""
-"    Commit the backed out changes as a new changeset. The new\n"
-"    changeset is a child of the backed out changeset."
-msgstr ""
-"    Commit the backed out changes as a new changeset. The new\n"
-"    changeset is a child of the backed out changeset."
-
-msgid ""
-"    If you backout a changeset other than the tip, a new head is\n"
-"    created. This head will be the new tip and you should merge this\n"
-"    backout changeset with another head."
-msgstr ""
-"    If you backout a changeset other than the tip, a new head is\n"
-"    created. This head will be the new tip and you should merge this\n"
-"    backout changeset with another head."
-
-msgid ""
+"    The backout command merges the reverse effect of the reverted\n"
+"    changeset into the working directory."
+msgstr ""
+
+msgid ""
+"    With the --merge option, it first commits the reverted changes\n"
+"    as a new changeset. This new changeset is a child of the reverted\n"
+"    changeset.\n"
 "    The --merge option remembers the parent of the working directory\n"
 "    before starting the backout, then merges the new head with that\n"
-"    changeset afterwards. This saves you from doing the merge by hand.\n"
-"    The result of this merge is not committed, as with a normal merge."
-msgstr ""
-"    The --merge option remembers the parent of the working directory\n"
-"    before starting the backout, then merges the new head with that\n"
-"    changeset afterwards. This saves you from doing the merge by hand.\n"
-"    The result of this merge is not committed, as with a normal merge."
+"    changeset afterwards.\n"
+"    This will result in an explicit merge in the history."
+msgstr ""
+
+msgid ""
+"    If you backout a changeset other than the original parent of the\n"
+"    working directory, the result of this merge is not committed,\n"
+"    as with a normal merge. Otherwise, no merge is needed and the\n"
+"    commit is automatic."
+msgstr ""
+
+msgid ""
+"    Note that the default behavior (without --merge) has changed in\n"
+"    version 1.7. To restore the previous default behavior, use\n"
+"    :hg:`backout --merge` and then :hg:`update --clean .` to get rid of\n"
+"    the ongoing merge."
+msgstr ""
 
 msgid "please specify just one revision"
 msgstr ""
@@ -5603,12 +6155,6 @@
 msgid "merging with changeset %s\n"
 msgstr ""
 
-msgid "the backout changeset is a new head - do not forget to merge\n"
-msgstr ""
-
-msgid "(use \"backout --merge\" if you want to auto-merge)\n"
-msgstr ""
-
 msgid "subdivision search of changesets"
 msgstr "對 changesets 作二分法搜尋"
 
@@ -5622,36 +6168,19 @@
 "    bad, and bisect will either update to another candidate changeset\n"
 "    or announce that it has found the bad revision."
 msgstr ""
-"    This command helps to find changesets which introduce problems. To\n"
-"    use, mark the earliest changeset you know exhibits the problem as\n"
-"    bad, then mark the latest changeset which is free from the problem\n"
-"    as good. Bisect will update your working directory to a revision\n"
-"    for testing (unless the -U/--noupdate option is specified). Once\n"
-"    you have performed tests, mark the working directory as good or\n"
-"    bad, and bisect will either update to another candidate changeset\n"
-"    or announce that it has found the bad revision."
 
 msgid ""
 "    As a shortcut, you can also use the revision argument to mark a\n"
 "    revision as good or bad without checking it out first."
 msgstr ""
-"    As a shortcut, you can also use the revision argument to mark a\n"
-"    revision as good or bad without checking it out first."
 
 msgid ""
 "    If you supply a command, it will be used for automatic bisection.\n"
 "    Its exit status will be used to mark revisions as good or bad:\n"
 "    status 0 means good, 125 means to skip the revision, 127\n"
 "    (command not found) will abort the bisection, and any other\n"
-"    non-zero exit status means the revision is bad.\n"
-"    "
-msgstr ""
-"    If you supply a command, it will be used for automatic bisection.\n"
-"    Its exit status will be used to mark revisions as good or bad:\n"
-"    status 0 means good, 125 means to skip the revision, 127\n"
-"    (command not found) will abort the bisection, and any other\n"
-"    non-zero exit status means the revision is bad.\n"
-"    "
+"    non-zero exit status means the revision is bad."
+msgstr ""
 
 msgid "The first good revision is:\n"
 msgstr ""
@@ -5659,6 +6188,12 @@
 msgid "The first bad revision is:\n"
 msgstr ""
 
+#, python-format
+msgid ""
+"Not all ancestors of this changeset have been checked.\n"
+"To check the other ancestors, start from the common ancestor, %s.\n"
+msgstr ""
+
 msgid "Due to skipped revisions, the first good revision could be any of:\n"
 msgstr ""
 
@@ -5693,11 +6228,9 @@
 msgid "Testing changeset %d:%s (%d changesets remaining, ~%d tests)\n"
 msgstr ""
 
-#, fuzzy
 msgid "set or show the current branch name"
-msgstr "設定或顯示目前的 branch 名稱"
-
-#, fuzzy
+msgstr "設定或顯示目前的分支名稱"
+
 msgid ""
 "    With no argument, show the current branch name. With one argument,\n"
 "    set the working directory branch name (the branch will not exist\n"
@@ -5705,236 +6238,100 @@
 "    recommends that primary development take place on the 'default'\n"
 "    branch."
 msgstr ""
-"    With no argument, show the current branch name. With one argument,\n"
-"    set the working directory branch name (the branch will not exist\n"
-"    in the repository until the next commit). Standard practice\n"
-"    recommends that primary development take place on the 'default'\n"
-"    branch."
-
-#, fuzzy
+
 msgid ""
 "    Unless -f/--force is specified, branch will not let you set a\n"
 "    branch name that already exists, even if it's inactive."
 msgstr ""
-"    Unless -f/--force is specified, branch will not let you set a\n"
-"    branch name that already exists, even if it's inactive."
-
-#, fuzzy
+
 msgid ""
 "    Use -C/--clean to reset the working directory branch to that of\n"
 "    the parent of the working directory, negating a previous branch\n"
 "    change."
 msgstr ""
-"    Use -C/--clean to reset the working directory branch to that of\n"
-"    the parent of the working directory, negating a previous branch\n"
-"    change."
-
-#, fuzzy
-msgid ""
-"    Use the command 'hg update' to switch to an existing branch. Use\n"
-"    'hg commit --close-branch' to mark this branch as closed.\n"
-"    "
-msgstr ""
-"    Use the command 'hg update' to switch to an existing branch.\n"
-"    "
+
+msgid ""
+"    Use the command :hg:`update` to switch to an existing branch. Use\n"
+"    :hg:`commit --close-branch` to mark this branch as closed."
+msgstr ""
 
 #, python-format
 msgid "reset working directory to branch %s\n"
-msgstr ""
-
-msgid "a branch of the same name already exists (use --force to override)"
+msgstr "重置工作目錄到%s分支\n"
+
+msgid ""
+"a branch of the same name already exists (use 'hg update' to switch to it)"
 msgstr ""
 
 #, python-format
 msgid "marked working directory as branch %s\n"
-msgstr ""
-
-#, fuzzy
+msgstr "標記工作目錄為%s分支\n"
+
 msgid "list repository named branches"
 msgstr "顯示 repository 的 named branches"
 
-#, fuzzy
 msgid ""
 "    List the repository's named branches, indicating which ones are\n"
 "    inactive. If -c/--closed is specified, also list branches which have\n"
-"    been marked closed (see hg commit --close-branch)."
-msgstr ""
-"    List the repository's named branches, indicating which ones are\n"
-"    inactive. If active is specified, only show active branches."
-
-#, fuzzy
+"    been marked closed (see :hg:`commit --close-branch`)."
+msgstr ""
+
 msgid ""
 "    If -a/--active is specified, only show active branches. A branch\n"
 "    is considered active if it contains repository heads."
-msgstr "    A branch is considered active if it contains repository heads."
-
-#, fuzzy
-msgid ""
-"    Use the command 'hg update' to switch to an existing branch.\n"
+msgstr ""
+
+msgid "    Use the command :hg:`update` to switch to an existing branch."
+msgstr ""
+
+msgid ""
+"    Returns 0.\n"
 "    "
 msgstr ""
-"    Use the command 'hg update' to switch to an existing branch.\n"
-"    "
-
-#, fuzzy
+
+msgid " (closed)"
+msgstr ""
+
+msgid " (inactive)"
+msgstr ""
+
 msgid "create a changegroup file"
-msgstr ""
-"建立一個 changegroup 檔案\n"
-"\n"
-"    Generate a compressed changegroup file collecting changesets not\n"
-"    known to be in another repository.\n"
-"\n"
-"    If no destination repository is specified the destination is\n"
-"    assumed to have all the nodes specified by one or more --base\n"
-"    parameters. To create a bundle containing all changesets, use\n"
-"    -a/--all (or --base null). To change the compression method\n"
-"    applied, use the -t/--type option (by default, bundles are\n"
-"    compressed using bz2).\n"
-"\n"
-"    The bundle file can then be transferred using conventional means\n"
-"    and applied to another repository with the unbundle or pull\n"
-"    command. This is useful when direct push and pull are not\n"
-"    available or when exporting an entire repository is undesirable.\n"
-"\n"
-"    Applying bundles preserves all changeset contents including\n"
-"    permissions, copy/rename information, and revision history.\n"
-"    "
-
-#, fuzzy
+msgstr "建立一個 changegroup 檔案"
+
 msgid ""
 "    Generate a compressed changegroup file collecting changesets not\n"
 "    known to be in another repository."
 msgstr ""
-"建立一個 changegroup 檔案\n"
-"\n"
-"    Generate a compressed changegroup file collecting changesets not\n"
-"    known to be in another repository.\n"
-"\n"
-"    If no destination repository is specified the destination is\n"
-"    assumed to have all the nodes specified by one or more --base\n"
-"    parameters. To create a bundle containing all changesets, use\n"
-"    -a/--all (or --base null). To change the compression method\n"
-"    applied, use the -t/--type option (by default, bundles are\n"
-"    compressed using bz2).\n"
-"\n"
-"    The bundle file can then be transferred using conventional means\n"
-"    and applied to another repository with the unbundle or pull\n"
-"    command. This is useful when direct push and pull are not\n"
-"    available or when exporting an entire repository is undesirable.\n"
-"\n"
-"    Applying bundles preserves all changeset contents including\n"
-"    permissions, copy/rename information, and revision history.\n"
-"    "
-
-#, fuzzy
-msgid ""
-"    If no destination repository is specified the destination is\n"
-"    assumed to have all the nodes specified by one or more --base\n"
+
+msgid ""
+"    If you omit the destination repository, then hg assumes the\n"
+"    destination will have all the nodes you specify with --base\n"
 "    parameters. To create a bundle containing all changesets, use\n"
 "    -a/--all (or --base null)."
 msgstr ""
-"建立一個 changegroup 檔案\n"
-"\n"
-"    Generate a compressed changegroup file collecting changesets not\n"
-"    known to be in another repository.\n"
-"\n"
-"    If no destination repository is specified the destination is\n"
-"    assumed to have all the nodes specified by one or more --base\n"
-"    parameters. To create a bundle containing all changesets, use\n"
-"    -a/--all (or --base null). To change the compression method\n"
-"    applied, use the -t/--type option (by default, bundles are\n"
-"    compressed using bz2).\n"
-"\n"
-"    The bundle file can then be transferred using conventional means\n"
-"    and applied to another repository with the unbundle or pull\n"
-"    command. This is useful when direct push and pull are not\n"
-"    available or when exporting an entire repository is undesirable.\n"
-"\n"
-"    Applying bundles preserves all changeset contents including\n"
-"    permissions, copy/rename information, and revision history.\n"
-"    "
-
-#, fuzzy
+
 msgid ""
 "    You can change compression method with the -t/--type option.\n"
 "    The available compression methods are: none, bzip2, and\n"
 "    gzip (by default, bundles are compressed using bzip2)."
 msgstr ""
-"建立一個 changegroup 檔案\n"
-"\n"
-"    Generate a compressed changegroup file collecting changesets not\n"
-"    known to be in another repository.\n"
-"\n"
-"    If no destination repository is specified the destination is\n"
-"    assumed to have all the nodes specified by one or more --base\n"
-"    parameters. To create a bundle containing all changesets, use\n"
-"    -a/--all (or --base null). To change the compression method\n"
-"    applied, use the -t/--type option (by default, bundles are\n"
-"    compressed using bz2).\n"
-"\n"
-"    The bundle file can then be transferred using conventional means\n"
-"    and applied to another repository with the unbundle or pull\n"
-"    command. This is useful when direct push and pull are not\n"
-"    available or when exporting an entire repository is undesirable.\n"
-"\n"
-"    Applying bundles preserves all changeset contents including\n"
-"    permissions, copy/rename information, and revision history.\n"
-"    "
-
-#, fuzzy
+
 msgid ""
 "    The bundle file can then be transferred using conventional means\n"
 "    and applied to another repository with the unbundle or pull\n"
 "    command. This is useful when direct push and pull are not\n"
 "    available or when exporting an entire repository is undesirable."
 msgstr ""
-"建立一個 changegroup 檔案\n"
-"\n"
-"    Generate a compressed changegroup file collecting changesets not\n"
-"    known to be in another repository.\n"
-"\n"
-"    If no destination repository is specified the destination is\n"
-"    assumed to have all the nodes specified by one or more --base\n"
-"    parameters. To create a bundle containing all changesets, use\n"
-"    -a/--all (or --base null). To change the compression method\n"
-"    applied, use the -t/--type option (by default, bundles are\n"
-"    compressed using bz2).\n"
-"\n"
-"    The bundle file can then be transferred using conventional means\n"
-"    and applied to another repository with the unbundle or pull\n"
-"    command. This is useful when direct push and pull are not\n"
-"    available or when exporting an entire repository is undesirable.\n"
-"\n"
-"    Applying bundles preserves all changeset contents including\n"
-"    permissions, copy/rename information, and revision history.\n"
-"    "
-
-#, fuzzy
+
 msgid ""
 "    Applying bundles preserves all changeset contents including\n"
-"    permissions, copy/rename information, and revision history.\n"
+"    permissions, copy/rename information, and revision history."
+msgstr ""
+
+msgid ""
+"    Returns 0 on success, 1 if no changes found.\n"
 "    "
 msgstr ""
-"建立一個 changegroup 檔案\n"
-"\n"
-"    Generate a compressed changegroup file collecting changesets not\n"
-"    known to be in another repository.\n"
-"\n"
-"    If no destination repository is specified the destination is\n"
-"    assumed to have all the nodes specified by one or more --base\n"
-"    parameters. To create a bundle containing all changesets, use\n"
-"    -a/--all (or --base null). To change the compression method\n"
-"    applied, use the -t/--type option (by default, bundles are\n"
-"    compressed using bz2).\n"
-"\n"
-"    The bundle file can then be transferred using conventional means\n"
-"    and applied to another repository with the unbundle or pull\n"
-"    command. This is useful when direct push and pull are not\n"
-"    available or when exporting an entire repository is undesirable.\n"
-"\n"
-"    Applying bundles preserves all changeset contents including\n"
-"    permissions, copy/rename information, and revision history.\n"
-"    "
 
 msgid "--base is incompatible with specifying a destination"
 msgstr ""
@@ -5942,704 +6339,148 @@
 msgid "unknown bundle type specified with --type"
 msgstr ""
 
-#, fuzzy
 msgid "output the current or given revision of files"
-msgstr "輸出目前或是特定 revision 的檔案內容"
-
-#, fuzzy
+msgstr "輸出目前或是特定修定版的檔案內容"
+
 msgid ""
 "    Print the specified files as they were at the given revision. If\n"
 "    no revision is given, the parent of the working directory is used,\n"
 "    or tip if no revision is checked out."
 msgstr ""
-"    Print the specified files as they were at the given revision. If\n"
-"    no revision is given, the parent of the working directory is used,\n"
-"    or tip if no revision is checked out."
-
-#, fuzzy
-msgid ""
-"    Output may be to a file, in which case the name of the file is\n"
-"    given using a format string. The formatting rules are the same as\n"
-"    for the export command, with the following additions::"
-msgstr ""
+
+msgid ""
 "    Output may be to a file, in which case the name of the file is\n"
 "    given using a format string. The formatting rules are the same as\n"
 "    for the export command, with the following additions:"
-
-#, fuzzy
-msgid ""
-"      %s   basename of file being printed\n"
-"      %d   dirname of file being printed, or '.' if in repository root\n"
-"      %p   root-relative path name of file being printed\n"
-"    "
-msgstr ""
-"    %s   basename of file being printed\n"
-"    %d   dirname of file being printed, or '.' if in repository root\n"
-"    %p   root-relative path name of file being printed\n"
-"    "
-
-#, fuzzy
+msgstr ""
+
+msgid ""
+"    :``%s``: basename of file being printed\n"
+"    :``%d``: dirname of file being printed, or '.' if in repository root\n"
+"    :``%p``: root-relative path name of file being printed"
+msgstr ""
+
 msgid "make a copy of an existing repository"
-msgstr ""
-"對已存在的 repository 複製一份\n"
-"\n"
-"    Create a copy of an existing repository in a new directory.\n"
-"\n"
-"    If no destination directory name is specified, it defaults to the\n"
-"    basename of the source.\n"
-"\n"
-"    The location of the source is added to the new repository's\n"
-"    .hg/hgrc file, as the default to be used for future pulls.\n"
-"\n"
-"    If you use the -r/--rev option to clone up to a specific revision,\n"
-"    no subsequent revisions (including subsequent tags) will be\n"
-"    present in the cloned repository. This option implies --pull, even\n"
-"    on local repositories.\n"
-"\n"
-"    By default, clone will check out the head of the 'default' branch.\n"
-"    If the -U/--noupdate option is used, the new clone will contain\n"
-"    only a repository (.hg) and no working copy (the working copy\n"
-"    parent is the null revision).\n"
-"\n"
-"    See 'hg help urls' for valid source format details.\n"
-"\n"
-"    It is possible to specify an ssh:// URL as the destination, but no\n"
-"    .hg/hgrc and working directory will be created on the remote side.\n"
-"    Please see 'hg help urls' for important details about ssh:// URLs.\n"
-"\n"
-"    For efficiency, hardlinks are used for cloning whenever the source\n"
-"    and destination are on the same filesystem (note this applies only\n"
-"    to the repository data, not to the checked out files). Some\n"
-"    filesystems, such as AFS, implement hardlinking incorrectly, but\n"
-"    do not report errors. In these cases, use the --pull option to\n"
-"    avoid hardlinking.\n"
-"\n"
-"    In some cases, you can clone repositories and checked out files\n"
-"    using full hardlinks with\n"
-"\n"
-"      $ cp -al REPO REPOCLONE\n"
-"\n"
-"    This is the fastest way to clone, but it is not always safe. The\n"
-"    operation is not atomic (making sure REPO is not modified during\n"
-"    the operation is up to you) and you have to make sure your editor\n"
-"    breaks hardlinks (Emacs and most Linux Kernel tools do so). Also,\n"
-"    this is not compatible with certain extensions that place their\n"
-"    metadata under the .hg directory, such as mq.\n"
-"\n"
-"    "
-
-#, fuzzy
+msgstr "對已存在的 repository 複製一份"
+
 msgid "    Create a copy of an existing repository in a new directory."
 msgstr ""
-"對已存在的 repository 複製一份\n"
-"\n"
-"    Create a copy of an existing repository in a new directory.\n"
-"\n"
-"    If no destination directory name is specified, it defaults to the\n"
-"    basename of the source.\n"
-"\n"
-"    The location of the source is added to the new repository's\n"
-"    .hg/hgrc file, as the default to be used for future pulls.\n"
-"\n"
-"    If you use the -r/--rev option to clone up to a specific revision,\n"
-"    no subsequent revisions (including subsequent tags) will be\n"
-"    present in the cloned repository. This option implies --pull, even\n"
-"    on local repositories.\n"
-"\n"
-"    By default, clone will check out the head of the 'default' branch.\n"
-"    If the -U/--noupdate option is used, the new clone will contain\n"
-"    only a repository (.hg) and no working copy (the working copy\n"
-"    parent is the null revision).\n"
-"\n"
-"    See 'hg help urls' for valid source format details.\n"
-"\n"
-"    It is possible to specify an ssh:// URL as the destination, but no\n"
-"    .hg/hgrc and working directory will be created on the remote side.\n"
-"    Please see 'hg help urls' for important details about ssh:// URLs.\n"
-"\n"
-"    For efficiency, hardlinks are used for cloning whenever the source\n"
-"    and destination are on the same filesystem (note this applies only\n"
-"    to the repository data, not to the checked out files). Some\n"
-"    filesystems, such as AFS, implement hardlinking incorrectly, but\n"
-"    do not report errors. In these cases, use the --pull option to\n"
-"    avoid hardlinking.\n"
-"\n"
-"    In some cases, you can clone repositories and checked out files\n"
-"    using full hardlinks with\n"
-"\n"
-"      $ cp -al REPO REPOCLONE\n"
-"\n"
-"    This is the fastest way to clone, but it is not always safe. The\n"
-"    operation is not atomic (making sure REPO is not modified during\n"
-"    the operation is up to you) and you have to make sure your editor\n"
-"    breaks hardlinks (Emacs and most Linux Kernel tools do so). Also,\n"
-"    this is not compatible with certain extensions that place their\n"
-"    metadata under the .hg directory, such as mq.\n"
-"\n"
-"    "
-
-#, fuzzy
+
 msgid ""
 "    If no destination directory name is specified, it defaults to the\n"
 "    basename of the source."
 msgstr ""
-"對已存在的 repository 複製一份\n"
-"\n"
-"    Create a copy of an existing repository in a new directory.\n"
-"\n"
-"    If no destination directory name is specified, it defaults to the\n"
-"    basename of the source.\n"
-"\n"
-"    The location of the source is added to the new repository's\n"
-"    .hg/hgrc file, as the default to be used for future pulls.\n"
-"\n"
-"    If you use the -r/--rev option to clone up to a specific revision,\n"
-"    no subsequent revisions (including subsequent tags) will be\n"
-"    present in the cloned repository. This option implies --pull, even\n"
-"    on local repositories.\n"
-"\n"
-"    By default, clone will check out the head of the 'default' branch.\n"
-"    If the -U/--noupdate option is used, the new clone will contain\n"
-"    only a repository (.hg) and no working copy (the working copy\n"
-"    parent is the null revision).\n"
-"\n"
-"    See 'hg help urls' for valid source format details.\n"
-"\n"
-"    It is possible to specify an ssh:// URL as the destination, but no\n"
-"    .hg/hgrc and working directory will be created on the remote side.\n"
-"    Please see 'hg help urls' for important details about ssh:// URLs.\n"
-"\n"
-"    For efficiency, hardlinks are used for cloning whenever the source\n"
-"    and destination are on the same filesystem (note this applies only\n"
-"    to the repository data, not to the checked out files). Some\n"
-"    filesystems, such as AFS, implement hardlinking incorrectly, but\n"
-"    do not report errors. In these cases, use the --pull option to\n"
-"    avoid hardlinking.\n"
-"\n"
-"    In some cases, you can clone repositories and checked out files\n"
-"    using full hardlinks with\n"
-"\n"
-"      $ cp -al REPO REPOCLONE\n"
-"\n"
-"    This is the fastest way to clone, but it is not always safe. The\n"
-"    operation is not atomic (making sure REPO is not modified during\n"
-"    the operation is up to you) and you have to make sure your editor\n"
-"    breaks hardlinks (Emacs and most Linux Kernel tools do so). Also,\n"
-"    this is not compatible with certain extensions that place their\n"
-"    metadata under the .hg directory, such as mq.\n"
-"\n"
-"    "
-
-#, fuzzy
+
 msgid ""
 "    The location of the source is added to the new repository's\n"
 "    .hg/hgrc file, as the default to be used for future pulls."
 msgstr ""
-"對已存在的 repository 複製一份\n"
-"\n"
-"    Create a copy of an existing repository in a new directory.\n"
-"\n"
-"    If no destination directory name is specified, it defaults to the\n"
-"    basename of the source.\n"
-"\n"
-"    The location of the source is added to the new repository's\n"
-"    .hg/hgrc file, as the default to be used for future pulls.\n"
-"\n"
-"    If you use the -r/--rev option to clone up to a specific revision,\n"
-"    no subsequent revisions (including subsequent tags) will be\n"
-"    present in the cloned repository. This option implies --pull, even\n"
-"    on local repositories.\n"
-"\n"
-"    By default, clone will check out the head of the 'default' branch.\n"
-"    If the -U/--noupdate option is used, the new clone will contain\n"
-"    only a repository (.hg) and no working copy (the working copy\n"
-"    parent is the null revision).\n"
-"\n"
-"    See 'hg help urls' for valid source format details.\n"
-"\n"
-"    It is possible to specify an ssh:// URL as the destination, but no\n"
-"    .hg/hgrc and working directory will be created on the remote side.\n"
-"    Please see 'hg help urls' for important details about ssh:// URLs.\n"
-"\n"
-"    For efficiency, hardlinks are used for cloning whenever the source\n"
-"    and destination are on the same filesystem (note this applies only\n"
-"    to the repository data, not to the checked out files). Some\n"
-"    filesystems, such as AFS, implement hardlinking incorrectly, but\n"
-"    do not report errors. In these cases, use the --pull option to\n"
-"    avoid hardlinking.\n"
-"\n"
-"    In some cases, you can clone repositories and checked out files\n"
-"    using full hardlinks with\n"
-"\n"
-"      $ cp -al REPO REPOCLONE\n"
-"\n"
-"    This is the fastest way to clone, but it is not always safe. The\n"
-"    operation is not atomic (making sure REPO is not modified during\n"
-"    the operation is up to you) and you have to make sure your editor\n"
-"    breaks hardlinks (Emacs and most Linux Kernel tools do so). Also,\n"
-"    this is not compatible with certain extensions that place their\n"
-"    metadata under the .hg directory, such as mq.\n"
-"\n"
-"    "
-
-#, fuzzy
-msgid ""
-"    If you use the -r/--rev option to clone up to a specific revision,\n"
-"    no subsequent revisions (including subsequent tags) will be\n"
-"    present in the cloned repository. This option implies --pull, even\n"
-"    on local repositories."
-msgstr ""
-"對已存在的 repository 複製一份\n"
-"\n"
-"    Create a copy of an existing repository in a new directory.\n"
-"\n"
-"    If no destination directory name is specified, it defaults to the\n"
-"    basename of the source.\n"
-"\n"
-"    The location of the source is added to the new repository's\n"
-"    .hg/hgrc file, as the default to be used for future pulls.\n"
-"\n"
-"    If you use the -r/--rev option to clone up to a specific revision,\n"
-"    no subsequent revisions (including subsequent tags) will be\n"
-"    present in the cloned repository. This option implies --pull, even\n"
-"    on local repositories.\n"
-"\n"
-"    By default, clone will check out the head of the 'default' branch.\n"
-"    If the -U/--noupdate option is used, the new clone will contain\n"
-"    only a repository (.hg) and no working copy (the working copy\n"
-"    parent is the null revision).\n"
-"\n"
-"    See 'hg help urls' for valid source format details.\n"
-"\n"
-"    It is possible to specify an ssh:// URL as the destination, but no\n"
+
+msgid "    See :hg:`help urls` for valid source format details."
+msgstr ""
+
+msgid ""
+"    It is possible to specify an ``ssh://`` URL as the destination, but no\n"
 "    .hg/hgrc and working directory will be created on the remote side.\n"
-"    Please see 'hg help urls' for important details about ssh:// URLs.\n"
-"\n"
-"    For efficiency, hardlinks are used for cloning whenever the source\n"
-"    and destination are on the same filesystem (note this applies only\n"
-"    to the repository data, not to the checked out files). Some\n"
-"    filesystems, such as AFS, implement hardlinking incorrectly, but\n"
-"    do not report errors. In these cases, use the --pull option to\n"
-"    avoid hardlinking.\n"
-"\n"
-"    In some cases, you can clone repositories and checked out files\n"
-"    using full hardlinks with\n"
-"\n"
-"      $ cp -al REPO REPOCLONE\n"
-"\n"
-"    This is the fastest way to clone, but it is not always safe. The\n"
-"    operation is not atomic (making sure REPO is not modified during\n"
-"    the operation is up to you) and you have to make sure your editor\n"
-"    breaks hardlinks (Emacs and most Linux Kernel tools do so). Also,\n"
-"    this is not compatible with certain extensions that place their\n"
-"    metadata under the .hg directory, such as mq.\n"
-"\n"
-"    "
-
-#, fuzzy
-msgid ""
-"    By default, clone will check out the head of the 'default' branch.\n"
-"    If the -U/--noupdate option is used, the new clone will contain\n"
-"    only a repository (.hg) and no working copy (the working copy\n"
-"    parent is the null revision)."
-msgstr ""
-"對已存在的 repository 複製一份\n"
-"\n"
-"    Create a copy of an existing repository in a new directory.\n"
-"\n"
-"    If no destination directory name is specified, it defaults to the\n"
-"    basename of the source.\n"
-"\n"
-"    The location of the source is added to the new repository's\n"
-"    .hg/hgrc file, as the default to be used for future pulls.\n"
-"\n"
-"    If you use the -r/--rev option to clone up to a specific revision,\n"
-"    no subsequent revisions (including subsequent tags) will be\n"
-"    present in the cloned repository. This option implies --pull, even\n"
-"    on local repositories.\n"
-"\n"
-"    By default, clone will check out the head of the 'default' branch.\n"
-"    If the -U/--noupdate option is used, the new clone will contain\n"
-"    only a repository (.hg) and no working copy (the working copy\n"
-"    parent is the null revision).\n"
-"\n"
-"    See 'hg help urls' for valid source format details.\n"
-"\n"
-"    It is possible to specify an ssh:// URL as the destination, but no\n"
-"    .hg/hgrc and working directory will be created on the remote side.\n"
-"    Please see 'hg help urls' for important details about ssh:// URLs.\n"
-"\n"
-"    For efficiency, hardlinks are used for cloning whenever the source\n"
-"    and destination are on the same filesystem (note this applies only\n"
-"    to the repository data, not to the checked out files). Some\n"
-"    filesystems, such as AFS, implement hardlinking incorrectly, but\n"
-"    do not report errors. In these cases, use the --pull option to\n"
-"    avoid hardlinking.\n"
-"\n"
-"    In some cases, you can clone repositories and checked out files\n"
-"    using full hardlinks with\n"
-"\n"
-"      $ cp -al REPO REPOCLONE\n"
-"\n"
-"    This is the fastest way to clone, but it is not always safe. The\n"
-"    operation is not atomic (making sure REPO is not modified during\n"
-"    the operation is up to you) and you have to make sure your editor\n"
-"    breaks hardlinks (Emacs and most Linux Kernel tools do so). Also,\n"
-"    this is not compatible with certain extensions that place their\n"
-"    metadata under the .hg directory, such as mq.\n"
-"\n"
-"    "
-
-#, fuzzy
-msgid "    See 'hg help urls' for valid source format details."
-msgstr ""
-"對已存在的 repository 複製一份\n"
-"\n"
-"    Create a copy of an existing repository in a new directory.\n"
-"\n"
-"    If no destination directory name is specified, it defaults to the\n"
-"    basename of the source.\n"
-"\n"
-"    The location of the source is added to the new repository's\n"
-"    .hg/hgrc file, as the default to be used for future pulls.\n"
-"\n"
-"    If you use the -r/--rev option to clone up to a specific revision,\n"
-"    no subsequent revisions (including subsequent tags) will be\n"
-"    present in the cloned repository. This option implies --pull, even\n"
-"    on local repositories.\n"
-"\n"
-"    By default, clone will check out the head of the 'default' branch.\n"
-"    If the -U/--noupdate option is used, the new clone will contain\n"
-"    only a repository (.hg) and no working copy (the working copy\n"
-"    parent is the null revision).\n"
-"\n"
-"    See 'hg help urls' for valid source format details.\n"
-"\n"
-"    It is possible to specify an ssh:// URL as the destination, but no\n"
-"    .hg/hgrc and working directory will be created on the remote side.\n"
-"    Please see 'hg help urls' for important details about ssh:// URLs.\n"
-"\n"
-"    For efficiency, hardlinks are used for cloning whenever the source\n"
-"    and destination are on the same filesystem (note this applies only\n"
-"    to the repository data, not to the checked out files). Some\n"
-"    filesystems, such as AFS, implement hardlinking incorrectly, but\n"
-"    do not report errors. In these cases, use the --pull option to\n"
-"    avoid hardlinking.\n"
-"\n"
-"    In some cases, you can clone repositories and checked out files\n"
-"    using full hardlinks with\n"
-"\n"
-"      $ cp -al REPO REPOCLONE\n"
-"\n"
-"    This is the fastest way to clone, but it is not always safe. The\n"
-"    operation is not atomic (making sure REPO is not modified during\n"
-"    the operation is up to you) and you have to make sure your editor\n"
-"    breaks hardlinks (Emacs and most Linux Kernel tools do so). Also,\n"
-"    this is not compatible with certain extensions that place their\n"
-"    metadata under the .hg directory, such as mq.\n"
-"\n"
-"    "
-
-#, fuzzy
-msgid ""
-"    It is possible to specify an ssh:// URL as the destination, but no\n"
-"    .hg/hgrc and working directory will be created on the remote side.\n"
-"    Please see 'hg help urls' for important details about ssh:// URLs."
-msgstr ""
-"對已存在的 repository 複製一份\n"
-"\n"
-"    Create a copy of an existing repository in a new directory.\n"
-"\n"
-"    If no destination directory name is specified, it defaults to the\n"
-"    basename of the source.\n"
-"\n"
-"    The location of the source is added to the new repository's\n"
-"    .hg/hgrc file, as the default to be used for future pulls.\n"
-"\n"
-"    If you use the -r/--rev option to clone up to a specific revision,\n"
-"    no subsequent revisions (including subsequent tags) will be\n"
-"    present in the cloned repository. This option implies --pull, even\n"
-"    on local repositories.\n"
-"\n"
-"    By default, clone will check out the head of the 'default' branch.\n"
-"    If the -U/--noupdate option is used, the new clone will contain\n"
-"    only a repository (.hg) and no working copy (the working copy\n"
-"    parent is the null revision).\n"
-"\n"
-"    See 'hg help urls' for valid source format details.\n"
-"\n"
-"    It is possible to specify an ssh:// URL as the destination, but no\n"
-"    .hg/hgrc and working directory will be created on the remote side.\n"
-"    Please see 'hg help urls' for important details about ssh:// URLs.\n"
-"\n"
-"    For efficiency, hardlinks are used for cloning whenever the source\n"
-"    and destination are on the same filesystem (note this applies only\n"
-"    to the repository data, not to the checked out files). Some\n"
-"    filesystems, such as AFS, implement hardlinking incorrectly, but\n"
-"    do not report errors. In these cases, use the --pull option to\n"
-"    avoid hardlinking.\n"
-"\n"
-"    In some cases, you can clone repositories and checked out files\n"
-"    using full hardlinks with\n"
-"\n"
-"      $ cp -al REPO REPOCLONE\n"
-"\n"
-"    This is the fastest way to clone, but it is not always safe. The\n"
-"    operation is not atomic (making sure REPO is not modified during\n"
-"    the operation is up to you) and you have to make sure your editor\n"
-"    breaks hardlinks (Emacs and most Linux Kernel tools do so). Also,\n"
-"    this is not compatible with certain extensions that place their\n"
-"    metadata under the .hg directory, such as mq.\n"
-"\n"
-"    "
-
-#, fuzzy
+"    Please see :hg:`help urls` for important details about ``ssh://`` URLs."
+msgstr ""
+
+msgid ""
+"    A set of changesets (tags, or branch names) to pull may be specified\n"
+"    by listing each changeset (tag, or branch name) with -r/--rev.\n"
+"    If -r/--rev is used, the cloned repository will contain only a subset\n"
+"    of the changesets of the source repository. Only the set of changesets\n"
+"    defined by all -r/--rev options (including all their ancestors)\n"
+"    will be pulled into the destination repository.\n"
+"    No subsequent changesets (including subsequent tags) will be present\n"
+"    in the destination."
+msgstr ""
+
+msgid ""
+"    Using -r/--rev (or 'clone src#rev dest') implies --pull, even for\n"
+"    local source repositories."
+msgstr ""
+
 msgid ""
 "    For efficiency, hardlinks are used for cloning whenever the source\n"
 "    and destination are on the same filesystem (note this applies only\n"
-"    to the repository data, not to the checked out files). Some\n"
+"    to the repository data, not to the working directory). Some\n"
 "    filesystems, such as AFS, implement hardlinking incorrectly, but\n"
 "    do not report errors. In these cases, use the --pull option to\n"
 "    avoid hardlinking."
 msgstr ""
-"對已存在的 repository 複製一份\n"
-"\n"
-"    Create a copy of an existing repository in a new directory.\n"
-"\n"
-"    If no destination directory name is specified, it defaults to the\n"
-"    basename of the source.\n"
-"\n"
-"    The location of the source is added to the new repository's\n"
-"    .hg/hgrc file, as the default to be used for future pulls.\n"
-"\n"
-"    If you use the -r/--rev option to clone up to a specific revision,\n"
-"    no subsequent revisions (including subsequent tags) will be\n"
-"    present in the cloned repository. This option implies --pull, even\n"
-"    on local repositories.\n"
-"\n"
-"    By default, clone will check out the head of the 'default' branch.\n"
-"    If the -U/--noupdate option is used, the new clone will contain\n"
-"    only a repository (.hg) and no working copy (the working copy\n"
-"    parent is the null revision).\n"
-"\n"
-"    See 'hg help urls' for valid source format details.\n"
-"\n"
-"    It is possible to specify an ssh:// URL as the destination, but no\n"
-"    .hg/hgrc and working directory will be created on the remote side.\n"
-"    Please see 'hg help urls' for important details about ssh:// URLs.\n"
-"\n"
-"    For efficiency, hardlinks are used for cloning whenever the source\n"
-"    and destination are on the same filesystem (note this applies only\n"
-"    to the repository data, not to the checked out files). Some\n"
-"    filesystems, such as AFS, implement hardlinking incorrectly, but\n"
-"    do not report errors. In these cases, use the --pull option to\n"
-"    avoid hardlinking.\n"
-"\n"
-"    In some cases, you can clone repositories and checked out files\n"
-"    using full hardlinks with\n"
-"\n"
-"      $ cp -al REPO REPOCLONE\n"
-"\n"
-"    This is the fastest way to clone, but it is not always safe. The\n"
-"    operation is not atomic (making sure REPO is not modified during\n"
-"    the operation is up to you) and you have to make sure your editor\n"
-"    breaks hardlinks (Emacs and most Linux Kernel tools do so). Also,\n"
-"    this is not compatible with certain extensions that place their\n"
-"    metadata under the .hg directory, such as mq.\n"
-"\n"
-"    "
-
-#, fuzzy
-msgid ""
-"    In some cases, you can clone repositories and checked out files\n"
+
+msgid ""
+"    In some cases, you can clone repositories and the working directory\n"
 "    using full hardlinks with ::"
 msgstr ""
-"對已存在的 repository 複製一份\n"
-"\n"
-"    Create a copy of an existing repository in a new directory.\n"
-"\n"
-"    If no destination directory name is specified, it defaults to the\n"
-"    basename of the source.\n"
-"\n"
-"    The location of the source is added to the new repository's\n"
-"    .hg/hgrc file, as the default to be used for future pulls.\n"
-"\n"
-"    If you use the -r/--rev option to clone up to a specific revision,\n"
-"    no subsequent revisions (including subsequent tags) will be\n"
-"    present in the cloned repository. This option implies --pull, even\n"
-"    on local repositories.\n"
-"\n"
-"    By default, clone will check out the head of the 'default' branch.\n"
-"    If the -U/--noupdate option is used, the new clone will contain\n"
-"    only a repository (.hg) and no working copy (the working copy\n"
-"    parent is the null revision).\n"
-"\n"
-"    See 'hg help urls' for valid source format details.\n"
-"\n"
-"    It is possible to specify an ssh:// URL as the destination, but no\n"
-"    .hg/hgrc and working directory will be created on the remote side.\n"
-"    Please see 'hg help urls' for important details about ssh:// URLs.\n"
-"\n"
-"    For efficiency, hardlinks are used for cloning whenever the source\n"
-"    and destination are on the same filesystem (note this applies only\n"
-"    to the repository data, not to the checked out files). Some\n"
-"    filesystems, such as AFS, implement hardlinking incorrectly, but\n"
-"    do not report errors. In these cases, use the --pull option to\n"
-"    avoid hardlinking.\n"
-"\n"
-"    In some cases, you can clone repositories and checked out files\n"
-"    using full hardlinks with\n"
-"\n"
-"      $ cp -al REPO REPOCLONE\n"
-"\n"
-"    This is the fastest way to clone, but it is not always safe. The\n"
-"    operation is not atomic (making sure REPO is not modified during\n"
-"    the operation is up to you) and you have to make sure your editor\n"
-"    breaks hardlinks (Emacs and most Linux Kernel tools do so). Also,\n"
-"    this is not compatible with certain extensions that place their\n"
-"    metadata under the .hg directory, such as mq.\n"
-"\n"
-"    "
-
-#, fuzzy
+
 msgid "      $ cp -al REPO REPOCLONE"
 msgstr ""
-"對已存在的 repository 複製一份\n"
-"\n"
-"    Create a copy of an existing repository in a new directory.\n"
-"\n"
-"    If no destination directory name is specified, it defaults to the\n"
-"    basename of the source.\n"
-"\n"
-"    The location of the source is added to the new repository's\n"
-"    .hg/hgrc file, as the default to be used for future pulls.\n"
-"\n"
-"    If you use the -r/--rev option to clone up to a specific revision,\n"
-"    no subsequent revisions (including subsequent tags) will be\n"
-"    present in the cloned repository. This option implies --pull, even\n"
-"    on local repositories.\n"
-"\n"
-"    By default, clone will check out the head of the 'default' branch.\n"
-"    If the -U/--noupdate option is used, the new clone will contain\n"
-"    only a repository (.hg) and no working copy (the working copy\n"
-"    parent is the null revision).\n"
-"\n"
-"    See 'hg help urls' for valid source format details.\n"
-"\n"
-"    It is possible to specify an ssh:// URL as the destination, but no\n"
-"    .hg/hgrc and working directory will be created on the remote side.\n"
-"    Please see 'hg help urls' for important details about ssh:// URLs.\n"
-"\n"
-"    For efficiency, hardlinks are used for cloning whenever the source\n"
-"    and destination are on the same filesystem (note this applies only\n"
-"    to the repository data, not to the checked out files). Some\n"
-"    filesystems, such as AFS, implement hardlinking incorrectly, but\n"
-"    do not report errors. In these cases, use the --pull option to\n"
-"    avoid hardlinking.\n"
-"\n"
-"    In some cases, you can clone repositories and checked out files\n"
-"    using full hardlinks with\n"
-"\n"
-"      $ cp -al REPO REPOCLONE\n"
-"\n"
-"    This is the fastest way to clone, but it is not always safe. The\n"
-"    operation is not atomic (making sure REPO is not modified during\n"
-"    the operation is up to you) and you have to make sure your editor\n"
-"    breaks hardlinks (Emacs and most Linux Kernel tools do so). Also,\n"
-"    this is not compatible with certain extensions that place their\n"
-"    metadata under the .hg directory, such as mq.\n"
-"\n"
-"    "
-
-#, fuzzy
+
 msgid ""
 "    This is the fastest way to clone, but it is not always safe. The\n"
 "    operation is not atomic (making sure REPO is not modified during\n"
 "    the operation is up to you) and you have to make sure your editor\n"
 "    breaks hardlinks (Emacs and most Linux Kernel tools do so). Also,\n"
 "    this is not compatible with certain extensions that place their\n"
-"    metadata under the .hg directory, such as mq.\n"
-"    "
-msgstr ""
-"對已存在的 repository 複製一份\n"
-"\n"
-"    Create a copy of an existing repository in a new directory.\n"
-"\n"
-"    If no destination directory name is specified, it defaults to the\n"
-"    basename of the source.\n"
-"\n"
-"    The location of the source is added to the new repository's\n"
-"    .hg/hgrc file, as the default to be used for future pulls.\n"
-"\n"
-"    If you use the -r/--rev option to clone up to a specific revision,\n"
-"    no subsequent revisions (including subsequent tags) will be\n"
-"    present in the cloned repository. This option implies --pull, even\n"
-"    on local repositories.\n"
-"\n"
-"    By default, clone will check out the head of the 'default' branch.\n"
-"    If the -U/--noupdate option is used, the new clone will contain\n"
-"    only a repository (.hg) and no working copy (the working copy\n"
-"    parent is the null revision).\n"
-"\n"
-"    See 'hg help urls' for valid source format details.\n"
-"\n"
-"    It is possible to specify an ssh:// URL as the destination, but no\n"
-"    .hg/hgrc and working directory will be created on the remote side.\n"
-"    Please see 'hg help urls' for important details about ssh:// URLs.\n"
-"\n"
-"    For efficiency, hardlinks are used for cloning whenever the source\n"
-"    and destination are on the same filesystem (note this applies only\n"
-"    to the repository data, not to the checked out files). Some\n"
-"    filesystems, such as AFS, implement hardlinking incorrectly, but\n"
-"    do not report errors. In these cases, use the --pull option to\n"
-"    avoid hardlinking.\n"
-"\n"
-"    In some cases, you can clone repositories and checked out files\n"
-"    using full hardlinks with\n"
-"\n"
-"      $ cp -al REPO REPOCLONE\n"
-"\n"
-"    This is the fastest way to clone, but it is not always safe. The\n"
-"    operation is not atomic (making sure REPO is not modified during\n"
-"    the operation is up to you) and you have to make sure your editor\n"
-"    breaks hardlinks (Emacs and most Linux Kernel tools do so). Also,\n"
-"    this is not compatible with certain extensions that place their\n"
-"    metadata under the .hg directory, such as mq.\n"
-"\n"
-"    "
+"    metadata under the .hg directory, such as mq."
+msgstr ""
+
+msgid ""
+"    Mercurial will update the working directory to the first applicable\n"
+"    revision from this list:"
+msgstr ""
+
+msgid ""
+"    a) null if -U or the source repository has no changesets\n"
+"    b) if -u . and the source repository is local, the first parent of\n"
+"       the source repository's working directory\n"
+"    c) the changeset specified with -u (if a branch name, this means the\n"
+"       latest head of that branch)\n"
+"    d) the changeset specified with -r\n"
+"    e) the tipmost head specified with -b\n"
+"    f) the tipmost head specified with the url#branch source syntax\n"
+"    g) the tipmost head of the default branch\n"
+"    h) tip"
+msgstr ""
+
+msgid "cannot specify both --noupdate and --updaterev"
+msgstr ""
 
 msgid "commit the specified files or all outstanding changes"
 msgstr "將指定的檔案或是目前的變更 commit"
 
 msgid ""
 "    Commit changes to the given files into the repository. Unlike a\n"
-"    centralized RCS, this operation is a local operation. See hg push\n"
-"    for a way to actively distribute your changes."
-msgstr ""
-"    Commit changes to the given files into the repository. Unlike a\n"
-"    centralized RCS, this operation is a local operation. See hg push\n"
-"    for a way to actively distribute your changes."
-
-msgid ""
-"    If a list of files is omitted, all changes reported by \"hg status\"\n"
+"    centralized RCS, this operation is a local operation. See\n"
+"    :hg:`push` for a way to actively distribute your changes."
+msgstr ""
+
+msgid ""
+"    If a list of files is omitted, all changes reported by :hg:`status`\n"
 "    will be committed."
 msgstr ""
-"    If a list of files is omitted, all changes reported by \"hg status\"\n"
-"    will be committed."
 
 msgid ""
 "    If you are committing the result of a merge, do not provide any\n"
 "    filenames or -I/-X filters."
 msgstr ""
-"    If you are committing the result of a merge, do not provide any\n"
-"    filenames or -I/-X filters."
-
-msgid ""
-"    If no commit message is specified, the configured editor is\n"
-"    started to prompt you for a message."
-msgstr ""
-"    If no commit message is specified, the configured editor is\n"
-"    started to prompt you for a message."
+
+msgid ""
+"    If no commit message is specified, Mercurial starts your\n"
+"    configured editor where you can enter a message. In case your\n"
+"    commit fails, you will find a backup of your message in\n"
+"    ``.hg/last-message.txt``."
+msgstr ""
+
+msgid ""
+"    Returns 0 on success, 1 if nothing changed.\n"
+"    "
+msgstr ""
+
+msgid "can only close branch heads"
+msgstr ""
 
 msgid "nothing changed\n"
 msgstr ""
@@ -6648,6 +6489,10 @@
 msgstr ""
 
 #, python-format
+msgid "reopening closed branch head %d\n"
+msgstr ""
+
+#, python-format
 msgid "committed changeset %d:%s\n"
 msgstr ""
 
@@ -6659,40 +6504,96 @@
 "    directory, copies are put in that directory. If dest is a file,\n"
 "    the source must be a single file."
 msgstr ""
-"    Mark dest as having copies of source files. If dest is a\n"
-"    directory, copies are put in that directory. If dest is a file,\n"
-"    the source must be a single file."
 
 msgid ""
 "    By default, this command copies the contents of files as they\n"
 "    exist in the working directory. If invoked with -A/--after, the\n"
 "    operation is recorded, but no copying is performed."
 msgstr ""
-"    By default, this command copies the contents of files as they\n"
-"    exist in the working directory. If invoked with -A/--after, the\n"
-"    operation is recorded, but no copying is performed."
 
 msgid ""
 "    This command takes effect with the next commit. To undo a copy\n"
-"    before that, see hg revert.\n"
+"    before that, see :hg:`revert`."
+msgstr ""
+
+msgid ""
+"    Returns 0 on success, 1 if errors are encountered.\n"
 "    "
 msgstr ""
-"    This command takes effect with the next commit. To undo a copy\n"
-"    before that, see hg revert.\n"
-"    "
 
 msgid "find the ancestor revision of two revisions in a given index"
 msgstr ""
 
-msgid "There is no Mercurial repository here (.hg not found)"
-msgstr ""
-
 msgid "either two or three arguments required"
 msgstr ""
 
+msgid "builds a repo with a given dag from scratch in the current empty repo"
+msgstr ""
+
+msgid "    Elements:"
+msgstr ""
+
+msgid ""
+"     - \"+n\" is a linear run of n nodes based on the current default "
+"parent\n"
+"     - \".\" is a single node based on the current default parent\n"
+"     - \"$\" resets the default parent to null (implied at the start);\n"
+"           otherwise the default parent is always the last node created\n"
+"     - \"<p\" sets the default parent to the backref p\n"
+"     - \"*p\" is a fork at parent p, which is a backref\n"
+"     - \"*p1/p2\" is a merge of parents p1 and p2, which are backrefs\n"
+"     - \"/p2\" is a merge of the preceding node and p2\n"
+"     - \":tag\" defines a local tag for the preceding node\n"
+"     - \"@branch\" sets the named branch for subsequent nodes\n"
+"     - \"!command\" runs the command using your shell\n"
+"     - \"!!my command\\n\" is like \"!\", but to the end of the line\n"
+"     - \"#...\\n\" is a comment up to the end of the line"
+msgstr ""
+
+msgid "    Whitespace between the above elements is ignored."
+msgstr ""
+
+msgid "    A backref is either"
+msgstr ""
+
+msgid ""
+"     - a number n, which references the node curr-n, where curr is the "
+"current\n"
+"       node, or\n"
+"     - the name of a local tag you placed earlier using \":tag\", or\n"
+"     - empty to denote the default parent."
+msgstr ""
+
+msgid ""
+"    All string valued-elements are either strictly alphanumeric, or must\n"
+"    be enclosed in double quotes (\"...\"), with \"\\\" as escape character."
+msgstr ""
+
+msgid ""
+"    Note that the --overwritten-file and --appended-file options imply the\n"
+"    use of \"HGMERGE=internal:local\" during DAG buildup.\n"
+"    "
+msgstr ""
+
+msgid "need at least one of -m, -a, -o, -n"
+msgstr ""
+
+msgid "repository is not empty"
+msgstr "儲存庫不是空白的"
+
+#, python-format
+msgid "%s command %s"
+msgstr "%s 命令 %s"
+
+msgid "list all available commands and options"
+msgstr ""
+
 msgid "returns the completion list associated with the given command"
 msgstr ""
 
+msgid "show information detected about current filesystem"
+msgstr ""
+
 msgid "rebuild the dirstate as it would look like for the given revision"
 msgstr ""
 
@@ -6722,41 +6623,51 @@
 msgstr "顯示合併自所有 hgrc 檔案內容的設定值"
 
 msgid "    With no arguments, print names and values of all config items."
-msgstr "    With no arguments, print names and values of all config items."
+msgstr ""
 
 msgid ""
 "    With one argument of the form section.name, print just the value\n"
 "    of that config item."
 msgstr ""
-"    With one argument of the form section.name, print just the value\n"
-"    of that config item."
 
 msgid ""
 "    With multiple arguments, print names and values of all config\n"
 "    items with matching section names."
 msgstr ""
-"    With multiple arguments, print names and values of all config\n"
-"    items with matching section names."
 
 msgid ""
 "    With --debug, the source (filename and line number) is printed\n"
-"    for each config item.\n"
-"    "
-msgstr ""
-"    With --debug, the source (filename and line number) is printed\n"
-"    for each config item.\n"
-"    "
+"    for each config item."
+msgstr ""
+
+#, python-format
+msgid "read config from: %s\n"
+msgstr ""
 
 msgid "only one config item permitted"
 msgstr ""
 
+msgid "access the pushkey key/value protocol"
+msgstr ""
+
+msgid "    With two args, list the keys in the given namespace."
+msgstr ""
+
+msgid ""
+"    With five args, set a key to new if it currently is set to old.\n"
+"    Reports success or failure.\n"
+"    "
+msgstr ""
+
+msgid "parse and apply a revision specification"
+msgstr ""
+
 msgid "manually set the parents of the current working directory"
 msgstr ""
 
 msgid ""
 "    This is useful for writing repository conversion tools, but should\n"
-"    be used with care.\n"
-"    "
+"    be used with care."
 msgstr ""
 
 msgid "show the contents of the current dirstate"
@@ -6766,6 +6677,22 @@
 msgid "copy: %s -> %s\n"
 msgstr ""
 
+msgid "format the changelog or an index DAG as a concise textual description"
+msgstr ""
+
+msgid ""
+"    If you pass a revlog index, the revlog's DAG is emitted. If you list\n"
+"    revision numbers, they get labelled in the output as rN."
+msgstr ""
+
+msgid ""
+"    Otherwise, the changelog DAG of the current repo is emitted.\n"
+"    "
+msgstr ""
+
+msgid "need repo for changelog dag"
+msgstr ""
+
 msgid "dump the contents of a data file revision"
 msgstr ""
 
@@ -6792,8 +6719,9 @@
 msgid " (check that your locale is properly set)\n"
 msgstr ""
 
-msgid "Checking extensions...\n"
-msgstr ""
+#, python-format
+msgid "Checking installed modules (%s)...\n"
+msgstr "正在檢查安裝的模組 (%s)...\n"
 
 msgid " One or more extensions could not be found"
 msgstr ""
@@ -6817,183 +6745,152 @@
 msgstr ""
 
 msgid " patch test failed!\n"
-msgstr ""
-
-msgid " (Current patch tool may be incompatible with patch, or misconfigured. Please check your .hgrc file)\n"
-msgstr ""
-
-msgid " Internal patcher failure, please report this error to http://mercurial.selenic.com/bts/\n"
+msgstr "路徑測試失敗!\n"
+
+msgid ""
+" (Current patch tool may be incompatible with patch, or misconfigured. "
+"Please check your configuration file)\n"
+msgstr ""
+
+msgid ""
+" Internal patcher failure, please report this error to http://mercurial."
+"selenic.com/wiki/BugTracker\n"
 msgstr ""
 
 msgid "Checking commit editor...\n"
-msgstr ""
+msgstr "檢查提交訊息編輯器...\n"
 
 msgid " No commit editor set and can't find vi in PATH\n"
-msgstr ""
-
-msgid " (specify a commit editor in your .hgrc file)\n"
-msgstr ""
+msgstr "沒有設定提交訊息編輯器,然後在PATH中也沒有vi\n"
+
+msgid " (specify a commit editor in your configuration file)\n"
+msgstr "(在你的設定檔指明一個用來編輯提交訊息的編輯器)\n"
 
 #, python-format
 msgid " Can't find editor '%s' in PATH\n"
-msgstr ""
+msgstr "在PATH中找不到編輯器 '%s'\n"
 
 msgid "Checking username...\n"
-msgstr ""
-
-msgid " (specify a username in your .hgrc file)\n"
-msgstr ""
+msgstr "檢查使用者名稱...\n"
+
+msgid " (specify a username in your configuration file)\n"
+msgstr "(在你的設定檔指明一個使用者名稱)\n"
 
 msgid "No problems detected\n"
-msgstr ""
+msgstr "查不到問題\n"
 
 #, python-format
 msgid "%s problems detected, please check your install!\n"
-msgstr ""
+msgstr "查到%s問題,請檢查你的安裝!\n"
 
 msgid "dump rename information"
-msgstr ""
+msgstr "倒出改名資訊"
 
 #, python-format
 msgid "%s renamed from %s:%s\n"
-msgstr ""
+msgstr "%s 改名字從%s:%s\n"
 
 #, python-format
 msgid "%s not renamed\n"
-msgstr ""
+msgstr "%s 沒有被改名\n"
 
 msgid "show how files match on given patterns"
 msgstr ""
 
 msgid "diff repository (or selected files)"
-msgstr "diff repository (或是所選擇的檔案)"
+msgstr "diff 儲存庫 (或是所選擇的檔案)"
 
 msgid "    Show differences between revisions for the specified files."
-msgstr "    Show differences between revisions for the specified files."
+msgstr ""
 
 msgid "    Differences between files are shown using the unified diff format."
-msgstr "    Differences between files are shown using the unified diff format."
-
-msgid ""
-"    NOTE: diff may generate unexpected results for merges, as it will\n"
-"    default to comparing against the working directory's first parent\n"
-"    changeset if no revisions are specified."
-msgstr ""
-"    NOTE: diff may generate unexpected results for merges, as it will\n"
-"    default to comparing against the working directory's first parent\n"
-"    changeset if no revisions are specified."
+msgstr ""
+
+msgid ""
+"    .. note::\n"
+"       diff may generate unexpected results for merges, as it will\n"
+"       default to comparing against the working directory's first\n"
+"       parent changeset if no revisions are specified."
+msgstr ""
+
+msgid ""
+"    Alternatively you can specify -c/--change with a revision to see\n"
+"    the changes in that changeset relative to its first parent."
+msgstr ""
 
 msgid ""
 "    Without the -a/--text option, diff will avoid generating diffs of\n"
 "    files it detects as binary. With -a, diff will generate a diff\n"
 "    anyway, probably with undesirable results."
 msgstr ""
-"    Without the -a/--text option, diff will avoid generating diffs of\n"
-"    files it detects as binary. With -a, diff will generate a diff\n"
-"    anyway, probably with undesirable results."
 
 msgid ""
 "    Use the -g/--git option to generate diffs in the git extended diff\n"
-"    format. For more information, read 'hg help diffs'.\n"
-"    "
-msgstr ""
-"    Use the -g/--git option to generate diffs in the git extended diff\n"
-"    format. For more information, read 'hg help diffs'.\n"
-"    "
-
-#, fuzzy
+"    format. For more information, read :hg:`help diffs`."
+msgstr ""
+
 msgid "dump the header and diffs for one or more changesets"
 msgstr "將一或多個 changesets 的 header 以及 diffs dump 出來"
 
-#, fuzzy
 msgid "    Print the changeset header and diffs for one or more revisions."
-msgstr "    Print the changeset header and diffs for one or more revisions."
-
-#, fuzzy
-msgid ""
-"    The information shown in the changeset header is: author,\n"
-"    changeset hash, parent(s) and commit comment."
-msgstr ""
-"    The information shown in the changeset header is: author,\n"
-"    changeset hash, parent(s) and commit comment."
-
-#, fuzzy
-msgid ""
-"    NOTE: export may generate unexpected diff output for merge\n"
-"    changesets, as it will compare the merge changeset against its\n"
-"    first parent only."
-msgstr ""
-"    NOTE: export may generate unexpected diff output for merge\n"
-"    changesets, as it will compare the merge changeset against its\n"
-"    first parent only."
-
-#, fuzzy
+msgstr ""
+
+msgid ""
+"    The information shown in the changeset header is: author, date,\n"
+"    branch name (if non-default), changeset hash, parent(s) and commit\n"
+"    comment."
+msgstr ""
+
+msgid ""
+"    .. note::\n"
+"       export may generate unexpected diff output for merge\n"
+"       changesets, as it will compare the merge changeset against its\n"
+"       first parent only."
+msgstr ""
+
 msgid ""
 "    Output may be to a file, in which case the name of the file is\n"
-"    given using a format string. The formatting rules are as follows::"
-msgstr ""
-"    Output may be to a file, in which case the name of the file is\n"
 "    given using a format string. The formatting rules are as follows:"
-
-#, fuzzy
-msgid ""
-"      %%   literal \"%\" character\n"
-"      %H   changeset hash (40 bytes of hexadecimal)\n"
-"      %N   number of patches being generated\n"
-"      %R   changeset revision number\n"
-"      %b   basename of the exporting repository\n"
-"      %h   short-form changeset hash (12 bytes of hexadecimal)\n"
-"      %n   zero-padded sequence number, starting at 1\n"
-"      %r   zero-padded changeset revision number"
-msgstr ""
-"    %%   literal \"%\" character\n"
-"    %H   changeset hash (40 bytes of hexadecimal)\n"
-"    %N   number of patches being generated\n"
-"    %R   changeset revision number\n"
-"    %b   basename of the exporting repository\n"
-"    %h   short-form changeset hash (12 bytes of hexadecimal)\n"
-"    %n   zero-padded sequence number, starting at 1\n"
-"    %r   zero-padded changeset revision number"
-
-#, fuzzy
+msgstr ""
+
+msgid ""
+"    :``%%``: literal \"%\" character\n"
+"    :``%H``: changeset hash (40 hexadecimal digits)\n"
+"    :``%N``: number of patches being generated\n"
+"    :``%R``: changeset revision number\n"
+"    :``%b``: basename of the exporting repository\n"
+"    :``%h``: short-form changeset hash (12 hexadecimal digits)\n"
+"    :``%n``: zero-padded sequence number, starting at 1\n"
+"    :``%r``: zero-padded changeset revision number"
+msgstr ""
+
 msgid ""
 "    Without the -a/--text option, export will avoid generating diffs\n"
 "    of files it detects as binary. With -a, export will generate a\n"
 "    diff anyway, probably with undesirable results."
 msgstr ""
-"    Without the -a/--text option, export will avoid generating diffs\n"
-"    of files it detects as binary. With -a, export will generate a\n"
-"    diff anyway, probably with undesirable results."
-
-#, fuzzy
+
 msgid ""
 "    Use the -g/--git option to generate diffs in the git extended diff\n"
-"    format. See 'hg help diffs' for more information."
-msgstr ""
-"    Use the -g/--git option to generate diffs in the git extended diff\n"
-"    format. See 'hg help diffs' for more information."
-
-#, fuzzy
+"    format. See :hg:`help diffs` for more information."
+msgstr ""
+
 msgid ""
 "    With the --switch-parent option, the diff will be against the\n"
-"    second parent. It can be useful to review a merge.\n"
-"    "
-msgstr ""
-"    With the --switch-parent option, the diff will be against the\n"
-"    second parent. It can be useful to review a merge.\n"
-"    "
+"    second parent. It can be useful to review a merge."
+msgstr ""
 
 msgid "export requires at least one changeset"
 msgstr ""
 
 msgid "exporting patches:\n"
-msgstr ""
+msgstr "匯出路徑(s):\n"
 
 msgid "exporting patch:\n"
-msgstr ""
+msgstr "匯出路徑:\n"
 
 msgid "forget the specified files on the next commit"
-msgstr ""
+msgstr "下次提交時忘記指定的檔案"
 
 msgid ""
 "    Mark the specified files so they will no longer be tracked\n"
@@ -7006,9 +6903,7 @@
 "    working directory."
 msgstr ""
 
-msgid ""
-"    To undo a forget before the next commit, see hg add.\n"
-"    "
+msgid "    To undo a forget before the next commit, see :hg:`add`."
 msgstr ""
 
 msgid "no files specified"
@@ -7019,10 +6914,10 @@
 msgstr ""
 
 msgid "search for a pattern in specified files and revisions"
-msgstr "從指定的檔案或 revisions 搜尋樣式"
+msgstr "從指定的檔案或修定版搜尋樣式"
 
 msgid "    Search revisions of files for a regular expression."
-msgstr "    Search revisions of files for a regular expression."
+msgstr ""
 
 msgid ""
 "    This command behaves differently than Unix grep. It only accepts\n"
@@ -7030,257 +6925,96 @@
 "    working directory. It always prints the revision number in which a\n"
 "    match appears."
 msgstr ""
-"    This command behaves differently than Unix grep. It only accepts\n"
-"    Python/Perl regexps. It searches repository history, not the\n"
-"    working directory. It always prints the revision number in which a\n"
-"    match appears."
 
 msgid ""
 "    By default, grep only prints output for the first revision of a\n"
 "    file in which it finds a match. To get it to print every revision\n"
 "    that contains a change in match status (\"-\" for a match that\n"
 "    becomes a non-match, or \"+\" for a non-match that becomes a match),\n"
-"    use the --all flag.\n"
+"    use the --all flag."
+msgstr ""
+
+msgid ""
+"    Returns 0 if a match is found, 1 otherwise.\n"
 "    "
 msgstr ""
-"    By default, grep only prints output for the first revision of a\n"
-"    file in which it finds a match. To get it to print every revision\n"
-"    that contains a change in match status (\"-\" for a match that\n"
-"    becomes a non-match, or \"+\" for a non-match that becomes a match),\n"
-"    use the --all flag.\n"
-"    "
 
 #, python-format
 msgid "grep: invalid match pattern: %s\n"
 msgstr ""
 
-#, fuzzy
 msgid "show current repository heads or show branch heads"
-msgstr ""
-"顯示目前的 repository heads 或是 branch heads\n"
-"\n"
-"    With no arguments, show all repository head changesets.\n"
-"\n"
-"    Repository \"heads\" are changesets that don't have child\n"
-"    changesets. They are where development generally takes place and\n"
-"    are the usual targets for update and merge operations.\n"
-"\n"
-"    If one or more REV is given, the \"branch heads\" will be shown for\n"
-"    the named branch associated with that revision. The name of the\n"
-"    branch is called the revision's branch tag.\n"
-"\n"
-"    Branch heads are revisions on a given named branch that do not have\n"
-"    any children on the same branch. A branch head could be a true head\n"
-"    or it could be the last changeset on a branch before a new branch\n"
-"    was created. If none of the branch heads are true heads, the branch\n"
-"    is considered inactive.\n"
-"\n"
-"    If STARTREV is specified only those heads (or branch heads) that\n"
-"    are descendants of STARTREV will be displayed.\n"
-"    "
-
-#, fuzzy
-msgid "    With no arguments, show all repository head changesets."
-msgstr ""
-"顯示目前的 repository heads 或是 branch heads\n"
-"\n"
-"    With no arguments, show all repository head changesets.\n"
-"\n"
-"    Repository \"heads\" are changesets that don't have child\n"
-"    changesets. They are where development generally takes place and\n"
-"    are the usual targets for update and merge operations.\n"
-"\n"
-"    If one or more REV is given, the \"branch heads\" will be shown for\n"
-"    the named branch associated with that revision. The name of the\n"
-"    branch is called the revision's branch tag.\n"
-"\n"
-"    Branch heads are revisions on a given named branch that do not have\n"
-"    any children on the same branch. A branch head could be a true head\n"
-"    or it could be the last changeset on a branch before a new branch\n"
-"    was created. If none of the branch heads are true heads, the branch\n"
-"    is considered inactive.\n"
-"\n"
-"    If STARTREV is specified only those heads (or branch heads) that\n"
-"    are descendants of STARTREV will be displayed.\n"
-"    "
-
-#, fuzzy
+msgstr "顯示目前的 repository heads 或是 branch heads"
+
+msgid "    With no arguments, show all repository branch heads."
+msgstr ""
+
 msgid ""
 "    Repository \"heads\" are changesets with no child changesets. They are\n"
 "    where development generally takes place and are the usual targets\n"
-"    for update and merge operations."
-msgstr ""
-"顯示目前的 repository heads 或是 branch heads\n"
-"\n"
-"    With no arguments, show all repository head changesets.\n"
-"\n"
-"    Repository \"heads\" are changesets that don't have child\n"
-"    changesets. They are where development generally takes place and\n"
-"    are the usual targets for update and merge operations.\n"
-"\n"
-"    If one or more REV is given, the \"branch heads\" will be shown for\n"
-"    the named branch associated with that revision. The name of the\n"
-"    branch is called the revision's branch tag.\n"
-"\n"
-"    Branch heads are revisions on a given named branch that do not have\n"
-"    any children on the same branch. A branch head could be a true head\n"
-"    or it could be the last changeset on a branch before a new branch\n"
-"    was created. If none of the branch heads are true heads, the branch\n"
-"    is considered inactive.\n"
-"\n"
-"    If STARTREV is specified only those heads (or branch heads) that\n"
-"    are descendants of STARTREV will be displayed.\n"
-"    "
-
-#, fuzzy
-msgid ""
-"    If one or more REV is given, the \"branch heads\" will be shown for\n"
-"    the named branch associated with the specified changeset(s)."
-msgstr ""
-"顯示目前的 repository heads 或是 branch heads\n"
-"\n"
-"    With no arguments, show all repository head changesets.\n"
-"\n"
-"    Repository \"heads\" are changesets that don't have child\n"
-"    changesets. They are where development generally takes place and\n"
-"    are the usual targets for update and merge operations.\n"
-"\n"
-"    If one or more REV is given, the \"branch heads\" will be shown for\n"
-"    the named branch associated with that revision. The name of the\n"
-"    branch is called the revision's branch tag.\n"
-"\n"
-"    Branch heads are revisions on a given named branch that do not have\n"
-"    any children on the same branch. A branch head could be a true head\n"
-"    or it could be the last changeset on a branch before a new branch\n"
-"    was created. If none of the branch heads are true heads, the branch\n"
-"    is considered inactive.\n"
-"\n"
-"    If STARTREV is specified only those heads (or branch heads) that\n"
-"    are descendants of STARTREV will be displayed.\n"
-"    "
-
-#, fuzzy
-msgid ""
-"    Branch heads are changesets on a named branch with no descendants on\n"
-"    the same branch. A branch head could be a \"true\" (repository) head,\n"
-"    or it could be the last changeset on that branch before it was\n"
-"    merged into another branch, or it could be the last changeset on the\n"
-"    branch before a new branch was created. If none of the branch heads\n"
-"    are true heads, the branch is considered inactive."
-msgstr ""
-"顯示目前的 repository heads 或是 branch heads\n"
-"\n"
-"    With no arguments, show all repository head changesets.\n"
-"\n"
-"    Repository \"heads\" are changesets that don't have child\n"
-"    changesets. They are where development generally takes place and\n"
-"    are the usual targets for update and merge operations.\n"
-"\n"
-"    If one or more REV is given, the \"branch heads\" will be shown for\n"
-"    the named branch associated with that revision. The name of the\n"
-"    branch is called the revision's branch tag.\n"
-"\n"
-"    Branch heads are revisions on a given named branch that do not have\n"
-"    any children on the same branch. A branch head could be a true head\n"
-"    or it could be the last changeset on a branch before a new branch\n"
-"    was created. If none of the branch heads are true heads, the branch\n"
-"    is considered inactive.\n"
-"\n"
-"    If STARTREV is specified only those heads (or branch heads) that\n"
-"    are descendants of STARTREV will be displayed.\n"
-"    "
-
-#, fuzzy
+"    for update and merge operations. Branch heads are changesets that have\n"
+"    no child changeset on the same branch."
+msgstr ""
+
+msgid ""
+"    If one or more REVs are given, only branch heads on the branches\n"
+"    associated with the specified changesets are shown."
+msgstr ""
+
 msgid ""
 "    If -c/--closed is specified, also show branch heads marked closed\n"
-"    (see hg commit --close-branch)."
-msgstr ""
-"顯示目前的 repository heads 或是 branch heads\n"
-"\n"
-"    With no arguments, show all repository head changesets.\n"
-"\n"
-"    Repository \"heads\" are changesets that don't have child\n"
-"    changesets. They are where development generally takes place and\n"
-"    are the usual targets for update and merge operations.\n"
-"\n"
-"    If one or more REV is given, the \"branch heads\" will be shown for\n"
-"    the named branch associated with that revision. The name of the\n"
-"    branch is called the revision's branch tag.\n"
-"\n"
-"    Branch heads are revisions on a given named branch that do not have\n"
-"    any children on the same branch. A branch head could be a true head\n"
-"    or it could be the last changeset on a branch before a new branch\n"
-"    was created. If none of the branch heads are true heads, the branch\n"
-"    is considered inactive.\n"
-"\n"
-"    If STARTREV is specified only those heads (or branch heads) that\n"
-"    are descendants of STARTREV will be displayed.\n"
-"    "
-
-#, fuzzy
+"    (see :hg:`commit --close-branch`)."
+msgstr ""
+
 msgid ""
 "    If STARTREV is specified, only those heads that are descendants of\n"
-"    STARTREV will be displayed.\n"
+"    STARTREV will be displayed."
+msgstr ""
+
+msgid ""
+"    If -t/--topo is specified, named branch mechanics will be ignored and "
+"only\n"
+"    changesets without children will be shown."
+msgstr ""
+
+msgid ""
+"    Returns 0 if matching heads are found, 1 if not.\n"
 "    "
 msgstr ""
-"顯示目前的 repository heads 或是 branch heads\n"
-"\n"
-"    With no arguments, show all repository head changesets.\n"
-"\n"
-"    Repository \"heads\" are changesets that don't have child\n"
-"    changesets. They are where development generally takes place and\n"
-"    are the usual targets for update and merge operations.\n"
-"\n"
-"    If one or more REV is given, the \"branch heads\" will be shown for\n"
-"    the named branch associated with that revision. The name of the\n"
-"    branch is called the revision's branch tag.\n"
-"\n"
-"    Branch heads are revisions on a given named branch that do not have\n"
-"    any children on the same branch. A branch head could be a true head\n"
-"    or it could be the last changeset on a branch before a new branch\n"
-"    was created. If none of the branch heads are true heads, the branch\n"
-"    is considered inactive.\n"
-"\n"
-"    If STARTREV is specified only those heads (or branch heads) that\n"
-"    are descendants of STARTREV will be displayed.\n"
-"    "
-
-msgid "you must specify a branch to use --closed"
-msgstr ""
-
-#, python-format
-msgid "no open branch heads on branch %s\n"
-msgstr ""
-
-#, python-format
-msgid "no changes on branch %s containing %s are reachable from %s\n"
-msgstr ""
-
-#, python-format
-msgid "no changes on branch %s are reachable from %s\n"
-msgstr ""
+
+#, python-format
+msgid "no open branch heads found on branches %s"
+msgstr ""
+
+#, python-format
+msgid " (started at %s)"
+msgstr "(開始在: %s)"
 
 msgid "show help for a given topic or a help overview"
 msgstr "顯示特定主題的 help 說明或是 help overview"
 
-msgid "    With no arguments, print a list of commands with short help messages."
-msgstr "    With no arguments, print a list of commands with short help messages."
+msgid ""
+"    With no arguments, print a list of commands with short help messages."
+msgstr ""
 
 msgid ""
 "    Given a topic, extension, or command name, print help for that\n"
 "    topic."
 msgstr ""
-"    Given a topic, extension, or command name, print help for that\n"
-"    topic."
+
+msgid ""
+"    Returns 0 if successful.\n"
+"    "
+msgstr ""
 
 msgid "global options:"
 msgstr "全域選項:"
 
 msgid "use \"hg help\" for the full list of commands"
-msgstr ""
+msgstr "使用 'hg help' 列出全部的命令"
 
 msgid "use \"hg help\" for the full list of commands or \"hg -v\" for details"
-msgstr ""
+msgstr "使用 'hg help' 列出全部的命令或 'hg -v'列出詳細資料"
 
 #, python-format
 msgid "use \"hg -v help%s\" to show aliases and global options"
@@ -7304,25 +7038,49 @@
 msgid "(no help text available)"
 msgstr "(沒有可用的說明文字)"
 
+#, python-format
+msgid "shell alias for::"
+msgstr ""
+
+#, python-format
+msgid "    %s"
+msgstr ""
+
+#, python-format
+msgid "alias for: hg %s"
+msgstr "別名: hg %s"
+
+#, python-format
+msgid "%s"
+msgstr ""
+
+#, python-format
+msgid ""
+"\n"
+"use \"hg -v help %s\" to show verbose help\n"
+msgstr ""
+"\n"
+"使用 \"hg -v help %s\" 以顯示全域選項\n"
+
 msgid "options:\n"
 msgstr "選項:\n"
 
 msgid "no commands defined\n"
 msgstr "沒有定義的命令\n"
 
-#, fuzzy
-msgid "enabled extensions:"
-msgstr ""
-"\n"
-"已啟用的擴充套件:\n"
-"\n"
-
 msgid "no help text available"
 msgstr "沒有可用的說明文字"
 
-#, fuzzy, python-format
+#, python-format
 msgid "%s extension - %s"
-msgstr "%s 擴充套件 - %s\n"
+msgstr "%s 擴充套件 - %s"
+
+msgid "use \"hg help extensions\" for information on enabling extensions\n"
+msgstr ""
+
+#, python-format
+msgid "'%s' is provided by the following extension:"
+msgstr ""
 
 msgid "Mercurial Distributed SCM\n"
 msgstr "Mercurial 分散式版本控制系統\n"
@@ -7330,6 +7088,22 @@
 msgid "basic commands:"
 msgstr "基本命令:"
 
+msgid "enabled extensions:"
+msgstr "已啟用的擴充套件:"
+
+msgid "VALUE"
+msgstr ""
+
+msgid "DEPRECATED"
+msgstr ""
+
+msgid ""
+"\n"
+"[+] marked option can be specified multiple times"
+msgstr ""
+"\n"
+"有標記 [+] 的參數,可以表述多次"
+
 msgid ""
 "\n"
 "additional help topics:"
@@ -7338,52 +7112,38 @@
 "額外的說明主題:"
 
 msgid "identify the working copy or specified revision"
-msgstr "識別 working copy 或指定的 revision 完整性"
+msgstr "識別工作副本或描述的修定版"
 
 msgid ""
 "    With no revision, print a summary of the current state of the\n"
 "    repository."
 msgstr ""
-"    With no revision, print a summary of the current state of the\n"
-"    repository."
 
 msgid ""
 "    Specifying a path to a repository root or Mercurial bundle will\n"
 "    cause lookup to operate on that repository/bundle."
 msgstr ""
-"    Specifying a path to a repository root or Mercurial bundle will\n"
-"    cause lookup to operate on that repository/bundle."
 
 msgid ""
 "    This summary identifies the repository state using one or two\n"
 "    parent hash identifiers, followed by a \"+\" if there are\n"
 "    uncommitted changes in the working directory, a list of tags for\n"
-"    this revision and a branch name for non-default branches.\n"
-"    "
-msgstr ""
-"    This summary identifies the repository state using one or two\n"
-"    parent hash identifiers, followed by a \"+\" if there are\n"
-"    uncommitted changes in the working directory, a list of tags for\n"
-"    this revision and a branch name for non-default branches.\n"
-"    "
-
-#, fuzzy
+"    this revision and a branch name for non-default branches."
+msgstr ""
+
 msgid "import an ordered set of patches"
 msgstr "import 一組有順序的 patches"
 
-#, fuzzy
-msgid "    Import a list of patches and commit them individually."
-msgstr "    Import a list of patches and commit them individually."
-
-#, fuzzy
+msgid ""
+"    Import a list of patches and commit them individually (unless\n"
+"    --no-commit is specified)."
+msgstr ""
+
 msgid ""
 "    If there are outstanding changes in the working directory, import\n"
 "    will abort unless given the -f/--force flag."
 msgstr ""
-"    If there are outstanding changes in the working directory, import\n"
-"    will abort unless given the -f/--force flag."
-
-#, fuzzy
+
 msgid ""
 "    You can import a patch straight from a mail message. Even patches\n"
 "    as attachments work (to use the body part, it must have type\n"
@@ -7392,26 +7152,14 @@
 "    text/plain body parts before first diff are added to commit\n"
 "    message."
 msgstr ""
-"    You can import a patch straight from a mail message. Even patches\n"
-"    as attachments work (to use the body part, it must have type\n"
-"    text/plain or text/x-patch). From and Subject headers of email\n"
-"    message are used as default committer and commit message. All\n"
-"    text/plain body parts before first diff are added to commit\n"
-"    message."
-
-#, fuzzy
-msgid ""
-"    If the imported patch was generated by hg export, user and\n"
+
+msgid ""
+"    If the imported patch was generated by :hg:`export`, user and\n"
 "    description from patch override values from message headers and\n"
 "    body. Values given on command line with -m/--message and -u/--user\n"
 "    override these."
 msgstr ""
-"    If the imported patch was generated by hg export, user and\n"
-"    description from patch override values from message headers and\n"
-"    body. Values given on command line with -m/--message and -u/--user\n"
-"    override these."
-
-#, fuzzy
+
 msgid ""
 "    If --exact is specified, import will set the working directory to\n"
 "    the parent of each patch before applying it, and will abort if the\n"
@@ -7419,36 +7167,20 @@
 "    the patch. This may happen due to character set problems or other\n"
 "    deficiencies in the text patch format."
 msgstr ""
-"    If --exact is specified, import will set the working directory to\n"
-"    the parent of each patch before applying it, and will abort if the\n"
-"    resulting changeset has a different ID than the one recorded in\n"
-"    the patch. This may happen due to character set problems or other\n"
-"    deficiencies in the text patch format."
-
-#, fuzzy
+
 msgid ""
 "    With -s/--similarity, hg will attempt to discover renames and\n"
 "    copies in the patch in the same way as 'addremove'."
 msgstr ""
-"    With -s/--similarity, hg will attempt to discover renames and\n"
-"    copies in the patch in the same way as 'addremove'."
-
-#, fuzzy
+
 msgid ""
 "    To read a patch from standard input, use \"-\" as the patch name. If\n"
 "    a URL is specified, the patch will be downloaded from it.\n"
-"    See 'hg help dates' for a list of formats valid for -d/--date.\n"
-"    "
-msgstr ""
-"    To read a patch from standard input, use \"-\" as the patch name.\n"
-"    See 'hg help dates' for a list of formats valid for -d/--date.\n"
-"    "
-
-msgid "applying patch from stdin\n"
-msgstr ""
-
-msgid "no diffs found"
-msgstr ""
+"    See :hg:`help dates` for a list of formats valid for -d/--date."
+msgstr ""
+
+msgid "to working directory"
+msgstr "到工作目錄"
 
 msgid "not a Mercurial patch"
 msgstr ""
@@ -7456,6 +7188,16 @@
 msgid "patch is damaged or loses information"
 msgstr ""
 
+msgid "applying patch from stdin\n"
+msgstr ""
+
+#, python-format
+msgid "applied %s\n"
+msgstr ""
+
+msgid "no diffs found"
+msgstr ""
+
 msgid "show new changesets found in source"
 msgstr "顯示來源端新的 changesets"
 
@@ -7464,23 +7206,22 @@
 "    pull location. These are the changesets that would have been pulled\n"
 "    if a pull at the time you issued this command."
 msgstr ""
-"    Show new changesets found in the specified path/URL or the default\n"
-"    pull location. These are the changesets that would have been pulled\n"
-"    if a pull at the time you issued this command."
 
 msgid ""
 "    For remote repository, using --bundle avoids downloading the\n"
 "    changesets twice if the incoming is followed by a pull."
 msgstr ""
-"    For remote repository, using --bundle avoids downloading the\n"
-"    changesets twice if the incoming is followed by a pull."
-
-msgid ""
-"    See pull for valid source format details.\n"
+
+msgid "    See pull for valid source format details."
+msgstr ""
+
+msgid ""
+"    Returns 0 if there are incoming changes, 1 otherwise.\n"
 "    "
 msgstr ""
-"    See pull for valid source format details.\n"
-"    "
+
+msgid "cannot combine --bundle and --subrepos"
+msgstr ""
 
 msgid "create a new repository in the given directory"
 msgstr "於指定的目錄建立新的 repository"
@@ -7489,20 +7230,14 @@
 "    Initialize a new repository in the given directory. If the given\n"
 "    directory does not exist, it will be created."
 msgstr ""
-"    Initialize a new repository in the given directory. If the given\n"
-"    directory does not exist, it will be created."
 
 msgid "    If no directory is given, the current directory is used."
-msgstr "    If no directory is given, the current directory is used."
-
-msgid ""
-"    It is possible to specify an ssh:// URL as the destination.\n"
-"    See 'hg help urls' for more information.\n"
-"    "
-msgstr ""
-"    It is possible to specify an ssh:// URL as the destination.\n"
-"    See 'hg help urls' for more information.\n"
-"    "
+msgstr ""
+
+msgid ""
+"    It is possible to specify an ``ssh://`` URL as the destination.\n"
+"    See :hg:`help urls` for more information."
+msgstr ""
 
 msgid "locate files matching specific patterns"
 msgstr "找出符合指定樣式的檔案"
@@ -7511,47 +7246,32 @@
 "    Print files under Mercurial control in the working directory whose\n"
 "    names match the given patterns."
 msgstr ""
-"    Print files under Mercurial control in the working directory whose\n"
-"    names match the given patterns."
 
 msgid ""
 "    By default, this command searches all directories in the working\n"
 "    directory. To search just the current directory and its\n"
 "    subdirectories, use \"--include .\"."
 msgstr ""
-"    By default, this command searches all directories in the working\n"
-"    directory. To search just the current directory and its\n"
-"    subdirectories, use \"--include .\"."
 
 msgid ""
 "    If no patterns are given to match, this command prints the names\n"
 "    of all files under Mercurial control in the working directory."
 msgstr ""
-"    If no patterns are given to match, this command prints the names\n"
-"    of all files under Mercurial control in the working directory."
 
 msgid ""
 "    If you want to feed the output of this command into the \"xargs\"\n"
 "    command, use the -0 option to both this command and \"xargs\". This\n"
 "    will avoid the problem of \"xargs\" treating single filenames that\n"
-"    contain whitespace as multiple filenames.\n"
-"    "
-msgstr ""
-"    If you want to feed the output of this command into the \"xargs\"\n"
-"    command, use the -0 option to both this command and \"xargs\". This\n"
-"    will avoid the problem of \"xargs\" treating single filenames that\n"
-"    contain whitespace as multiple filenames.\n"
-"    "
+"    contain whitespace as multiple filenames."
+msgstr ""
 
 msgid "show revision history of entire repository or files"
-msgstr "顯示整個 repository 或特定檔案的 revision history"
+msgstr ""
 
 msgid ""
 "    Print the revision history of the specified files or the entire\n"
 "    project."
 msgstr ""
-"    Print the revision history of the specified files or the entire\n"
-"    project."
 
 msgid ""
 "    File history is shown without following rename or copy history of\n"
@@ -7560,20 +7280,13 @@
 "    ancestors or descendants of the starting revision. --follow-first\n"
 "    only follows the first parent of merge revisions."
 msgstr ""
-"    File history is shown without following rename or copy history of\n"
-"    files. Use -f/--follow with a filename to follow history across\n"
-"    renames and copies. --follow without a filename will only show\n"
-"    ancestors or descendants of the starting revision. --follow-first\n"
-"    only follows the first parent of merge revisions."
-
-msgid ""
-"    If no revision range is specified, the default is tip:0 unless\n"
+
+msgid ""
+"    If no revision range is specified, the default is ``tip:0`` unless\n"
 "    --follow is set, in which case the working directory parent is\n"
-"    used as the starting revision."
-msgstr ""
-"    If no revision range is specified, the default is tip:0 unless\n"
-"    --follow is set, in which case the working directory parent is\n"
-"    used as the starting revision."
+"    used as the starting revision. You can specify a revision set for\n"
+"    log, see :hg:`help revsets` for more information."
+msgstr ""
 
 msgid ""
 "    By default this command prints revision number and changeset id,\n"
@@ -7581,54 +7294,36 @@
 "    each commit. When the -v/--verbose switch is used, the list of\n"
 "    changed files and full commit message are shown."
 msgstr ""
-"    By default this command prints revision number and changeset id,\n"
-"    tags, non-trivial parents, user, date and time, and a summary for\n"
-"    each commit. When the -v/--verbose switch is used, the list of\n"
-"    changed files and full commit message are shown."
-
-msgid ""
-"    NOTE: log -p/--patch may generate unexpected diff output for merge\n"
-"    changesets, as it will only compare the merge changeset against\n"
-"    its first parent. Also, only files different from BOTH parents\n"
-"    will appear in files:.\n"
-"    "
-msgstr ""
-"    NOTE: log -p/--patch may generate unexpected diff output for merge\n"
-"    changesets, as it will only compare the merge changeset against\n"
-"    its first parent. Also, only files different from BOTH parents\n"
-"    will appear in files:.\n"
-"    "
+
+msgid ""
+"    .. note::\n"
+"       log -p/--patch may generate unexpected diff output for merge\n"
+"       changesets, as it will only compare the merge changeset against\n"
+"       its first parent. Also, only files different from BOTH parents\n"
+"       will appear in files:."
+msgstr ""
 
 msgid "output the current or given revision of the project manifest"
-msgstr "輸出 project manifest 目前或指定的 revision"
+msgstr ""
 
 msgid ""
 "    Print a list of version controlled files for the given revision.\n"
 "    If no revision is given, the first parent of the working directory\n"
 "    is used, or the null revision if no revision is checked out."
 msgstr ""
-"    Print a list of version controlled files for the given revision.\n"
-"    If no revision is given, the first parent of the working directory\n"
-"    is used, or the null revision if no revision is checked out."
 
 msgid ""
 "    With -v, print file permissions, symlink and executable bits.\n"
-"    With --debug, print file revision hashes.\n"
-"    "
-msgstr ""
-"    With -v, print file permissions, symlink and executable bits.\n"
-"    With --debug, print file revision hashes.\n"
-"    "
+"    With --debug, print file revision hashes."
+msgstr ""
 
 msgid "merge working directory with another revision"
-msgstr "將 working directory 與其他的 revision 合併"
+msgstr "將工作目錄與其他的修定版合併"
 
 msgid ""
 "    The current working directory is updated with all changes made in\n"
 "    the requested revision since the last common predecessor revision."
 msgstr ""
-"    The current working directory is updated with all changes made in\n"
-"    the requested revision since the last common predecessor revision."
 
 msgid ""
 "    Files that changed between either parent are marked as changed for\n"
@@ -7636,30 +7331,44 @@
 "    updates to the repository are allowed. The next commit will have\n"
 "    two parents."
 msgstr ""
-"    Files that changed between either parent are marked as changed for\n"
-"    the next commit and a commit must be performed before any further\n"
-"    updates to the repository are allowed. The next commit will have\n"
-"    two parents."
+
+msgid ""
+"    ``--tool`` can be used to specify the merge tool used for file\n"
+"    merges. It overrides the HGMERGE environment variable and your\n"
+"    configuration files."
+msgstr ""
 
 msgid ""
 "    If no revision is specified, the working directory's parent is a\n"
 "    head revision, and the current branch contains exactly one other\n"
 "    head, the other head is merged with by default. Otherwise, an\n"
-"    explicit revision with which to merge with must be provided.\n"
-"    "
-msgstr ""
-"    If no revision is specified, the working directory's parent is a\n"
-"    head revision, and the current branch contains exactly one other\n"
-"    head, the other head is merged with by default. Otherwise, an\n"
-"    explicit revision with which to merge with must be provided.\n"
+"    explicit revision with which to merge with must be provided."
+msgstr ""
+
+msgid "    :hg:`resolve` must be used to resolve unresolved files."
+msgstr "hg `resolve`必須使用在解決未解決的檔案."
+
+msgid ""
+"    To undo an uncommitted merge, use :hg:`update --clean .` which\n"
+"    will check out a clean copy of the original merge parent, losing\n"
+"    all changes."
+msgstr ""
+
+msgid ""
+"    Returns 0 on success, 1 if there are unresolved files.\n"
 "    "
-
-#, python-format
-msgid "branch '%s' has %d heads - please merge with an explicit rev"
-msgstr ""
-
-#, python-format
-msgid "branch '%s' has one head - please merge with an explicit rev"
+msgstr ""
+
+#, python-format
+msgid ""
+"branch '%s' has %d heads - please merge with an explicit rev\n"
+"(run 'hg heads .' to see heads)"
+msgstr ""
+
+#, python-format
+msgid ""
+"branch '%s' has one head - please merge with an explicit rev\n"
+"(run 'hg heads' to see all heads)"
 msgstr ""
 
 msgid "there is nothing to merge"
@@ -7669,45 +7378,38 @@
 msgid "%s - use \"hg update\" instead"
 msgstr ""
 
-msgid "working dir not at a head rev - use \"hg update\" or merge with an explicit rev"
-msgstr ""
-
-msgid "show changesets not found in destination"
-msgstr "顯示目的端沒有的 changesets"
+msgid ""
+"working dir not at a head rev - use \"hg update\" or merge with an explicit "
+"rev"
+msgstr ""
+
+msgid "show changesets not found in the destination"
+msgstr ""
 
 msgid ""
 "    Show changesets not found in the specified destination repository\n"
 "    or the default push location. These are the changesets that would\n"
 "    be pushed if a push was requested."
 msgstr ""
-"    Show changesets not found in the specified destination repository\n"
-"    or the default push location. These are the changesets that would\n"
-"    be pushed if a push was requested."
-
-msgid ""
-"    See pull for valid destination format details.\n"
+
+msgid "    See pull for details of valid destination formats."
+msgstr ""
+
+msgid ""
+"    Returns 0 if there are outgoing changes, 1 otherwise.\n"
 "    "
 msgstr ""
-"    See pull for valid destination format details.\n"
-"    "
 
 msgid "show the parents of the working directory or revision"
-msgstr "顯示 working directory 或特定 revision 的 parents"
+msgstr "顯示工作目錄或修定版的母系"
 
 msgid ""
 "    Print the working directory's parent revisions. If a revision is\n"
 "    given via -r/--rev, the parent of that revision will be printed.\n"
 "    If a file argument is given, the revision in which the file was\n"
 "    last changed (before the working directory revision or the\n"
-"    argument to --rev if given) is printed.\n"
-"    "
-msgstr ""
-"    Print the working directory's parent revisions. If a revision is\n"
-"    given via -r/--rev, the parent of that revision will be printed.\n"
-"    If a file argument is given, the revision in which the file was\n"
-"    last changed (before the working directory revision or the\n"
-"    argument to --rev if given) is printed.\n"
-"    "
+"    argument to --rev if given) is printed."
+msgstr ""
 
 msgid "can only specify an explicit filename"
 msgstr ""
@@ -7723,22 +7425,28 @@
 "    Show definition of symbolic path name NAME. If no name is given,\n"
 "    show definition of all available names."
 msgstr ""
-"    Show definition of symbolic path name NAME. If no name is given,\n"
-"    show definition of all available names."
-
-msgid ""
-"    Path names are defined in the [paths] section of /etc/mercurial/hgrc\n"
-"    and $HOME/.hgrc. If run inside a repository, .hg/hgrc is used, too."
-msgstr ""
-"    Path names are defined in the [paths] section of /etc/mercurial/hgrc\n"
-"    and $HOME/.hgrc. If run inside a repository, .hg/hgrc is used, too."
-
-msgid ""
-"    See 'hg help urls' for more information.\n"
-"    "
-msgstr ""
-"    See 'hg help urls' for more information.\n"
-"    "
+
+msgid ""
+"    Path names are defined in the [paths] section of your\n"
+"    configuration file and in ``/etc/mercurial/hgrc``. If run inside a\n"
+"    repository, ``.hg/hgrc`` is used, too."
+msgstr ""
+
+msgid ""
+"    The path names ``default`` and ``default-push`` have a special\n"
+"    meaning.  When performing a push or pull operation, they are used\n"
+"    as fallbacks if no location is specified on the command-line.\n"
+"    When ``default-push`` is set, it will be used for push and\n"
+"    ``default`` will be used for pull; otherwise ``default`` is used\n"
+"    as the fallback for both.  When cloning a repository, the clone\n"
+"    source is written as ``default`` in ``.hg/hgrc``.  Note that\n"
+"    ``default`` and ``default-push`` apply to all inbound (e.g.\n"
+"    :hg:`incoming`) and outbound (e.g. :hg:`outgoing`, :hg:`email` and\n"
+"    :hg:`bundle`) operations."
+msgstr ""
+
+msgid "    See :hg:`help urls` for more information."
+msgstr "\tSee 'hg help urls' for more information."
 
 msgid "not found!\n"
 msgstr "沒有找到!\n"
@@ -7753,7 +7461,7 @@
 msgstr "(執行 'hg update' 來取得 working copy)\n"
 
 msgid "pull changes from the specified source"
-msgstr "pull 指定來源端的 changes"
+msgstr "拉收指定來源端的變更"
 
 msgid "    Pull changes from a remote repository to a local one."
 msgstr "    Pull changes from a remote repository to a local one."
@@ -7764,79 +7472,74 @@
 "    -R is specified). By default, this does not update the copy of the\n"
 "    project in the working directory."
 msgstr ""
-"    This finds all changes from the repository at the specified path\n"
-"    or URL and adds them to a local repository (the current one unless\n"
-"    -R is specified). By default, this does not update the copy of the\n"
-"    project in the working directory."
-
-msgid ""
-"    Use hg incoming if you want to see what would have been added by a\n"
-"    pull at the time you issued this command. If you then decide to\n"
-"    added those changes to the repository, you should use pull -r X\n"
-"    where X is the last changeset listed by hg incoming."
-msgstr ""
-"    Use hg incoming if you want to see what would have been added by a\n"
-"    pull at the time you issued this command. If you then decide to\n"
-"    added those changes to the repository, you should use pull -r X\n"
-"    where X is the last changeset listed by hg incoming."
+
+msgid ""
+"    Use :hg:`incoming` if you want to see what would have been added\n"
+"    by a pull at the time you issued this command. If you then decide\n"
+"    to add those changes to the repository, you should use :hg:`pull\n"
+"    -r X` where ``X`` is the last changeset listed by :hg:`incoming`."
+msgstr ""
 
 msgid ""
 "    If SOURCE is omitted, the 'default' path will be used.\n"
-"    See 'hg help urls' for more information.\n"
+"    See :hg:`help urls` for more information."
+msgstr ""
+
+msgid ""
+"    Returns 0 on success, 1 if an update had unresolved files.\n"
 "    "
 msgstr ""
-"    If SOURCE is omitted, the 'default' path will be used.\n"
-"    See 'hg help urls' for more information.\n"
-"    "
-
-#, fuzzy
+
+msgid ""
+"other repository doesn't support revision lookup, so a rev cannot be "
+"specified."
+msgstr ""
+
 msgid "push changes to the specified destination"
-msgstr "將 changes push 至指定的目的端"
-
-#, fuzzy
-msgid "    Push changes from the local repository to the given destination."
-msgstr "    Push changes from the local repository to the given destination."
-
-#, fuzzy
-msgid ""
-"    This is the symmetrical operation for pull. It moves changes from\n"
-"    the current repository to a different one. If the destination is\n"
-"    local this is identical to a pull in that directory from the\n"
-"    current one."
-msgstr ""
-"    This is the symmetrical operation for pull. It moves changes from\n"
-"    the current repository to a different one. If the destination is\n"
-"    local this is identical to a pull in that directory from the\n"
-"    current one."
-
-#, fuzzy
-msgid ""
-"    By default, push will refuse to run if it detects the result would\n"
-"    increase the number of remote heads. This generally indicates the\n"
-"    user forgot to pull and merge before pushing."
-msgstr ""
-"    By default, push will refuse to run if it detects the result would\n"
-"    increase the number of remote heads. This generally indicates the\n"
-"    user forgot to pull and merge before pushing."
-
-#, fuzzy
-msgid ""
-"    If -r/--rev is used, the named revision and all its ancestors will\n"
-"    be pushed to the remote repository."
-msgstr ""
-"    If -r/--rev is used, the named revision and all its ancestors will\n"
-"    be pushed to the remote repository."
-
-#, fuzzy
-msgid ""
-"    Please see 'hg help urls' for important details about ssh://\n"
-"    URLs. If DESTINATION is omitted, a default path will be used.\n"
+msgstr "將變更推送到至指定的目的端"
+
+msgid ""
+"    Push changesets from the local repository to the specified\n"
+"    destination."
+msgstr ""
+
+msgid ""
+"    This operation is symmetrical to pull: it is identical to a pull\n"
+"    in the destination repository from the current one."
+msgstr ""
+
+msgid ""
+"    By default, push will not allow creation of new heads at the\n"
+"    destination, since multiple heads would make it unclear which head\n"
+"    to use. In this situation, it is recommended to pull and merge\n"
+"    before pushing."
+msgstr ""
+
+msgid ""
+"    Use --new-branch if you want to allow push to create a new named\n"
+"    branch that is not present at the destination. This allows you to\n"
+"    only create a new branch without forcing other changes."
+msgstr ""
+
+msgid ""
+"    Use -f/--force to override the default behavior and push all\n"
+"    changesets on all branches."
+msgstr ""
+
+msgid ""
+"    If -r/--rev is used, the specified revision and all its ancestors\n"
+"    will be pushed to the remote repository."
+msgstr ""
+
+msgid ""
+"    Please see :hg:`help urls` for important details about ``ssh://``\n"
+"    URLs. If DESTINATION is omitted, a default path will be used."
+msgstr ""
+
+msgid ""
+"    Returns 0 if push was successful, 1 if nothing to push.\n"
 "    "
 msgstr ""
-"    Please see 'hg help urls' for important details about ssh://\n"
-"    URLs. If DESTINATION is omitted, a default path will be used.\n"
-"    See 'hg help urls' for more information.\n"
-"    "
 
 #, python-format
 msgid "pushing to %s\n"
@@ -7846,28 +7549,25 @@
 msgstr "roll back 一個被中斷的 transaction"
 
 msgid "    Recover from an interrupted commit or pull."
-msgstr "    Recover from an interrupted commit or pull."
+msgstr ""
 
 msgid ""
 "    This command tries to fix the repository status after an\n"
 "    interrupted operation. It should only be necessary when Mercurial\n"
-"    suggests it.\n"
+"    suggests it."
+msgstr ""
+
+msgid ""
+"    Returns 0 if successful, 1 if nothing to recover or verify fails.\n"
 "    "
 msgstr ""
-"    This command tries to fix the repository status after an\n"
-"    interrupted operation. It should only be necessary when Mercurial\n"
-"    suggests it.\n"
-"    "
-
-#, fuzzy
+
 msgid "remove the specified files on the next commit"
 msgstr "移除下次要 commit 的檔案"
 
-#, fuzzy
 msgid "    Schedule the indicated files for removal from the repository."
-msgstr "    Schedule the indicated files for removal from the repository."
-
-#, fuzzy
+msgstr ""
+
 msgid ""
 "    This only removes files from the current branch, not from the\n"
 "    entire project history. -A/--after can be used to remove only\n"
@@ -7875,27 +7575,15 @@
 "    force deletion, and -Af can be used to remove files from the next\n"
 "    revision without deleting them from the working directory."
 msgstr ""
-"    This only removes files from the current branch, not from the\n"
-"    entire project history. -A/--after can be used to remove only\n"
-"    files that have already been deleted, -f/--force can be used to\n"
-"    force deletion, and -Af can be used to remove files from the next\n"
-"    revision without deleting them from the working directory."
-
-#, fuzzy
+
 msgid ""
 "    The following table details the behavior of remove for different\n"
 "    file states (columns) and option combinations (rows). The file\n"
 "    states are Added [A], Clean [C], Modified [M] and Missing [!] (as\n"
-"    reported by hg status). The actions are Warn, Remove (from branch)\n"
-"    and Delete (from disk)::"
-msgstr ""
-"    The following table details the behavior of remove for different\n"
-"    file states (columns) and option combinations (rows). The file\n"
-"    states are Added [A], Clean [C], Modified [M] and Missing [!]\n"
-"    (as reported by hg status). The actions are Warn, Remove (from\n"
-"    branch) and Delete (from disk)."
-
-#, fuzzy
+"    reported by :hg:`status`). The actions are Warn, Remove (from\n"
+"    branch) and Delete (from disk)::"
+msgstr ""
+
 msgid ""
 "             A  C  M  !\n"
 "      none   W  RD W  R\n"
@@ -7903,37 +7591,32 @@
 "      -A     W  W  W  R\n"
 "      -Af    R  R  R  R"
 msgstr ""
-"           A  C  M  !\n"
-"    none   W  RD W  R\n"
-"    -f     R  RD RD R\n"
-"    -A     W  W  W  R\n"
-"    -Af    R  R  R  R"
-
-#, fuzzy
+
 msgid ""
 "    This command schedules the files to be removed at the next commit.\n"
-"    To undo a remove before that, see hg revert.\n"
+"    To undo a remove before that, see :hg:`revert`."
+msgstr ""
+
+msgid ""
+"    Returns 0 on success, 1 if any warnings encountered.\n"
 "    "
 msgstr ""
-"    This command schedules the files to be removed at the next commit.\n"
-"    To undo a remove before that, see hg revert.\n"
-"    "
 
 #, python-format
 msgid "not removing %s: file is untracked\n"
 msgstr ""
 
 #, python-format
-msgid "not removing %s: file %s (use -f to force removal)\n"
-msgstr ""
-
-msgid "still exists"
-msgstr ""
-
-msgid "is modified"
-msgstr ""
-
-msgid "has been marked for add"
+msgid "not removing %s: file still exists (use -f to force removal)\n"
+msgstr ""
+
+#, python-format
+msgid "not removing %s: file is modified (use -f to force removal)\n"
+msgstr ""
+
+#, python-format
+msgid ""
+"not removing %s: file has been marked for add (use -f to force removal)\n"
 msgstr ""
 
 msgid "rename files; equivalent of copy + remove"
@@ -7944,162 +7627,63 @@
 "    is a directory, copies are put in that directory. If dest is a\n"
 "    file, there can only be one source."
 msgstr ""
-"    Mark dest as copies of sources; mark sources for deletion. If dest\n"
-"    is a directory, copies are put in that directory. If dest is a\n"
-"    file, there can only be one source."
 
 msgid ""
 "    This command takes effect at the next commit. To undo a rename\n"
-"    before that, see hg revert.\n"
-"    "
-msgstr ""
-"    This command takes effect at the next commit. To undo a rename\n"
-"    before that, see hg revert.\n"
-"    "
-
-#, fuzzy
-msgid "retry file merges from a merge or update"
-msgstr ""
-"重試經由 merge 或 update 命令所造成、卻未完成的合併\n"
-"\n"
-"    This command will cleanly retry unresolved file merges using file\n"
-"    revisions preserved from the last update or merge. To attempt to\n"
-"    resolve all unresolved files, use the -a/--all switch.\n"
-"\n"
-"    If a conflict is resolved manually, please note that the changes\n"
-"    will be overwritten if the merge is retried with resolve. The\n"
-"    -m/--mark switch should be used to mark the file as resolved.\n"
-"\n"
-"    This command also allows listing resolved files and manually\n"
-"    indicating whether or not files are resolved. All files must be\n"
-"    marked as resolved before a commit is permitted.\n"
-"\n"
-"    The codes used to show the status of files are:\n"
-"    U = unresolved\n"
-"    R = resolved\n"
-"    "
-
-#, fuzzy
-msgid ""
-"    This command will cleanly retry unresolved file merges using file\n"
-"    revisions preserved from the last update or merge. To attempt to\n"
-"    resolve all unresolved files, use the -a/--all switch."
-msgstr ""
-"重試經由 merge 或 update 命令所造成、卻未完成的合併\n"
-"\n"
-"    This command will cleanly retry unresolved file merges using file\n"
-"    revisions preserved from the last update or merge. To attempt to\n"
-"    resolve all unresolved files, use the -a/--all switch.\n"
-"\n"
-"    If a conflict is resolved manually, please note that the changes\n"
-"    will be overwritten if the merge is retried with resolve. The\n"
-"    -m/--mark switch should be used to mark the file as resolved.\n"
-"\n"
-"    This command also allows listing resolved files and manually\n"
-"    indicating whether or not files are resolved. All files must be\n"
-"    marked as resolved before a commit is permitted.\n"
-"\n"
-"    The codes used to show the status of files are:\n"
-"    U = unresolved\n"
-"    R = resolved\n"
+"    before that, see :hg:`revert`."
+msgstr ""
+
+msgid "redo merges or set/view the merge status of files"
+msgstr "redo合併 或是 設定/觀看 檔案的合併狀況"
+
+msgid ""
+"    Merges with unresolved conflicts are often the result of\n"
+"    non-interactive merging using the ``internal:merge`` configuration\n"
+"    setting, or a command-line merge tool like ``diff3``. The resolve\n"
+"    command is used to manage the files involved in a merge, after\n"
+"    :hg:`merge` has been run, and before :hg:`commit` is run (i.e. the\n"
+"    working directory must have two parents)."
+msgstr ""
+
+msgid "    The resolve command can be used in the following ways:"
+msgstr ""
+
+msgid ""
+"    - :hg:`resolve [--tool TOOL] FILE...`: attempt to re-merge the "
+"specified\n"
+"      files, discarding any previous merge attempts. Re-merging is not\n"
+"      performed for files already marked as resolved. Use ``--all/-a``\n"
+"      to selects all unresolved files. ``--tool`` can be used to specify\n"
+"      the merge tool used for the given files. It overrides the HGMERGE\n"
+"      environment variable and your configuration files."
+msgstr ""
+
+msgid ""
+"    - :hg:`resolve -m [FILE]`: mark a file as having been resolved\n"
+"      (e.g. after having manually fixed-up the files). The default is\n"
+"      to mark all unresolved files."
+msgstr ""
+
+msgid ""
+"    - :hg:`resolve -u [FILE]...`: mark a file as unresolved. The\n"
+"      default is to mark all resolved files."
+msgstr ""
+
+msgid ""
+"    - :hg:`resolve -l`: list files which had or still have conflicts.\n"
+"      In the printed list, ``U`` = unresolved and ``R`` = resolved."
+msgstr ""
+
+msgid ""
+"    Note that Mercurial will not let you commit files with unresolved\n"
+"    merge conflicts. You must use :hg:`resolve -m ...` before you can\n"
+"    commit after a conflicting merge."
+msgstr ""
+
+msgid ""
+"    Returns 0 on success, 1 if any files fail a resolve attempt.\n"
 "    "
-
-#, fuzzy
-msgid ""
-"    If a conflict is resolved manually, please note that the changes\n"
-"    will be overwritten if the merge is retried with resolve. The\n"
-"    -m/--mark switch should be used to mark the file as resolved."
-msgstr ""
-"重試經由 merge 或 update 命令所造成、卻未完成的合併\n"
-"\n"
-"    This command will cleanly retry unresolved file merges using file\n"
-"    revisions preserved from the last update or merge. To attempt to\n"
-"    resolve all unresolved files, use the -a/--all switch.\n"
-"\n"
-"    If a conflict is resolved manually, please note that the changes\n"
-"    will be overwritten if the merge is retried with resolve. The\n"
-"    -m/--mark switch should be used to mark the file as resolved.\n"
-"\n"
-"    This command also allows listing resolved files and manually\n"
-"    indicating whether or not files are resolved. All files must be\n"
-"    marked as resolved before a commit is permitted.\n"
-"\n"
-"    The codes used to show the status of files are:\n"
-"    U = unresolved\n"
-"    R = resolved\n"
-"    "
-
-#, fuzzy
-msgid ""
-"    This command also allows listing resolved files and manually\n"
-"    indicating whether or not files are resolved. All files must be\n"
-"    marked as resolved before a commit is permitted."
-msgstr ""
-"重試經由 merge 或 update 命令所造成、卻未完成的合併\n"
-"\n"
-"    This command will cleanly retry unresolved file merges using file\n"
-"    revisions preserved from the last update or merge. To attempt to\n"
-"    resolve all unresolved files, use the -a/--all switch.\n"
-"\n"
-"    If a conflict is resolved manually, please note that the changes\n"
-"    will be overwritten if the merge is retried with resolve. The\n"
-"    -m/--mark switch should be used to mark the file as resolved.\n"
-"\n"
-"    This command also allows listing resolved files and manually\n"
-"    indicating whether or not files are resolved. All files must be\n"
-"    marked as resolved before a commit is permitted.\n"
-"\n"
-"    The codes used to show the status of files are:\n"
-"    U = unresolved\n"
-"    R = resolved\n"
-"    "
-
-#, fuzzy
-msgid "    The codes used to show the status of files are::"
-msgstr ""
-"重試經由 merge 或 update 命令所造成、卻未完成的合併\n"
-"\n"
-"    This command will cleanly retry unresolved file merges using file\n"
-"    revisions preserved from the last update or merge. To attempt to\n"
-"    resolve all unresolved files, use the -a/--all switch.\n"
-"\n"
-"    If a conflict is resolved manually, please note that the changes\n"
-"    will be overwritten if the merge is retried with resolve. The\n"
-"    -m/--mark switch should be used to mark the file as resolved.\n"
-"\n"
-"    This command also allows listing resolved files and manually\n"
-"    indicating whether or not files are resolved. All files must be\n"
-"    marked as resolved before a commit is permitted.\n"
-"\n"
-"    The codes used to show the status of files are:\n"
-"    U = unresolved\n"
-"    R = resolved\n"
-"    "
-
-#, fuzzy
-msgid ""
-"      U = unresolved\n"
-"      R = resolved\n"
-"    "
-msgstr ""
-"重試經由 merge 或 update 命令所造成、卻未完成的合併\n"
-"\n"
-"    This command will cleanly retry unresolved file merges using file\n"
-"    revisions preserved from the last update or merge. To attempt to\n"
-"    resolve all unresolved files, use the -a/--all switch.\n"
-"\n"
-"    If a conflict is resolved manually, please note that the changes\n"
-"    will be overwritten if the merge is retried with resolve. The\n"
-"    -m/--mark switch should be used to mark the file as resolved.\n"
-"\n"
-"    This command also allows listing resolved files and manually\n"
-"    indicating whether or not files are resolved. All files must be\n"
-"    marked as resolved before a commit is permitted.\n"
-"\n"
-"    The codes used to show the status of files are:\n"
-"    U = unresolved\n"
-"    R = resolved\n"
-"    "
+msgstr ""
 
 msgid "too many options specified"
 msgstr ""
@@ -8114,37 +7698,30 @@
 msgstr "將特定的檔案或目錄回復成較早的狀態"
 
 msgid ""
-"    (Use update -r to check out earlier revisions, revert does not\n"
-"    change the working directory parents.)"
-msgstr ""
-"    (Use update -r to check out earlier revisions, revert does not\n"
-"    change the working directory parents.)"
+"    .. note::\n"
+"       This command is most likely not what you are looking for.\n"
+"       Revert will partially overwrite content in the working\n"
+"       directory without changing the working directory parents. Use\n"
+"       :hg:`update -r rev` to check out earlier revisions, or\n"
+"       :hg:`update --clean .` to undo a merge which has added another\n"
+"       parent."
+msgstr ""
 
 msgid ""
 "    With no revision specified, revert the named files or directories\n"
 "    to the contents they had in the parent of the working directory.\n"
 "    This restores the contents of the affected files to an unmodified\n"
 "    state and unschedules adds, removes, copies, and renames. If the\n"
-"    working directory has two parents, you must explicitly specify the\n"
-"    revision to revert to."
-msgstr ""
-"    With no revision specified, revert the named files or directories\n"
-"    to the contents they had in the parent of the working directory.\n"
-"    This restores the contents of the affected files to an unmodified\n"
-"    state and unschedules adds, removes, copies, and renames. If the\n"
-"    working directory has two parents, you must explicitly specify the\n"
-"    revision to revert to."
+"    working directory has two parents, you must explicitly specify a\n"
+"    revision."
+msgstr ""
 
 msgid ""
 "    Using the -r/--rev option, revert the given files or directories\n"
 "    to their contents as of a specific revision. This can be helpful\n"
-"    to \"roll back\" some or all of an earlier change. See 'hg help\n"
-"    dates' for a list of formats valid for -d/--date."
-msgstr ""
-"    Using the -r/--rev option, revert the given files or directories\n"
-"    to their contents as of a specific revision. This can be helpful\n"
-"    to \"roll back\" some or all of an earlier change. See 'hg help\n"
-"    dates' for a list of formats valid for -d/--date."
+"    to \"roll back\" some or all of an earlier change. See :hg:`help\n"
+"    dates` for a list of formats valid for -d/--date."
+msgstr ""
 
 msgid ""
 "    Revert modifies the working directory. It does not commit any\n"
@@ -8153,34 +7730,21 @@
 "    directory, the reverted files will thus appear modified\n"
 "    afterwards."
 msgstr ""
-"    Revert modifies the working directory. It does not commit any\n"
-"    changes, or change the parent of the working directory. If you\n"
-"    revert to a revision other than the parent of the working\n"
-"    directory, the reverted files will thus appear modified\n"
-"    afterwards."
 
 msgid ""
 "    If a file has been deleted, it is restored. If the executable mode\n"
 "    of a file was changed, it is reset."
 msgstr ""
-"    If a file has been deleted, it is restored. If the executable mode\n"
-"    of a file was changed, it is reset."
 
 msgid ""
 "    If names are given, all files matching the names are reverted.\n"
 "    If no arguments are given, no files are reverted."
 msgstr ""
-"    If names are given, all files matching the names are reverted.\n"
-"    If no arguments are given, no files are reverted."
 
 msgid ""
 "    Modified files are saved with a .orig suffix before reverting.\n"
-"    To disable these backups, use --no-backup.\n"
-"    "
-msgstr ""
-"    Modified files are saved with a .orig suffix before reverting.\n"
-"    To disable these backups, use --no-backup.\n"
-"    "
+"    To disable these backups, use --no-backup."
+msgstr ""
 
 msgid "you can't specify a revision and a date"
 msgstr ""
@@ -8194,7 +7758,7 @@
 
 #, python-format
 msgid "reverting %s\n"
-msgstr ""
+msgstr "正在復原 %s\n"
 
 #, python-format
 msgid "undeleting %s\n"
@@ -8210,13 +7774,11 @@
 
 #, python-format
 msgid "no changes needed to %s\n"
-msgstr ""
-
-#, fuzzy
-msgid "roll back the last transaction"
-msgstr "roll back 最後一次的 transaction"
-
-#, fuzzy
+msgstr "沒有變更需要去 %s\n"
+
+msgid "roll back the last transaction (dangerous)"
+msgstr "roll back 最後一次的 transaction(危險)"
+
 msgid ""
 "    This command should be used with care. There is only one level of\n"
 "    rollback, and there is no way to undo a rollback. It will also\n"
@@ -8224,122 +7786,82 @@
 "    any dirstate changes since that time. This command does not alter\n"
 "    the working directory."
 msgstr ""
-"    This command should be used with care. There is only one level of\n"
-"    rollback, and there is no way to undo a rollback. It will also\n"
-"    restore the dirstate at the time of the last transaction, losing\n"
-"    any dirstate changes since that time."
-
-#, fuzzy
-msgid ""
-"    Transactions are used to encapsulate the effects of all commands\n"
-"    that create new changesets or propagate existing changesets into a\n"
-"    repository. For example, the following commands are transactional,\n"
-"    and their effects can be rolled back::"
-msgstr ""
+
+msgid ""
 "    Transactions are used to encapsulate the effects of all commands\n"
 "    that create new changesets or propagate existing changesets into a\n"
 "    repository. For example, the following commands are transactional,\n"
 "    and their effects can be rolled back:"
-
-#, fuzzy
-msgid ""
-"      commit\n"
-"      import\n"
-"      pull\n"
-"      push (with this repository as destination)\n"
-"      unbundle"
-msgstr ""
-"      commit\n"
-"      import\n"
-"      pull\n"
-"      push (with this repository as destination)\n"
-"      unbundle"
-
-#, fuzzy
+msgstr ""
+
+msgid ""
+"    - commit\n"
+"    - import\n"
+"    - pull\n"
+"    - push (with this repository as the destination)\n"
+"    - unbundle"
+msgstr ""
+
 msgid ""
 "    This command is not intended for use on public repositories. Once\n"
 "    changes are visible for pull by other users, rolling a transaction\n"
 "    back locally is ineffective (someone else may already have pulled\n"
 "    the changes). Furthermore, a race is possible with readers of the\n"
 "    repository; for example an in-progress pull from the repository\n"
-"    may fail if a rollback is performed.\n"
+"    may fail if a rollback is performed."
+msgstr ""
+
+msgid ""
+"    Returns 0 on success, 1 if no rollback data is available.\n"
 "    "
 msgstr ""
-"    This command is not intended for use on public repositories. Once\n"
-"    changes are visible for pull by other users, rolling a transaction\n"
-"    back locally is ineffective (someone else may already have pulled\n"
-"    the changes). Furthermore, a race is possible with readers of the\n"
-"    repository; for example an in-progress pull from the repository\n"
-"    may fail if a rollback is performed.\n"
-"    "
 
 msgid "print the root (top) of the current working directory"
-msgstr "顯示目前 working directory 的 root 目錄"
-
-msgid ""
-"    Print the root directory of the current repository.\n"
-"    "
-msgstr ""
-"    Print the root directory of the current repository.\n"
-"    "
-
-msgid "export the repository via HTTP"
-msgstr "將 repository 經由 HTTP 發佈"
-
-msgid "    Start a local HTTP repository browser and pull server."
-msgstr "    Start a local HTTP repository browser and pull server."
+msgstr "顯示目前工作目錄的 root(top)"
+
+msgid "    Print the root directory of the current repository."
+msgstr "顯示目前儲存庫的 root 目錄"
+
+msgid "start stand-alone webserver"
+msgstr "啟動常駐web伺服器"
+
+msgid ""
+"    Start a local HTTP repository browser and pull server. You can use\n"
+"    this for ad-hoc sharing and browing of repositories. It is\n"
+"    recommended to use a real web server to serve a repository for\n"
+"    longer periods of time."
+msgstr ""
+
+msgid ""
+"    Please note that the server does not implement access control.\n"
+"    This means that, by default, anybody can read from the server and\n"
+"    nobody can write to it by default. Set the ``web.allow_push``\n"
+"    option to ``*`` to allow everybody to push to the server. You\n"
+"    should use a real web server if you need to authenticate users."
+msgstr ""
 
 msgid ""
 "    By default, the server logs accesses to stdout and errors to\n"
 "    stderr. Use the -A/--accesslog and -E/--errorlog options to log to\n"
-"    files.\n"
-"    "
-msgstr ""
-"    By default, the server logs accesses to stdout and errors to\n"
-"    stderr. Use the -A/--accesslog and -E/--errorlog options to log to\n"
-"    files.\n"
-"    "
+"    files."
+msgstr ""
+
+msgid ""
+"    To have the server choose a free port number to listen on, specify\n"
+"    a port number of 0; in this case, the server will print the port\n"
+"    number it uses."
+msgstr ""
+
+msgid "There is no Mercurial repository here (.hg not found)"
+msgstr "這邊沒有Mercurial 儲存庫(找不到 .hg)"
 
 #, python-format
 msgid "listening at http://%s%s/%s (bound to %s:%d)\n"
 msgstr ""
 
-#, fuzzy
 msgid "show changed files in the working directory"
-msgstr ""
-"顯示 working directory 中已變更的檔案\n"
-"\n"
-"    Show status of files in the repository. If names are given, only\n"
-"    files that match are shown. Files that are clean or ignored or\n"
-"    the source of a copy/move operation, are not listed unless\n"
-"    -c/--clean, -i/--ignored, -C/--copies or -A/--all are given.\n"
-"    Unless options described with \"show only ...\" are given, the\n"
-"    options -mardu are used.\n"
-"\n"
-"    Option -q/--quiet hides untracked (unknown and ignored) files\n"
-"    unless explicitly requested with -u/--unknown or -i/--ignored.\n"
-"\n"
-"    NOTE: status may appear to disagree with diff if permissions have\n"
-"    changed or a merge has occurred. The standard diff format does not\n"
-"    report permission changes and diff only reports changes relative\n"
-"    to one merge parent.\n"
-"\n"
-"    If one revision is given, it is used as the base revision.\n"
-"    If two revisions are given, the differences between them are\n"
-"    shown.\n"
-"\n"
-"    The codes used to show the status of files are:\n"
-"    M = modified\n"
-"    A = added\n"
-"    R = removed\n"
-"    C = clean\n"
-"    ! = missing (deleted by non-hg command, but still tracked)\n"
-"    ? = not tracked\n"
-"    I = ignored\n"
-"      = origin of the previous file listed as A (added)\n"
-"    "
-
-#, fuzzy
+msgstr "顯示工作目錄的狀態"
+
 msgid ""
 "    Show status of files in the repository. If names are given, only\n"
 "    files that match are shown. Files that are clean or ignored or\n"
@@ -8348,153 +7870,30 @@
 "    Unless options described with \"show only ...\" are given, the\n"
 "    options -mardu are used."
 msgstr ""
-"顯示 working directory 中已變更的檔案\n"
-"\n"
-"    Show status of files in the repository. If names are given, only\n"
-"    files that match are shown. Files that are clean or ignored or\n"
-"    the source of a copy/move operation, are not listed unless\n"
-"    -c/--clean, -i/--ignored, -C/--copies or -A/--all are given.\n"
-"    Unless options described with \"show only ...\" are given, the\n"
-"    options -mardu are used.\n"
-"\n"
-"    Option -q/--quiet hides untracked (unknown and ignored) files\n"
-"    unless explicitly requested with -u/--unknown or -i/--ignored.\n"
-"\n"
-"    NOTE: status may appear to disagree with diff if permissions have\n"
-"    changed or a merge has occurred. The standard diff format does not\n"
-"    report permission changes and diff only reports changes relative\n"
-"    to one merge parent.\n"
-"\n"
-"    If one revision is given, it is used as the base revision.\n"
-"    If two revisions are given, the differences between them are\n"
-"    shown.\n"
-"\n"
-"    The codes used to show the status of files are:\n"
-"    M = modified\n"
-"    A = added\n"
-"    R = removed\n"
-"    C = clean\n"
-"    ! = missing (deleted by non-hg command, but still tracked)\n"
-"    ? = not tracked\n"
-"    I = ignored\n"
-"      = origin of the previous file listed as A (added)\n"
-"    "
-
-#, fuzzy
+
 msgid ""
 "    Option -q/--quiet hides untracked (unknown and ignored) files\n"
 "    unless explicitly requested with -u/--unknown or -i/--ignored."
 msgstr ""
-"顯示 working directory 中已變更的檔案\n"
-"\n"
-"    Show status of files in the repository. If names are given, only\n"
-"    files that match are shown. Files that are clean or ignored or\n"
-"    the source of a copy/move operation, are not listed unless\n"
-"    -c/--clean, -i/--ignored, -C/--copies or -A/--all are given.\n"
-"    Unless options described with \"show only ...\" are given, the\n"
-"    options -mardu are used.\n"
-"\n"
-"    Option -q/--quiet hides untracked (unknown and ignored) files\n"
-"    unless explicitly requested with -u/--unknown or -i/--ignored.\n"
-"\n"
-"    NOTE: status may appear to disagree with diff if permissions have\n"
-"    changed or a merge has occurred. The standard diff format does not\n"
-"    report permission changes and diff only reports changes relative\n"
-"    to one merge parent.\n"
-"\n"
-"    If one revision is given, it is used as the base revision.\n"
-"    If two revisions are given, the differences between them are\n"
-"    shown.\n"
-"\n"
-"    The codes used to show the status of files are:\n"
-"    M = modified\n"
-"    A = added\n"
-"    R = removed\n"
-"    C = clean\n"
-"    ! = missing (deleted by non-hg command, but still tracked)\n"
-"    ? = not tracked\n"
-"    I = ignored\n"
-"      = origin of the previous file listed as A (added)\n"
-"    "
-
-#, fuzzy
-msgid ""
-"    NOTE: status may appear to disagree with diff if permissions have\n"
-"    changed or a merge has occurred. The standard diff format does not\n"
-"    report permission changes and diff only reports changes relative\n"
-"    to one merge parent."
-msgstr ""
-"顯示 working directory 中已變更的檔案\n"
-"\n"
-"    Show status of files in the repository. If names are given, only\n"
-"    files that match are shown. Files that are clean or ignored or\n"
-"    the source of a copy/move operation, are not listed unless\n"
-"    -c/--clean, -i/--ignored, -C/--copies or -A/--all are given.\n"
-"    Unless options described with \"show only ...\" are given, the\n"
-"    options -mardu are used.\n"
-"\n"
-"    Option -q/--quiet hides untracked (unknown and ignored) files\n"
-"    unless explicitly requested with -u/--unknown or -i/--ignored.\n"
-"\n"
-"    NOTE: status may appear to disagree with diff if permissions have\n"
-"    changed or a merge has occurred. The standard diff format does not\n"
-"    report permission changes and diff only reports changes relative\n"
-"    to one merge parent.\n"
-"\n"
-"    If one revision is given, it is used as the base revision.\n"
-"    If two revisions are given, the differences between them are\n"
-"    shown.\n"
-"\n"
-"    The codes used to show the status of files are:\n"
-"    M = modified\n"
-"    A = added\n"
-"    R = removed\n"
-"    C = clean\n"
-"    ! = missing (deleted by non-hg command, but still tracked)\n"
-"    ? = not tracked\n"
-"    I = ignored\n"
-"      = origin of the previous file listed as A (added)\n"
-"    "
-
-#, fuzzy
+
+msgid ""
+"    .. note::\n"
+"       status may appear to disagree with diff if permissions have\n"
+"       changed or a merge has occurred. The standard diff format does\n"
+"       not report permission changes and diff only reports changes\n"
+"       relative to one merge parent."
+msgstr ""
+
 msgid ""
 "    If one revision is given, it is used as the base revision.\n"
 "    If two revisions are given, the differences between them are\n"
-"    shown."
-msgstr ""
-"顯示 working directory 中已變更的檔案\n"
-"\n"
-"    Show status of files in the repository. If names are given, only\n"
-"    files that match are shown. Files that are clean or ignored or\n"
-"    the source of a copy/move operation, are not listed unless\n"
-"    -c/--clean, -i/--ignored, -C/--copies or -A/--all are given.\n"
-"    Unless options described with \"show only ...\" are given, the\n"
-"    options -mardu are used.\n"
-"\n"
-"    Option -q/--quiet hides untracked (unknown and ignored) files\n"
-"    unless explicitly requested with -u/--unknown or -i/--ignored.\n"
-"\n"
-"    NOTE: status may appear to disagree with diff if permissions have\n"
-"    changed or a merge has occurred. The standard diff format does not\n"
-"    report permission changes and diff only reports changes relative\n"
-"    to one merge parent.\n"
-"\n"
-"    If one revision is given, it is used as the base revision.\n"
-"    If two revisions are given, the differences between them are\n"
-"    shown.\n"
-"\n"
-"    The codes used to show the status of files are:\n"
-"    M = modified\n"
-"    A = added\n"
-"    R = removed\n"
-"    C = clean\n"
-"    ! = missing (deleted by non-hg command, but still tracked)\n"
-"    ? = not tracked\n"
-"    I = ignored\n"
-"      = origin of the previous file listed as A (added)\n"
-"    "
-
-#, fuzzy
+"    shown. The --change option can also be used as a shortcut to list\n"
+"    the changed files of a revision from its first parent."
+msgstr ""
+
+msgid "    The codes used to show the status of files are::"
+msgstr ""
+
 msgid ""
 "      M = modified\n"
 "      A = added\n"
@@ -8503,43 +7902,11 @@
 "      ! = missing (deleted by non-hg command, but still tracked)\n"
 "      ? = not tracked\n"
 "      I = ignored\n"
-"        = origin of the previous file listed as A (added)\n"
-"    "
-msgstr ""
-"顯示 working directory 中已變更的檔案\n"
-"\n"
-"    Show status of files in the repository. If names are given, only\n"
-"    files that match are shown. Files that are clean or ignored or\n"
-"    the source of a copy/move operation, are not listed unless\n"
-"    -c/--clean, -i/--ignored, -C/--copies or -A/--all are given.\n"
-"    Unless options described with \"show only ...\" are given, the\n"
-"    options -mardu are used.\n"
-"\n"
-"    Option -q/--quiet hides untracked (unknown and ignored) files\n"
-"    unless explicitly requested with -u/--unknown or -i/--ignored.\n"
-"\n"
-"    NOTE: status may appear to disagree with diff if permissions have\n"
-"    changed or a merge has occurred. The standard diff format does not\n"
-"    report permission changes and diff only reports changes relative\n"
-"    to one merge parent.\n"
-"\n"
-"    If one revision is given, it is used as the base revision.\n"
-"    If two revisions are given, the differences between them are\n"
-"    shown.\n"
-"\n"
-"    The codes used to show the status of files are:\n"
-"    M = modified\n"
-"    A = added\n"
-"    R = removed\n"
-"    C = clean\n"
-"    ! = missing (deleted by non-hg command, but still tracked)\n"
-"    ? = not tracked\n"
-"    I = ignored\n"
-"      = origin of the previous file listed as A (added)\n"
-"    "
+"        = origin of the previous file listed as A (added)"
+msgstr ""
 
 msgid "summarize working directory state"
-msgstr ""
+msgstr "摘錄工作目錄的狀態"
 
 msgid ""
 "    This generates a brief summary of the working directory state,\n"
@@ -8548,64 +7915,77 @@
 
 msgid ""
 "    With the --remote option, this will check the default paths for\n"
-"    incoming and outgoing changes. This can be time-consuming.\n"
-"    "
-msgstr ""
+"    incoming and outgoing changes. This can be time-consuming."
+msgstr ""
+
+#, python-format
+msgid "parent: %d:%s "
+msgstr "母系:\t\t%d:%s"
 
 msgid " (empty repository)"
-msgstr ""
+msgstr "(空白的儲存庫)"
 
 msgid " (no revision checked out)"
 msgstr ""
 
 #, python-format
-msgid "parent: %d:%s %s\n"
-msgstr ""
-
-#, fuzzy, python-format
 msgid "branch: %s\n"
-msgstr "找不到 branch %s"
-
-#, python-format
-msgid "%d added"
-msgstr ""
+msgstr "分支:\t\t %s\n"
 
 #, python-format
 msgid "%d modified"
-msgstr ""
-
-#, fuzzy, python-format
+msgstr "%d 修改"
+
+#, python-format
+msgid "%d added"
+msgstr "%d 新增"
+
+#, python-format
 msgid "%d removed"
-msgstr "已移除"
+msgstr "%d 移除"
+
+#, python-format
+msgid "%d renamed"
+msgstr "%d 改名字"
+
+#, python-format
+msgid "%d copied"
+msgstr "%d 複製"
 
 #, python-format
 msgid "%d deleted"
-msgstr ""
+msgstr "%d 刪除"
+
+#, python-format
+msgid "%d unknown"
+msgstr "%d 不清楚"
 
 #, python-format
 msgid "%d ignored"
-msgstr ""
-
-#, fuzzy, python-format
-msgid "%d unknown"
-msgstr "未知的 base"
-
-#, fuzzy, python-format
+msgstr "%d 忽略"
+
+#, python-format
 msgid "%d unresolved"
-msgstr "已移除"
-
-#, fuzzy
+msgstr "%d 未解決"
+
+#, python-format
+msgid "%d subrepos"
+msgstr ""
+
 msgid " (merge)"
-msgstr "已合併"
+msgstr "(合併)"
 
 msgid " (new branch)"
+msgstr "(新分支)"
+
+msgid " (head closed)"
 msgstr ""
 
 msgid " (clean)"
 msgstr ""
 
 msgid " (new branch head)"
-msgstr ""
+msgstr "(新分支標頭)"
 
 #, python-format
 msgid "commit: %s\n"
@@ -8629,35 +8009,29 @@
 msgid "%d outgoing"
 msgstr ""
 
-#, fuzzy, python-format
+#, python-format
 msgid "remote: %s\n"
-msgstr "遠端: "
-
-#, fuzzy
+msgstr "遠端: %s\n"
+
 msgid "remote: (synced)\n"
-msgstr "遠端: "
+msgstr ""
 
 msgid "add one or more tags for the current or given revision"
-msgstr "對目前或是指定的 revision 新增一或多個 tags"
+msgstr "對目前或提供的修定版新增一或多個標記"
 
 msgid "    Name a particular revision using <name>."
-msgstr "    Name a particular revision using <name>."
+msgstr ""
 
 msgid ""
 "    Tags are used to name particular revisions of the repository and are\n"
 "    very useful to compare different revisions, to go back to significant\n"
 "    earlier versions or to mark branch points as releases, etc."
 msgstr ""
-"    Tags are used to name particular revisions of the repository and are\n"
-"    very useful to compare different revisions, to go back to significant\n"
-"    earlier versions or to mark branch points as releases, etc."
 
 msgid ""
 "    If no revision is given, the parent of the working directory is\n"
 "    used, or tip if no revision is checked out."
 msgstr ""
-"    If no revision is given, the parent of the working directory is\n"
-"    used, or tip if no revision is checked out."
 
 msgid ""
 "    To facilitate version control, distribution, and merging of tags,\n"
@@ -8666,17 +8040,16 @@
 "    necessary. The file '.hg/localtags' is used for local tags (not\n"
 "    shared among repositories)."
 msgstr ""
-"    To facilitate version control, distribution, and merging of tags,\n"
-"    they are stored as a file named \".hgtags\" which is managed\n"
-"    similarly to other project files and can be hand-edited if\n"
-"    necessary. The file '.hg/localtags' is used for local tags (not\n"
-"    shared among repositories)."
+
+msgid ""
+"    Since tag names have priority over branch names during revision\n"
+"    lookup, using an existing branch name as a tag name is discouraged."
+msgstr ""
 
 msgid "tag names must be unique"
-msgstr ""
-
-#, python-format
-msgid "the name '%s' is reserved"
+msgstr "標記名稱必須唯一"
+
+msgid "tag names cannot consist entirely of whitespace"
 msgstr ""
 
 msgid "--rev and --remove are incompatible"
@@ -8684,159 +8057,128 @@
 
 #, python-format
 msgid "tag '%s' does not exist"
-msgstr ""
+msgstr "標記 '%s' 不存在"
 
 #, python-format
 msgid "tag '%s' is not a global tag"
-msgstr ""
+msgstr "標記'%s' 不是一個全域標記"
 
 #, python-format
 msgid "tag '%s' is not a local tag"
-msgstr ""
+msgstr "標記'%s' 不是一個本地端標記"
 
 #, python-format
 msgid "tag '%s' already exists (use -f to force)"
-msgstr ""
+msgstr "標記 '%s' 己經有了(使用 -f 去強制)"
 
 msgid "list repository tags"
-msgstr "列出 repository tags"
+msgstr "列出 儲存庫 標記(s)"
 
 msgid ""
 "    This lists both regular and local tags. When the -v/--verbose\n"
-"    switch is used, a third column \"local\" is printed for local tags.\n"
-"    "
-msgstr ""
-"    This lists both regular and local tags. When the -v/--verbose\n"
-"    switch is used, a third column \"local\" is printed for local tags.\n"
-"    "
+"    switch is used, a third column \"local\" is printed for local tags."
+msgstr ""
 
 msgid "show the tip revision"
-msgstr "顯示 tip revision"
+msgstr "顯示 tip 版本"
 
 msgid ""
 "    The tip revision (usually just called the tip) is the changeset\n"
 "    most recently added to the repository (and therefore the most\n"
 "    recently changed head)."
 msgstr ""
-"    The tip revision (usually just called the tip) is the changeset\n"
-"    most recently added to the repository (and therefore the most\n"
-"    recently changed head)."
 
 msgid ""
 "    If you have just made a commit, that commit will be the tip. If\n"
 "    you have just pulled changes from another repository, the tip of\n"
 "    that repository becomes the current tip. The \"tip\" tag is special\n"
-"    and cannot be renamed or assigned to a different changeset.\n"
-"    "
-msgstr ""
-"    If you have just made a commit, that commit will be the tip. If\n"
-"    you have just pulled changes from another repository, the tip of\n"
-"    that repository becomes the current tip. The \"tip\" tag is special\n"
-"    and cannot be renamed or assigned to a different changeset.\n"
-"    "
+"    and cannot be renamed or assigned to a different changeset."
+msgstr ""
 
 msgid "apply one or more changegroup files"
 msgstr "套用一或多個 changegroup 檔案"
 
 msgid ""
 "    Apply one or more compressed changegroup files generated by the\n"
-"    bundle command.\n"
-"    "
-msgstr ""
-"    Apply one or more compressed changegroup files generated by the\n"
-"    bundle command.\n"
+"    bundle command."
+msgstr ""
+
+msgid ""
+"    Returns 0 on success, 1 if an update has unresolved files.\n"
 "    "
-
-#, fuzzy
-msgid "update working directory"
-msgstr "更新 working directory"
-
-#, fuzzy
+msgstr ""
+
+msgid "update working directory (or switch revisions)"
+msgstr "更新工作目錄(也可以用來切換版本號)"
+
 msgid ""
 "    Update the repository's working directory to the specified\n"
-"    revision, or the tip of the current branch if none is specified.\n"
-"    Use null as the revision to remove the working copy (like 'hg\n"
-"    clone -U')."
-msgstr ""
-"    Update the repository's working directory to the specified\n"
-"    revision, or the tip of the current branch if none is specified.\n"
-"    Use null as the revision to remove the working copy (like 'hg\n"
-"    clone -U')."
-
-#, fuzzy
-msgid ""
-"    When the working directory contains no uncommitted changes, it\n"
-"    will be replaced by the state of the requested revision from the\n"
-"    repository. When the requested revision is on a different branch,\n"
-"    the working directory will additionally be switched to that\n"
-"    branch."
-msgstr ""
-"    When the working directory contains no uncommitted changes, it\n"
-"    will be replaced by the state of the requested revision from the\n"
-"    repository. When the requested revision is on a different branch,\n"
-"    the working directory will additionally be switched to that\n"
-"    branch."
-
-#, fuzzy
-msgid ""
-"    When there are uncommitted changes, use option -C/--clean to\n"
-"    discard them, forcibly replacing the state of the working\n"
-"    directory with the requested revision. Alternately, use -c/--check\n"
-"    to abort."
-msgstr ""
-"    When there are uncommitted changes, use option -C/--clean to\n"
-"    discard them, forcibly replacing the state of the working\n"
-"    directory with the requested revision."
-
-#, fuzzy
-msgid ""
-"    When there are uncommitted changes and option -C/--clean is not\n"
-"    used, and the parent revision and requested revision are on the\n"
-"    same branch, and one of them is an ancestor of the other, then the\n"
-"    new working directory will contain the requested revision merged\n"
-"    with the uncommitted changes. Otherwise, the update will fail with\n"
-"    a suggestion to use 'merge' or 'update -C' instead."
-msgstr ""
-"    When there are uncommitted changes and option -C/--clean is not\n"
-"    used, and the parent revision and requested revision are on the\n"
-"    same branch, and one of them is an ancestor of the other, then the\n"
-"    new working directory will contain the requested revision merged\n"
-"    with the uncommitted changes. Otherwise, the update will fail with\n"
-"    a suggestion to use 'merge' or 'update -C' instead."
-
-#, fuzzy
-msgid ""
-"    If you want to update just one file to an older revision, use\n"
-"    revert."
-msgstr ""
-"    If you want to update just one file to an older revision, use\n"
-"    revert."
+"    changeset. If no changeset is specified, update to the tip of the\n"
+"    current named branch."
+msgstr ""
+
+msgid ""
+"    If the changeset is not a descendant of the working directory's\n"
+"    parent, the update is aborted. With the -c/--check option, the\n"
+"    working directory is checked for uncommitted changes; if none are\n"
+"    found, the working directory is updated to the specified\n"
+"    changeset."
+msgstr ""
+
+msgid ""
+"    The following rules apply when the working directory contains\n"
+"    uncommitted changes:"
+msgstr ""
+
+msgid ""
+"    1. If neither -c/--check nor -C/--clean is specified, and if\n"
+"       the requested changeset is an ancestor or descendant of\n"
+"       the working directory's parent, the uncommitted changes\n"
+"       are merged into the requested changeset and the merged\n"
+"       result is left uncommitted. If the requested changeset is\n"
+"       not an ancestor or descendant (that is, it is on another\n"
+"       branch), the update is aborted and the uncommitted changes\n"
+"       are preserved."
+msgstr ""
+
+msgid ""
+"    2. With the -c/--check option, the update is aborted and the\n"
+"       uncommitted changes are preserved."
+msgstr ""
+
+msgid ""
+"    3. With the -C/--clean option, uncommitted changes are discarded and\n"
+"       the working directory is updated to the requested changeset."
+msgstr ""
+
+msgid ""
+"    Use null as the changeset to remove the working directory (like\n"
+"    :hg:`clone -U`)."
+msgstr ""
+
+msgid ""
+"    If you want to update just one file to an older changeset, use\n"
+"    :hg:`revert`."
+msgstr ""
 
 msgid "cannot specify both -c/--check and -C/--clean"
 msgstr ""
 
-#, fuzzy
 msgid "uncommitted local changes"
-msgstr "未同步的變更"
+msgstr ""
 
 msgid "verify the integrity of the repository"
 msgstr "驗證 repository 的完整性"
 
 msgid "    Verify the integrity of the current repository."
-msgstr "    Verify the integrity of the current repository."
+msgstr ""
 
 msgid ""
 "    This will perform an extensive check of the repository's\n"
 "    integrity, validating the hashes and checksums of each entry in\n"
 "    the changelog, manifest, and tracked files, as well as the\n"
-"    integrity of their crosslinks and indices.\n"
-"    "
-msgstr ""
-"    This will perform an extensive check of the repository's\n"
-"    integrity, validating the hashes and checksums of each entry in\n"
-"    the changelog, manifest, and tracked files, as well as the\n"
-"    integrity of their crosslinks and indices.\n"
-"    "
+"    integrity of their crosslinks and indices."
+msgstr ""
 
 msgid "output version and copyright information"
 msgstr "輸出版本以及版權資訊"
@@ -8845,9 +8187,12 @@
 msgid "Mercurial Distributed SCM (version %s)\n"
 msgstr "mercurial 分散式版本控制系統 (版本 %s)\n"
 
-msgid ""
-"\n"
-"Copyright (C) 2005-2010 Matt Mackall <mpm@selenic.com> and others\n"
+#, fuzzy
+msgid "(see http://mercurial.selenic.com for more information)"
+msgstr "\tSee 'hg help urls' for more information."
+
+msgid ""
+"Copyright (C) 2005-2010 Matt Mackall and others\n"
 "This is free software; see the source for copying conditions. There is NO\n"
 "warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n"
 msgstr ""
@@ -8855,6 +8200,9 @@
 msgid "repository root directory or name of overlay bundle file"
 msgstr ""
 
+msgid "DIR"
+msgstr ""
+
 msgid "change working directory"
 msgstr ""
 
@@ -8867,7 +8215,10 @@
 msgid "enable additional output"
 msgstr ""
 
-msgid "set/override config option"
+msgid "set/override config option (use 'section.name=value')"
+msgstr ""
+
+msgid "CONFIG"
 msgstr ""
 
 msgid "enable debugging output"
@@ -8879,10 +8230,16 @@
 msgid "set the charset encoding"
 msgstr ""
 
+msgid "ENCODE"
+msgstr ""
+
+msgid "MODE"
+msgstr ""
+
 msgid "set the charset encoding mode"
 msgstr ""
 
-msgid "print traceback on exception"
+msgid "always print a traceback on exception"
 msgstr ""
 
 msgid "time how long the command takes"
@@ -8898,7 +8255,7 @@
 msgstr ""
 
 msgid "do not perform actions, just print output"
-msgstr ""
+msgstr "不要真的行動,只要顯示輸出"
 
 msgid "specify ssh command to use"
 msgstr ""
@@ -8906,16 +8263,19 @@
 msgid "specify hg command to run on the remote side"
 msgstr ""
 
+msgid "PATTERN"
+msgstr ""
+
 msgid "include names matching the given patterns"
-msgstr ""
+msgstr "含括符合檔案表示式的檔案"
 
 msgid "exclude names matching the given patterns"
-msgstr ""
-
-msgid "use <text> as commit message"
-msgstr ""
-
-msgid "read commit message from <file>"
+msgstr "排除符合檔案表示式的檔案"
+
+msgid "use text as commit message"
+msgstr ""
+
+msgid "read commit message from file"
 msgstr ""
 
 msgid "record datecode as commit date"
@@ -8924,6 +8284,9 @@
 msgid "record the specified user as committer"
 msgstr ""
 
+msgid "STYLE"
+msgstr ""
+
 msgid "display using template map file"
 msgstr ""
 
@@ -8933,15 +8296,21 @@
 msgid "do not show merges"
 msgstr ""
 
+msgid "output diffstat-style summary of changes"
+msgstr ""
+
 msgid "treat all files as text"
 msgstr ""
 
-msgid "don't include dates in diff headers"
+msgid "omit dates from diff headers"
 msgstr ""
 
 msgid "show which function each change is in"
 msgstr ""
 
+msgid "produce a diff that undoes the changes"
+msgstr ""
+
 msgid "ignore white space when comparing lines"
 msgstr ""
 
@@ -8954,21 +8323,33 @@
 msgid "number of lines of context to show"
 msgstr ""
 
+msgid "SIMILARITY"
+msgstr ""
+
 msgid "guess renamed files by similarity (0<=s<=100)"
 msgstr ""
 
+msgid "recurse into subrepositories"
+msgstr ""
+
 msgid "[OPTION]... [FILE]..."
 msgstr ""
 
 msgid "annotate the specified revision"
-msgstr ""
-
-msgid "follow file copies and renames"
+msgstr "追溯描述的版本號"
+
+msgid "follow copies/renames and list the filename (DEPRECATED)"
+msgstr ""
+
+msgid "don't follow copies and renames"
 msgstr ""
 
 msgid "list the author (long with -v)"
 msgstr ""
 
+msgid "list the filename"
+msgstr ""
+
 msgid "list the date (short with -q)"
 msgstr ""
 
@@ -8987,6 +8368,9 @@
 msgid "do not pass files through decoders"
 msgstr ""
 
+msgid "PREFIX"
+msgstr ""
+
 msgid "directory prefix for files in archive"
 msgstr ""
 
@@ -9005,6 +8389,9 @@
 msgid "parent to choose when backing out merge"
 msgstr ""
 
+msgid "specify merge tool"
+msgstr ""
+
 msgid "revision to backout"
 msgstr ""
 
@@ -9029,7 +8416,7 @@
 msgid "do not update to target"
 msgstr ""
 
-msgid "[-gbsr] [-c CMD] [REV]"
+msgid "[-gbsr] [-U] [-c CMD] [REV]"
 msgstr ""
 
 msgid "set branch name even if it shadows an existing branch"
@@ -9047,16 +8434,19 @@
 msgid "show normal and closed branches"
 msgstr ""
 
-msgid "[-a]"
-msgstr ""
-
-msgid "run even when remote repository is unrelated"
-msgstr ""
-
-msgid "a changeset up to which you would like to bundle"
-msgstr ""
-
-msgid "a base changeset to specify instead of a destination"
+msgid "[-ac]"
+msgstr ""
+
+msgid "run even when the destination is unrelated"
+msgstr ""
+
+msgid "a changeset intended to be added to the destination"
+msgstr ""
+
+msgid "a specific branch you would like to bundle"
+msgstr ""
+
+msgid "a base changeset assumed to be available at the destination"
 msgstr ""
 
 msgid "bundle all changesets in the repository"
@@ -9065,7 +8455,7 @@
 msgid "bundle compression type to use"
 msgstr ""
 
-msgid "[-f] [-a] [-r REV]... [--base REV]... FILE [DEST]"
+msgid "[-f] [-t TYPE] [-a] [-r REV]... [--base REV]... FILE [DEST]"
 msgstr ""
 
 msgid "print output to file with formatted name"
@@ -9080,10 +8470,16 @@
 msgid "[OPTION]... FILE..."
 msgstr ""
 
-msgid "the clone will only contain a repository (no working copy)"
-msgstr ""
-
-msgid "a changeset you would like to have after cloning"
+msgid "the clone will include an empty working copy (only a repository)"
+msgstr ""
+
+msgid "revision, tag or branch to check out"
+msgstr ""
+
+msgid "include the specified changeset"
+msgstr ""
+
+msgid "clone only the specified branch"
 msgstr ""
 
 msgid "[OPTION]... SOURCE [DEST]"
@@ -9107,6 +8503,21 @@
 msgid "[INDEX] REV1 REV2"
 msgstr ""
 
+msgid "add single file mergeable changes"
+msgstr ""
+
+msgid "add single file all revs append to"
+msgstr ""
+
+msgid "add single file all revs overwrite"
+msgstr ""
+
+msgid "add new file at each rev"
+msgstr ""
+
+msgid "[OPTION]... TEXT"
+msgstr ""
+
 msgid "[COMMAND]"
 msgstr ""
 
@@ -9116,6 +8527,21 @@
 msgid "[-o] CMD"
 msgstr ""
 
+msgid "use tags as labels"
+msgstr ""
+
+msgid "annotate with branch names"
+msgstr ""
+
+msgid "use dots for runs"
+msgstr ""
+
+msgid "separate elements by spaces"
+msgstr ""
+
+msgid "[OPTION]... [FILE [REV]...]"
+msgstr ""
+
 msgid "try extended date formats"
 msgstr ""
 
@@ -9128,7 +8554,10 @@
 msgid "[PATH]"
 msgstr ""
 
-msgid "FILE"
+msgid "revlog format"
+msgstr ""
+
+msgid "REPO NAMESPACE [KEY OLD NEW]"
 msgstr ""
 
 msgid "revision to rebuild to"
@@ -9155,12 +8584,15 @@
 msgid "revision to check"
 msgstr ""
 
-msgid "[OPTION]... [-r REV1 [-r REV2]] [FILE]..."
+msgid "[OPTION]... ([-c REV] | [-r REV1 [-r REV2]]) [FILE]..."
 msgstr ""
 
 msgid "diff against the second parent"
 msgstr ""
 
+msgid "revisions to export"
+msgstr ""
+
 msgid "[OPTION]... [-o OUTFILESPEC] REV..."
 msgstr ""
 
@@ -9182,22 +8614,28 @@
 msgid "print matching line numbers"
 msgstr ""
 
-msgid "search in given revision range"
+msgid "only search files changed within revision range"
 msgstr ""
 
 msgid "[OPTION]... PATTERN [FILE]..."
 msgstr ""
 
-msgid "show only heads which are descendants of REV"
-msgstr ""
-
-msgid "show only the active branch heads from open branches"
+msgid "show only heads which are descendants of STARTREV"
+msgstr ""
+
+msgid "STARTREV"
+msgstr ""
+
+msgid "show topological heads only"
+msgstr ""
+
+msgid "show active branchheads only (DEPRECATED)"
 msgstr ""
 
 msgid "show normal and closed branch heads"
 msgstr ""
 
-msgid "[-r STARTREV] [REV]..."
+msgid "[-ac] [-r STARTREV] [REV]..."
 msgstr ""
 
 msgid "[TOPIC]"
@@ -9221,7 +8659,12 @@
 msgid "[-nibt] [-r REV] [SOURCE]"
 msgstr ""
 
-msgid "directory strip option for patch. This has the same meaning as the corresponding patch option"
+msgid ""
+"directory strip option for patch. This has the same meaning as the "
+"corresponding patch option"
+msgstr ""
+
+msgid "PATH"
 msgstr ""
 
 msgid "base path"
@@ -9242,13 +8685,19 @@
 msgid "[OPTION]... PATCH..."
 msgstr ""
 
+msgid "run even if remote repository is unrelated"
+msgstr ""
+
 msgid "show newest record first"
 msgstr ""
 
 msgid "file to store the bundles into"
 msgstr ""
 
-msgid "a specific revision up to which you would like to pull"
+msgid "a remote changeset intended to be added"
+msgstr ""
+
+msgid "a specific branch you would like to pull"
 msgstr ""
 
 msgid "[-p] [-n] [-M] [-f] [-r REV]... [--bundle FILENAME] [SOURCE]"
@@ -9257,7 +8706,7 @@
 msgid "[-e CMD] [--remotecmd CMD] [DEST]"
 msgstr ""
 
-msgid "search the repository as it stood at REV"
+msgid "search the repository as it is in REV"
 msgstr ""
 
 msgid "end filenames with NUL, for use with xargs"
@@ -9278,7 +8727,7 @@
 msgid "show copied files"
 msgstr ""
 
-msgid "do case-insensitive search for a keyword"
+msgid "do case-insensitive search for a given text"
 msgstr ""
 
 msgid "include revisions where files were removed"
@@ -9290,7 +8739,10 @@
 msgid "revisions committed by user"
 msgstr ""
 
-msgid "show only changesets within the given named branch"
+msgid "show only changesets within the given named branch (DEPRECATED)"
+msgstr ""
+
+msgid "show changesets within the given named branch"
 msgstr ""
 
 msgid "do not display revision or any of its ancestors"
@@ -9314,16 +8766,19 @@
 msgid "review revisions to merge (no merge is performed)"
 msgstr ""
 
-msgid "[-f] [[-r] REV]"
-msgstr ""
-
-msgid "a specific revision up to which you would like to push"
+msgid "[-P] [-f] [[-r] REV]"
+msgstr ""
+
+msgid "a changeset intended to be included in the destination"
+msgstr ""
+
+msgid "a specific branch you would like to push"
 msgstr ""
 
 msgid "[-M] [-p] [-n] [-f] [-r REV]... [DEST]"
 msgstr ""
 
-msgid "show parents from the specified revision"
+msgid "show parents of the specified revision"
 msgstr ""
 
 msgid "[-r REV] [FILE]"
@@ -9332,7 +8787,10 @@
 msgid "[NAME]"
 msgstr ""
 
-msgid "update to new tip if changesets were pulled"
+msgid "update to new branch head if changesets were pulled"
+msgstr ""
+
+msgid "run even when remote repository is unrelated"
 msgstr ""
 
 msgid "[-u] [-f] [-r REV]... [-e CMD] [--remotecmd CMD] [SOURCE]"
@@ -9341,6 +8799,9 @@
 msgid "force push"
 msgstr ""
 
+msgid "allow pushing a new branch"
+msgstr ""
+
 msgid "[-f] [-r REV]... [-e CMD] [--remotecmd CMD] [DEST]"
 msgstr ""
 
@@ -9356,7 +8817,7 @@
 msgid "[OPTION]... SOURCE... DEST"
 msgstr ""
 
-msgid "remerge all unresolved files"
+msgid "select all unresolved files"
 msgstr ""
 
 msgid "list state of files needing merge"
@@ -9365,7 +8826,10 @@
 msgid "mark files as resolved"
 msgstr ""
 
-msgid "unmark files as resolved"
+msgid "mark files as unresolved"
+msgstr ""
+
+msgid "hide status prefix"
 msgstr ""
 
 msgid "revert all changes when no arguments given"
@@ -9374,7 +8838,7 @@
 msgid "tipmost revision matching date"
 msgstr ""
 
-msgid "revision to revert to"
+msgid "revert to the specified revision"
 msgstr ""
 
 msgid "do not save backup copies of files"
@@ -9389,9 +8853,15 @@
 msgid "name of error log file to write to"
 msgstr ""
 
+msgid "PORT"
+msgstr ""
+
 msgid "port to listen on (default: 8000)"
 msgstr ""
 
+msgid "ADDR"
+msgstr ""
+
 msgid "address to listen on (default: all interfaces)"
 msgstr ""
 
@@ -9401,7 +8871,10 @@
 msgid "name to show in web pages (default: working directory)"
 msgstr ""
 
-msgid "name of the webdir config file (serve more than one repository)"
+msgid "name of the hgweb config file (see \"hg help hgweb\")"
+msgstr ""
+
+msgid "name of the hgweb config file (DEPRECATED)"
 msgstr ""
 
 msgid "for remote clients"
@@ -9452,17 +8925,17 @@
 msgid "show only ignored files"
 msgstr ""
 
-msgid "hide status prefix"
-msgstr ""
-
 msgid "show source of copied files"
 msgstr ""
 
 msgid "show difference from revision"
 msgstr ""
 
+msgid "list the changed files of a revision"
+msgstr ""
+
 msgid "replace existing tag"
-msgstr ""
+msgstr "覆蓋已存在的標記"
 
 msgid "make the tag local"
 msgstr ""
@@ -9471,37 +8944,98 @@
 msgstr ""
 
 msgid "remove a tag"
-msgstr ""
-
-msgid "[-l] [-m TEXT] [-d DATE] [-u USER] [-r REV] NAME..."
-msgstr ""
-
-msgid "[-p]"
-msgstr ""
-
-msgid "update to new tip if changesets were unbundled"
+msgstr "移除一個標記"
+
+msgid "use <text> as commit message"
+msgstr ""
+
+msgid "[-f] [-l] [-m TEXT] [-d DATE] [-u USER] [-r REV] NAME..."
+msgstr ""
+
+msgid "[-p] [-g]"
+msgstr ""
+
+msgid "update to new branch head if changesets were unbundled"
 msgstr ""
 
 msgid "[-u] FILE..."
 msgstr ""
 
-msgid "overwrite locally modified files (no backup)"
-msgstr ""
-
-msgid "check for uncommitted changes"
-msgstr ""
-
-msgid "[-C] [-d DATE] [[-r] REV]"
-msgstr ""
-
-#, python-format
-msgid "config error at %s:%d: '%s'"
-msgstr ""
+msgid "discard uncommitted changes (no backup)"
+msgstr "取消沒有提交的變更(沒有備份)"
+
+msgid "update across branches if no uncommitted changes"
+msgstr ""
+
+msgid "[-c] [-C] [-d DATE] [[-r] REV]"
+msgstr ""
+
+#, python-format
+msgid "cannot include %s (%s)"
+msgstr "不能引入 %s (%s)"
 
 msgid "not found in manifest"
 msgstr ""
 
+#, python-format
+msgid "no such file in rev %s"
+msgstr ""
+
 msgid "branch name not in UTF-8!"
+msgstr "分支名稱不是UTF-8編碼!"
+
+#, python-format
+msgid "%s does not exist!\n"
+msgstr "%s 不存在喔!\n"
+
+#, python-format
+msgid ""
+"%s: up to %d MB of RAM may be required to manage this file\n"
+"(use 'hg revert %s' to cancel the pending addition)\n"
+msgstr ""
+
+#, python-format
+msgid "%s not added: only files and symlinks supported currently\n"
+msgstr "%s 不能新增 : 目前只有支援檔案跟符號連結檔\n"
+
+#, python-format
+msgid "%s already tracked!\n"
+msgstr "%s 已經追蹤!\n"
+
+#, python-format
+msgid "%s not added!\n"
+msgstr "%s不能新增!\n"
+
+#, python-format
+msgid "%s still exists!\n"
+msgstr "%s仍然存在!\n"
+
+#, python-format
+msgid "%s not tracked!\n"
+msgstr "%s 不能追蹤!\n"
+
+#, python-format
+msgid "%s not removed!\n"
+msgstr "%s 不能移除!\n"
+
+#, python-format
+msgid "copy failed: %s is not a file or a symbolic link\n"
+msgstr "複製失敗: %s 不是檔案或符號連結檔\n"
+
+#, python-format
+msgid "invalid character in dag description: %s..."
+msgstr ""
+
+#, python-format
+msgid "expected id %i, got %i"
+msgstr ""
+
+#, python-format
+msgid "parent id %i is larger than current id %i"
+msgstr "母系id %i 大於目前的id %i"
+
+#, python-format
+msgid "invalid event type in dag: %s"
 msgstr ""
 
 msgid "working directory state appears damaged!"
@@ -9509,7 +9043,7 @@
 
 #, python-format
 msgid "'\\n' and '\\r' disallowed in filenames: %r"
-msgstr ""
+msgstr "檔名不准有\\n 跟 \\r: %r"
 
 #, python-format
 msgid "directory %r already in dirstate"
@@ -9520,17 +9054,21 @@
 msgstr ""
 
 #, python-format
+msgid "setting %r to other parent only allowed in merges"
+msgstr ""
+
+#, python-format
 msgid "not in dirstate: %s\n"
 msgstr ""
 
 msgid "unknown"
-msgstr ""
+msgstr "不清楚"
 
 msgid "character device"
-msgstr ""
+msgstr "字元裝置"
 
 msgid "block device"
-msgstr ""
+msgstr "區塊裝置"
 
 msgid "fifo"
 msgstr ""
@@ -9539,18 +9077,70 @@
 msgstr ""
 
 msgid "directory"
-msgstr ""
+msgstr "目錄"
 
 #, python-format
 msgid "unsupported file type (type is %s)"
+msgstr "不支援的檔案型態 (型態是 %s)"
+
+msgid "searching for changes\n"
+msgstr "正在搜尋變更\n"
+
+msgid "queries"
+msgstr ""
+
+msgid "searching"
+msgstr "搜尋中"
+
+msgid "already have changeset "
+msgstr "已經有changeset了"
+
+msgid "warning: repository is unrelated\n"
+msgstr ""
+
+msgid "repository is unrelated"
+msgstr ""
+
+#, python-format
+msgid "push creates new remote branches: %s!"
+msgstr "push 建立新的遠端分支 '%s'!"
+
+msgid "use 'hg push --new-branch' to create new remote branches"
+msgstr "使用 'hg push --new-branch' 建立新的遠端分支"
+
+#, python-format
+msgid "push creates new remote heads on branch '%s'!"
+msgstr "push 在分支 '%s'建立新的遠端標頭!"
+
+msgid "push creates new remote heads!"
+msgstr "push 建立新的遠端標頭(heads)!"
+
+msgid "you should pull and merge or use push -f to force"
+msgstr ""
+
+msgid "did you forget to merge? use push -f to force"
+msgstr ""
+
+msgid "note: unsynced remote changes!\n"
 msgstr ""
 
 #, python-format
 msgid "abort: %s\n"
-msgstr ""
-
-#, python-format
-msgid "hg: %s\n"
+msgstr "中止: %s\n"
+
+#, python-format
+msgid "(%s)\n"
+msgstr ""
+
+#, python-format
+msgid "hg: parse error at %s: %s\n"
+msgstr ""
+
+#, python-format
+msgid "hg: parse error: %s\n"
+msgstr ""
+
+msgid "entering debugger - type c to continue starting hg or h for help\n"
 msgstr ""
 
 #, python-format
@@ -9569,43 +9159,43 @@
 
 #, python-format
 msgid "abort: %s: %s\n"
-msgstr ""
+msgstr "中止: %s: %s\n"
 
 #, python-format
 msgid "abort: could not lock %s: %s\n"
-msgstr ""
+msgstr "中止: 我不能鎖住 %s: %s\n"
 
 #, python-format
 msgid "hg %s: %s\n"
 msgstr ""
 
 #, python-format
+msgid "hg: %s\n"
+msgstr ""
+
+#, python-format
 msgid "abort: %s!\n"
-msgstr ""
+msgstr "中止: %s!\n"
 
 #, python-format
 msgid "abort: %s"
-msgstr ""
+msgstr "中止: %s"
 
 msgid " empty string\n"
-msgstr ""
+msgstr "空字串\n"
 
 msgid "killed!\n"
 msgstr ""
 
 #, python-format
 msgid "hg: unknown command '%s'\n"
-msgstr ""
-
-#, python-format
-msgid "abort: could not import module %s!\n"
-msgstr ""
+msgstr "hg: 不認得'%s'命令\n"
 
 msgid "(did you forget to compile extensions?)\n"
-msgstr ""
+msgstr "(你忘記編譯額外功能(extensions)?)\n"
 
 msgid "(is your Python install correct?)\n"
-msgstr ""
+msgstr "(python安裝正確嘛?)\n"
 
 #, python-format
 msgid "abort: error: %s\n"
@@ -9623,15 +9213,16 @@
 msgstr ""
 
 msgid "abort: out of memory\n"
-msgstr ""
-
-msgid "** unknown exception encountered, details follow\n"
-msgstr ""
-
-msgid "** report bug details to http://mercurial.selenic.com/bts/\n"
-msgstr ""
-
-msgid "** or mercurial@selenic.com\n"
+msgstr "中止: 記憶體沒了\n"
+
+msgid "** unknown exception encountered, please report by visiting\n"
+msgstr ""
+
+msgid "**  http://mercurial.selenic.com/wiki/BugTracker\n"
+msgstr ""
+
+#, python-format
+msgid "** Python %s\n"
 msgstr ""
 
 #, python-format
@@ -9640,13 +9231,19 @@
 
 #, python-format
 msgid "** Extensions loaded: %s\n"
-msgstr ""
+msgstr "** 載入額外套件: %s\n"
 
 #, python-format
 msgid "no definition for alias '%s'\n"
 msgstr ""
 
 #, python-format
+msgid ""
+"error in definition for alias '%s': %s may only be given on the command "
+"line\n"
+msgstr ""
+
+#, python-format
 msgid "alias '%s' resolves to unknown command '%s'\n"
 msgstr ""
 
@@ -9655,20 +9252,26 @@
 msgstr ""
 
 #, python-format
-msgid "malformed --config option: %s"
+msgid "malformed --config option: %r (use --config section.name=value)"
+msgstr ""
+
+#, python-format
+msgid "error getting current working directory: %s"
 msgstr ""
 
 #, python-format
 msgid "extension '%s' overrides commands: %s\n"
 msgstr ""
 
-msgid "Option --config may not be abbreviated!"
-msgstr ""
-
-msgid "Option --cwd may not be abbreviated!"
-msgstr ""
-
-msgid "Option -R has to be separated from other options (e.g. not -qR) and --repository may only be abbreviated as --repo!"
+msgid "option --config may not be abbreviated!"
+msgstr ""
+
+msgid "option --cwd may not be abbreviated!"
+msgstr ""
+
+msgid ""
+"Option -R has to be separated from other options (e.g. not -qR) and --"
+"repository may only be abbreviated as --repo!"
 msgstr ""
 
 #, python-format
@@ -9677,25 +9280,30 @@
 
 #, python-format
 msgid "repository '%s' is not local"
+msgstr "'%s' 儲存庫不在本地端"
+
+msgid "warning: --repository ignored\n"
 msgstr ""
 
 msgid "invalid arguments"
-msgstr ""
+msgstr "無效的參數"
 
 #, python-format
 msgid "unrecognized profiling format '%s' - Ignored\n"
 msgstr ""
 
-msgid "lsprof not available - install from http://codespeak.net/svn/user/arigo/hack/misc/lsprof/"
+msgid ""
+"lsprof not available - install from http://codespeak.net/svn/user/arigo/hack/"
+"misc/lsprof/"
 msgstr ""
 
 #, python-format
 msgid "*** failed to import extension %s from %s: %s\n"
-msgstr "*** 匯入擴充套件 %s 失敗,路徑為 %s: %s\n"
+msgstr "*** 匯入額外套件 %s 失敗,路徑為 %s: %s\n"
 
 #, python-format
 msgid "*** failed to import extension %s: %s\n"
-msgstr ""
+msgstr "*** 匯入額外套件 %s 失敗: %s\n"
 
 #, python-format
 msgid "couldn't find merge tool %s\n"
@@ -9736,35 +9344,39 @@
 msgstr "合併 %s 中\n"
 
 #, python-format
+msgid "%s.premerge not valid ('%s' is neither boolean nor %s)"
+msgstr ""
+
+#, python-format
+msgid "was merge of '%s' successful (yn)?"
+msgstr ""
+
+#, python-format
 msgid ""
 " output file %s appears unchanged\n"
 "was merge successful (yn)?"
 msgstr ""
 
-msgid "&No"
-msgstr ""
-
-msgid "&Yes"
-msgstr ""
-
 #, python-format
 msgid "merging %s failed!\n"
 msgstr "合併 %s 失敗!\n"
 
-#, python-format
-msgid "Inconsistent state, %s:%s is good and bad"
+msgid "starting revisions are not directly related"
+msgstr ""
+
+#, python-format
+msgid "inconsistent state, %s:%s is good and bad"
 msgstr ""
 
 #, python-format
 msgid "unknown bisect kind %s"
 msgstr ""
 
-#, fuzzy
 msgid "disabled extensions:"
-msgstr ""
-"\n"
-"已啟用的擴充套件:\n"
-"\n"
+msgstr "不能使用的額外套件:"
+
+msgid "Configuration Files"
+msgstr "設定檔"
 
 msgid "Date Formats"
 msgstr "日期格式"
@@ -9776,31 +9388,1972 @@
 msgstr "環境變數"
 
 msgid "Specifying Single Revisions"
-msgstr ""
+msgstr "表述一個版本"
 
 msgid "Specifying Multiple Revisions"
-msgstr ""
+msgstr "表述多個版本"
+
+msgid "Specifying Revision Sets"
+msgstr "表述版本集合"
 
 msgid "Diff Formats"
-msgstr ""
+msgstr "Diff 格式"
+
+msgid "Merge Tools"
+msgstr "合併工具"
 
 msgid "Template Usage"
-msgstr ""
+msgstr "樣式的使用"
 
 msgid "URL Paths"
-msgstr ""
+msgstr "URL路徑"
 
 msgid "Using additional features"
-msgstr ""
+msgstr "使用額外功能"
+
+#, fuzzy
+msgid "Subrepositories"
+msgstr "儲存庫 %s"
+
+msgid "Configuring hgweb"
+msgstr "設定 hgweb"
+
+msgid "Glossary"
+msgstr ""
+
+msgid ""
+"Mercurial reads configuration data from several files, if they exist.\n"
+"Below we list the most specific file first."
+msgstr ""
+
+msgid "On Windows, these configuration files are read:"
+msgstr ""
+
+msgid ""
+"- ``<repo>\\.hg\\hgrc``\n"
+"- ``%USERPROFILE%\\.hgrc``\n"
+"- ``%USERPROFILE%\\mercurial.ini``\n"
+"- ``%HOME%\\.hgrc``\n"
+"- ``%HOME%\\mercurial.ini``\n"
+"- ``C:\\mercurial\\mercurial.ini`` (unless regkey or hgrc.d\\ or mercurial."
+"ini found)\n"
+"- ``HKEY_LOCAL_MACHINE\\SOFTWARE\\Mercurial`` (unless hgrc.d\\ or mercurial."
+"ini found)\n"
+"- ``<hg.exe-dir>\\hgrc.d\\*.rc`` (unless mercurial.ini found)\n"
+"- ``<hg.exe-dir>\\mercurial.ini``"
+msgstr ""
+
+msgid "On Unix, these files are read:"
+msgstr ""
+
+msgid ""
+"- ``<repo>/.hg/hgrc``\n"
+"- ``$HOME/.hgrc``\n"
+"- ``/etc/mercurial/hgrc``\n"
+"- ``/etc/mercurial/hgrc.d/*.rc``\n"
+"- ``<install-root>/etc/mercurial/hgrc``\n"
+"- ``<install-root>/etc/mercurial/hgrc.d/*.rc``"
+msgstr ""
+
+msgid ""
+"If there is a per-repository configuration file which is not owned by\n"
+"the active user, Mercurial will warn you that the file is skipped::"
+msgstr ""
+
+msgid ""
+"  not trusting file <repo>/.hg/hgrc from untrusted user USER, group GROUP"
+msgstr ""
+
+msgid ""
+"If this bothers you, the warning can be silenced (the file would still\n"
+"be ignored) or trust can be established. Use one of the following\n"
+"settings, the syntax is explained below:"
+msgstr ""
+
+msgid ""
+"- ``ui.report_untrusted = False``\n"
+"- ``trusted.users = USER``\n"
+"- ``trusted.groups = GROUP``"
+msgstr ""
+
+msgid ""
+"The configuration files for Mercurial use a simple ini-file format. A\n"
+"configuration file consists of sections, led by a ``[section]`` header\n"
+"and followed by ``name = value`` entries::"
+msgstr ""
+
+msgid ""
+"  [ui]\n"
+"  username = Firstname Lastname <firstname.lastname@example.net>\n"
+"  verbose = True"
+msgstr ""
+
+msgid ""
+"The above entries will be referred to as ``ui.username`` and\n"
+"``ui.verbose``, respectively. Please see the hgrc man page for a full\n"
+"description of the possible configuration values:"
+msgstr ""
+
+msgid ""
+"- on Unix-like systems: ``man hgrc``\n"
+"- online: http://www.selenic.com/mercurial/hgrc.5.html\n"
+msgstr ""
+
+msgid "Some commands allow the user to specify a date, e.g.:"
+msgstr "一些命令允許使用者表示時間,e.g.:"
+
+msgid ""
+"- backout, commit, import, tag: Specify the commit date.\n"
+"- log, revert, update: Select revision(s) by date."
+msgstr ""
+"- backout, commit, import, tag: 提交的時間.\n"
+"- log, revert, update: 由時間來選擇修定版(s)"
+
+msgid "Many date formats are valid. Here are some examples:"
+msgstr "支援許多的時間格式,這邊有一些範例::"
+
+msgid ""
+"- ``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)"
+msgstr ""
+
+msgid "Lastly, there is Mercurial's internal format:"
+msgstr "最後,是Mercurial 的內部格式::"
+
+msgid "- ``1165432709 0`` (Wed Dec 6 13:18:29 2006 UTC)"
+msgstr ""
+
+msgid ""
+"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)."
+msgstr ""
+
+msgid "The log command also accepts date ranges:"
+msgstr "log 命令也接收 時間區間::"
+
+msgid ""
+"- ``<{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 ""
+"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."
+msgstr ""
+
+msgid ""
+"While this standard format is often enough, it does not encode the\n"
+"following information:"
+msgstr ""
+
+msgid ""
+"- executable status and other permission bits\n"
+"- copy or rename information\n"
+"- changes in binary files\n"
+"- creation or deletion of empty files"
+msgstr ""
+
+msgid ""
+"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."
+msgstr ""
+
+msgid ""
+"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."
+msgstr ""
+
+msgid ""
+"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 configuration file. You do not need to set this option\n"
+"when importing diffs in this format or using them in the mq extension.\n"
+msgstr ""
+
+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."
+msgstr ""
+
+msgid ""
+"HGEDITOR\n"
+"    This is the name of the editor to run when committing. See EDITOR."
+msgstr ""
+
+msgid "    (deprecated, use configuration file)"
+msgstr ""
+
+msgid ""
+"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."
+msgstr ""
+
+msgid ""
+"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."
+msgstr ""
+
+msgid ""
+"HGENCODINGAMBIGUOUS\n"
+"    This sets Mercurial's behavior for handling characters with\n"
+"    \"ambiguous\" widths like accented Latin characters with East Asian\n"
+"    fonts. By default, Mercurial assumes ambiguous characters are\n"
+"    narrow, set this variable to \"wide\" if such characters cause\n"
+"    formatting problems."
+msgstr ""
+
+msgid ""
+"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."
+msgstr ""
+
+msgid ""
+"HGRCPATH\n"
+"    A list of files or directories to search for configuration\n"
+"    files. Item separator is \":\" on Unix, \";\" on Windows. If HGRCPATH\n"
+"    is not set, platform default search path is used. If empty, only\n"
+"    the .hg/hgrc from the current repository is read."
+msgstr ""
+
+msgid "    For each element in HGRCPATH:"
+msgstr ""
+
+msgid ""
+"    - if it's a directory, all files ending with .rc are added\n"
+"    - otherwise, the file itself will be added"
+msgstr ""
+
+msgid ""
+"HGPLAIN\n"
+"    When set, this disables any configuration settings that might\n"
+"    change Mercurial's default output. This includes encoding,\n"
+"    defaults, verbose mode, debug mode, quiet mode, tracebacks, and\n"
+"    localization. This can be useful when scripting against Mercurial\n"
+"    in the face of existing user configuration."
+msgstr ""
+
+msgid ""
+"    Equivalent options set via command line flags or environment\n"
+"    variables are not overridden."
+msgstr ""
+
+msgid ""
+"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:"
+msgstr ""
+
+msgid ""
+"    - HGUSER (deprecated)\n"
+"    - configuration files from the HGRCPATH\n"
+"    - EMAIL\n"
+"    - interactive prompt\n"
+"    - LOGNAME (with ``@hostname`` appended)"
+msgstr ""
+
+msgid ""
+"EMAIL\n"
+"    May be used as the author of a commit; see HGUSER."
+msgstr ""
+
+msgid ""
+"LOGNAME\n"
+"    May be used as the author of a commit; see HGUSER."
+msgstr ""
+
+msgid ""
+"VISUAL\n"
+"    This is the name of the editor to use when committing. See EDITOR."
+msgstr ""
+
+msgid ""
+"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'."
+msgstr ""
+
+msgid ""
+"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."
+msgstr ""
+
+msgid ""
+"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."
+msgstr ""
+
+msgid ""
+"To enable the \"foo\" extension, either shipped with Mercurial or in the\n"
+"Python search path, create an entry for it in your configuration file,\n"
+"like this::"
+msgstr ""
+
+msgid ""
+"  [extensions]\n"
+"  foo ="
+msgstr ""
+
+msgid "You may also specify the full path to an extension::"
+msgstr ""
+
+msgid ""
+"  [extensions]\n"
+"  myfeature = ~/.hgext/myfeature.py"
+msgstr ""
+
+msgid ""
+"To explicitly disable an extension enabled in a configuration file of\n"
+"broader scope, prepend its path with !::"
+msgstr ""
+
+msgid ""
+"  [extensions]\n"
+"  # disabling extension bar residing in /path/to/extension/bar.py\n"
+"  bar = !/path/to/extension/bar.py\n"
+"  # ditto, but no path was supplied for extension baz\n"
+"  baz = !\n"
+msgstr ""
+
+msgid ""
+"Ancestor\n"
+"    Any changeset that can be reached by an unbroken chain of parent\n"
+"    changesets from a given changeset. More precisely, the ancestors\n"
+"    of a changeset can be defined by two properties: a parent of a\n"
+"    changeset is an ancestor, and a parent of an ancestor is an\n"
+"    ancestor. See also: 'Descendant'."
+msgstr ""
+
+msgid ""
+"Branch\n"
+"    (Noun) A child changeset that has been created from a parent that\n"
+"    is not a head. These are known as topological branches, see\n"
+"    'Branch, topological'. If a topological branch is named, it becomes\n"
+"    a named branch. If a topological branch is not named, it becomes\n"
+"    an anonymous branch. See 'Branch, anonymous' and 'Branch, named'."
+msgstr ""
+
+msgid ""
+"    Branches may be created when changes are pulled from or pushed to\n"
+"    a remote repository, since new heads may be created by these\n"
+"    operations. Note that the term branch can also be used informally\n"
+"    to describe a development process in which certain development is\n"
+"    done independently of other development. This is sometimes done\n"
+"    explicitly with a named branch, but it can also be done locally,\n"
+"    using bookmarks or clones and anonymous branches."
+msgstr ""
+
+msgid "    Example: \"The experimental branch\"."
+msgstr ""
+
+msgid ""
+"    (Verb) The action of creating a child changeset which results in\n"
+"    its parent having more than one child."
+msgstr ""
+
+msgid "    Example: \"I'm going to branch at X\"."
+msgstr ""
+
+msgid ""
+"Branch, anonymous\n"
+"    Every time a new child changeset is created from a parent that is not\n"
+"    a head and the name of the branch is not changed, a new anonymous\n"
+"    branch is created."
+msgstr ""
+
+msgid ""
+"Branch, closed\n"
+"    A named branch whose branch heads have all been closed."
+msgstr ""
+
+msgid ""
+"Branch, default\n"
+"    The branch assigned to a changeset when no name has previously been\n"
+"    assigned."
+msgstr ""
+
+msgid ""
+"Branch head\n"
+"    See 'Head, branch'."
+msgstr ""
+
+msgid ""
+"Branch, inactive\n"
+"    If a named branch has no topological heads, it is considered to be\n"
+"    inactive. As an example, a feature branch becomes inactive when it\n"
+"    is merged into the default branch. The :hg:`branches` command\n"
+"    shows inactive branches by default, though they can be hidden with\n"
+"    :hg:`branches --active`."
+msgstr ""
+
+msgid ""
+"    NOTE: this concept is deprecated because it is too implicit.\n"
+"    Branches should now be explicitly closed using :hg:`commit\n"
+"    --close-branch` when they are no longer needed."
+msgstr ""
+
+msgid ""
+"Branch, named\n"
+"    A collection of changesets which have the same branch name. By\n"
+"    default, children of a changeset in a named branch belong to the\n"
+"    same named branch. A child can be explicitly assigned to a\n"
+"    different branch. See :hg:`help branch`, :hg:`help branches` and\n"
+"    :hg:`commit --close-branch` for more information on managing\n"
+"    branches."
+msgstr ""
+
+msgid ""
+"    Named branches can be thought of as a kind of namespace, dividing\n"
+"    the collection of changesets that comprise the repository into a\n"
+"    collection of disjoint subsets. A named branch is not necessarily\n"
+"    a topological branch. If a new named branch is created from the\n"
+"    head of another named branch, or the default branch, but no\n"
+"    further changesets are added to that previous branch, then that\n"
+"    previous branch will be a branch in name only."
+msgstr ""
+
+msgid ""
+"Branch tip\n"
+"    See 'Tip, branch'."
+msgstr ""
+
+msgid ""
+"Branch, topological\n"
+"    Every time a new child changeset is created from a parent that is\n"
+"    not a head, a new topological branch is created. If a topological\n"
+"    branch is named, it becomes a named branch. If a topological\n"
+"    branch is not named, it becomes an anonymous branch of the\n"
+"    current, possibly default, branch."
+msgstr ""
+
+msgid ""
+"Changelog\n"
+"    A record of the changesets in the order in which they were added\n"
+"    to the repository. This includes details such as changeset id,\n"
+"    author, commit message, date, and list of changed files."
+msgstr ""
+
+msgid ""
+"Changeset\n"
+"    A snapshot of the state of the repository used to record a change."
+msgstr ""
+
+msgid ""
+"Changeset, child\n"
+"    The converse of parent changeset: if P is a parent of C, then C is\n"
+"    a child of P. There is no limit to the number of children that a\n"
+"    changeset may have."
+msgstr ""
+
+msgid ""
+"Changeset id\n"
+"    A SHA-1 hash that uniquely identifies a changeset. It may be\n"
+"    represented as either a \"long\" 40 hexadecimal digit string, or a\n"
+"    \"short\" 12 hexadecimal digit string."
+msgstr ""
+
+msgid ""
+"Changeset, merge\n"
+"    A changeset with two parents. This occurs when a merge is\n"
+"    committed."
+msgstr ""
+
+msgid ""
+"Changeset, parent\n"
+"    A revision upon which a child changeset is based. Specifically, a\n"
+"    parent changeset of a changeset C is a changeset whose node\n"
+"    immediately precedes C in the DAG. Changesets have at most two\n"
+"    parents."
+msgstr ""
+
+msgid ""
+"Checkout\n"
+"    (Noun) The working directory being updated to a specific\n"
+"    revision. This use should probably be avoided where possible, as\n"
+"    changeset is much more appropriate than checkout in this context."
+msgstr ""
+
+msgid "    Example: \"I'm using checkout X.\""
+msgstr ""
+
+msgid ""
+"    (Verb) Updating the working directory to a specific changeset. See\n"
+"    :hg:`help update`."
+msgstr ""
+
+msgid "    Example: \"I'm going to check out changeset X.\""
+msgstr ""
+
+msgid ""
+"Child changeset\n"
+"    See 'Changeset, child'."
+msgstr ""
+
+msgid ""
+"Close changeset\n"
+"    See 'Changeset, close'."
+msgstr ""
+
+msgid ""
+"Closed branch\n"
+"    See 'Branch, closed'."
+msgstr ""
+
+msgid ""
+"Clone\n"
+"    (Noun) An entire or partial copy of a repository. The partial\n"
+"    clone must be in the form of a revision and its ancestors."
+msgstr ""
+
+msgid "    Example: \"Is your clone up to date?\"."
+msgstr ""
+
+msgid "    (Verb) The process of creating a clone, using :hg:`clone`."
+msgstr ""
+
+msgid "    Example: \"I'm going to clone the repository\"."
+msgstr ""
+
+msgid ""
+"Closed branch head\n"
+"    See 'Head, closed branch'."
+msgstr ""
+
+msgid ""
+"Commit\n"
+"    (Noun) A synonym for changeset."
+msgstr ""
+
+msgid "    Example: \"Is the bug fixed in your recent commit?\""
+msgstr ""
+
+msgid ""
+"    (Verb) The act of recording changes to a repository. When files\n"
+"    are committed in a working directory, Mercurial finds the\n"
+"    differences between the committed files and their parent\n"
+"    changeset, creating a new changeset in the repository."
+msgstr ""
+
+msgid "    Example: \"You should commit those changes now.\""
+msgstr ""
+
+msgid ""
+"Cset\n"
+"    A common abbreviation of the term changeset."
+msgstr ""
+
+msgid ""
+"DAG\n"
+"    The repository of changesets of a distributed version control\n"
+"    system (DVCS) can be described as a directed acyclic graph (DAG),\n"
+"    consisting of nodes and edges, where nodes correspond to\n"
+"    changesets and edges imply a parent -> child relation. This graph\n"
+"    can be visualized by graphical tools such as :hg:`glog`\n"
+"    (graphlog). In Mercurial, the DAG is limited by the requirement\n"
+"    for children to have at most two parents."
+msgstr ""
+
+msgid ""
+"Default branch\n"
+"    See 'Branch, default'."
+msgstr ""
+
+msgid ""
+"Descendant\n"
+"    Any changeset that can be reached by a chain of child changesets\n"
+"    from a given changeset. More precisely, the descendants of a\n"
+"    changeset can be defined by two properties: the child of a\n"
+"    changeset is a descendant, and the child of a descendant is a\n"
+"    descendant. See also: 'Ancestor'."
+msgstr ""
+
+msgid ""
+"Diff\n"
+"    (Noun) The difference between the contents and attributes of files\n"
+"    in two changesets or a changeset and the current working\n"
+"    directory. The difference is usually represented in a standard\n"
+"    form called a \"diff\" or \"patch\". The \"git diff\" format is used\n"
+"    when the changes include copies, renames, or changes to file\n"
+"    attributes, none of which can be represented/handled by classic\n"
+"    \"diff\" and \"patch\"."
+msgstr ""
+
+msgid "    Example: \"Did you see my correction in the diff?\""
+msgstr ""
+
+msgid ""
+"    (Verb) Diffing two changesets is the action of creating a diff or\n"
+"    patch."
+msgstr ""
+
+msgid ""
+"    Example: \"If you diff with changeset X, you will see what I mean.\""
+msgstr ""
+
+msgid ""
+"Directory, working\n"
+"    The working directory represents the state of the files tracked by\n"
+"    Mercurial, that will be recorded in the next commit. The working\n"
+"    directory initially corresponds to the snapshot at an existing\n"
+"    changeset, known as the parent of the working directory. See\n"
+"    'Parent, working directory'. The state may be modified by changes\n"
+"    to the files introduced manually or by a merge. The repository\n"
+"    metadata exists in the .hg directory inside the working directory."
+msgstr ""
+
+msgid ""
+"Graph\n"
+"    See DAG and :hg:`help graphlog`."
+msgstr ""
+
+msgid ""
+"Head\n"
+"    The term 'head' may be used to refer to both a branch head or a\n"
+"    repository head, depending on the context. See 'Head, branch' and\n"
+"    'Head, repository' for specific definitions."
+msgstr ""
+
+msgid ""
+"    Heads are where development generally takes place and are the\n"
+"    usual targets for update and merge operations."
+msgstr ""
+
+msgid ""
+"Head, branch\n"
+"    A changeset with no descendants on the same named branch."
+msgstr ""
+
+msgid ""
+"Head, closed branch\n"
+"    A changeset that marks a head as no longer interesting. The closed\n"
+"    head is no longer listed by :hg:`heads`. A branch is considered\n"
+"    closed when all its heads are closed and consequently is not\n"
+"    listed by :hg:`branches`."
+msgstr ""
+
+msgid ""
+"Head, repository\n"
+"    A topological head which has not been closed."
+msgstr ""
+
+msgid ""
+"Head, topological\n"
+"    A changeset with no children in the repository."
+msgstr ""
+
+msgid ""
+"History, immutable\n"
+"    Once committed, changesets cannot be altered.  Extensions which\n"
+"    appear to change history actually create new changesets that\n"
+"    replace existing ones, and then destroy the old changesets. Doing\n"
+"    so in public repositories can result in old changesets being\n"
+"    reintroduced to the repository."
+msgstr ""
+
+msgid ""
+"History, rewriting\n"
+"    The changesets in a repository are immutable. However, extensions\n"
+"    to Mercurial can be used to alter the repository, usually in such\n"
+"    a way as to preserve changeset contents."
+msgstr ""
+
+msgid ""
+"Immutable history\n"
+"    See 'History, immutable'."
+msgstr ""
+
+msgid ""
+"Merge changeset\n"
+"    See 'Changeset, merge'."
+msgstr ""
+
+msgid ""
+"Manifest\n"
+"    Each changeset has a manifest, which is the list of files that are\n"
+"    tracked by the changeset."
+msgstr ""
+
+msgid ""
+"Merge\n"
+"    Used to bring together divergent branches of work. When you update\n"
+"    to a changeset and then merge another changeset, you bring the\n"
+"    history of the latter changeset into your working directory. Once\n"
+"    conflicts are resolved (and marked), this merge may be committed\n"
+"    as a merge changeset, bringing two branches together in the DAG."
+msgstr ""
+
+msgid ""
+"Named branch\n"
+"    See 'Branch, named'."
+msgstr ""
+
+msgid ""
+"Null changeset\n"
+"    The empty changeset. It is the parent state of newly-initialized\n"
+"    repositories and repositories with no checked out revision. It is\n"
+"    thus the parent of root changesets and the effective ancestor when\n"
+"    merging unrelated changesets. Can be specified by the alias 'null'\n"
+"    or by the changeset ID '000000000000'."
+msgstr ""
+
+msgid ""
+"Parent\n"
+"    See 'Changeset, parent'."
+msgstr ""
+
+msgid ""
+"Parent changeset\n"
+"    See 'Changeset, parent'."
+msgstr ""
+
+msgid ""
+"Parent, working directory\n"
+"    The working directory parent reflects a virtual revision which is\n"
+"    the child of the changeset (or two changesets with an uncommitted\n"
+"    merge) shown by :hg:`parents`. This is changed with\n"
+"    :hg:`update`. Other commands to see the working directory parent\n"
+"    are :hg:`summary` and :hg:`id`. Can be specified by the alias \".\"."
+msgstr ""
+
+msgid ""
+"Patch\n"
+"    (Noun) The product of a diff operation."
+msgstr ""
+
+msgid "    Example: \"I've sent you my patch.\""
+msgstr ""
+
+msgid ""
+"    (Verb) The process of using a patch file to transform one\n"
+"    changeset into another."
+msgstr ""
+
+msgid "    Example: \"You will need to patch that revision.\""
+msgstr ""
+
+msgid ""
+"Pull\n"
+"    An operation in which changesets in a remote repository which are\n"
+"    not in the local repository are brought into the local\n"
+"    repository. Note that this operation without special arguments\n"
+"    only updates the repository, it does not update the files in the\n"
+"    working directory. See :hg:`help pull`."
+msgstr ""
+
+msgid ""
+"Push\n"
+"    An operation in which changesets in a local repository which are\n"
+"    not in a remote repository are sent to the remote repository. Note\n"
+"    that this operation only adds changesets which have been committed\n"
+"    locally to the remote repository. Uncommitted changes are not\n"
+"    sent. See :hg:`help push`."
+msgstr ""
+
+msgid ""
+"Repository\n"
+"    The metadata describing all recorded states of a collection of\n"
+"    files. Each recorded state is represented by a changeset. A\n"
+"    repository is usually (but not always) found in the ``.hg``\n"
+"    subdirectory of a working directory. Any recorded state can be\n"
+"    recreated by \"updating\" a working directory to a specific\n"
+"    changeset."
+msgstr ""
+
+msgid ""
+"Repository head\n"
+"    See 'Head, repository'."
+msgstr ""
+
+msgid ""
+"Revision\n"
+"    A state of the repository at some point in time. Earlier revisions\n"
+"    can be updated to by using :hg:`update`.  See also 'Revision\n"
+"    number'; See also 'Changeset'."
+msgstr ""
+
+msgid ""
+"Revision number\n"
+"    This integer uniquely identifies a changeset in a specific\n"
+"    repository. It represents the order in which changesets were added\n"
+"    to a repository, starting with revision number 0. Note that the\n"
+"    revision number may be different in each clone of a repository. To\n"
+"    identify changesets uniquely between different clones, see\n"
+"    'Changeset id'."
+msgstr ""
+
+msgid ""
+"Revlog\n"
+"    History storage mechanism used by Mercurial. It is a form of delta\n"
+"    encoding, with occasional full revision of data followed by delta\n"
+"    of each successive revision. It includes data and an index\n"
+"    pointing to the data."
+msgstr ""
+
+msgid ""
+"Rewriting history\n"
+"    See 'History, rewriting'."
+msgstr ""
+
+msgid ""
+"Root\n"
+"    A changeset that has only the null changeset as its parent. Most\n"
+"    repositories have only a single root changeset."
+msgstr ""
+
+msgid ""
+"Tip\n"
+"    The changeset with the highest revision number. It is the changeset\n"
+"    most recently added in a repository."
+msgstr ""
+
+msgid ""
+"Tip, branch\n"
+"    The head of a given branch with the highest revision number. When\n"
+"    a branch name is used as a revision identifier, it refers to the\n"
+"    branch tip. See also 'Branch, head'. Note that because revision\n"
+"    numbers may be different in different repository clones, the\n"
+"    branch tip may be different in different cloned repositories."
+msgstr ""
+
+msgid ""
+"Update\n"
+"    (Noun) Another synonym of changeset."
+msgstr ""
+
+msgid "    Example: \"I've pushed an update\"."
+msgstr ""
+
+msgid ""
+"    (Verb) This term is usually used to describe updating the state of\n"
+"    the working directory to that of a specific changeset. See\n"
+"    :hg:`help update`."
+msgstr ""
+
+msgid "    Example: \"You should update\"."
+msgstr ""
+
+msgid ""
+"Working directory\n"
+"    See 'Directory, working'."
+msgstr ""
+
+msgid ""
+"Working directory parent\n"
+"    See 'Parent, working directory'.\n"
+msgstr ""
+
+msgid ""
+"Mercurial's internal web server, hgweb, can serve either a single\n"
+"repository, or a collection of them. In the latter case, a special\n"
+"configuration file can be used to specify the repository paths to use\n"
+"and global web configuration options."
+msgstr ""
+
+msgid ""
+"This file uses the same syntax as hgrc configuration files, but only\n"
+"the following sections are recognized:"
+msgstr ""
+
+msgid ""
+"  - web\n"
+"  - paths\n"
+"  - collections"
+msgstr ""
+
+msgid ""
+"The ``web`` section can specify all the settings described in the web\n"
+"section of the hgrc documentation."
+msgstr ""
+
+msgid ""
+"The ``paths`` section provides mappings of physical repository\n"
+"paths to virtual ones. For instance::"
+msgstr ""
+
+msgid ""
+"  [paths]\n"
+"  projects/a = /foo/bar\n"
+"  projects/b = /baz/quux\n"
+"  web/root = /real/root/*\n"
+"  / = /real/root2/*\n"
+"  virtual/root2 = /real/root2/**"
+msgstr ""
+
+msgid ""
+"- The first two entries make two repositories in different directories\n"
+"  appear under the same directory in the web interface\n"
+"- The third entry maps every Mercurial repository found in '/real/root'\n"
+"  into 'web/root'. This format is preferred over the [collections] one,\n"
+"  since using absolute paths as configuration keys is not supported on "
+"every\n"
+"  platform (especially on Windows).\n"
+"- The fourth entry is a special case mapping all repositories in\n"
+"  '/real/root2' in the root of the virtual directory.\n"
+"- The fifth entry recursively finds all repositories under the real\n"
+"  root, and maps their relative paths under the virtual root."
+msgstr ""
+
+msgid ""
+"The ``collections`` section provides mappings of trees of physical\n"
+"repositories paths to virtual ones, though the paths syntax is generally\n"
+"preferred. For instance::"
+msgstr ""
+
+msgid ""
+"  [collections]\n"
+"  /foo = /foo"
+msgstr ""
+
+msgid ""
+"Here, the left side will be stripped off all repositories found in the\n"
+"right side. Thus ``/foo/bar`` and ``foo/quux/baz`` will be listed as\n"
+"``bar`` and ``quux/baz`` respectively.\n"
+msgstr ""
+
+msgid "To merge files Mercurial uses merge tools."
+msgstr ""
+
+msgid ""
+"A merge tool combines two different versions of a file into a merged\n"
+"file. Merge tools are given the two files and the greatest common\n"
+"ancestor of the two file versions, so they can determine the changes\n"
+"made on both branches."
+msgstr ""
+
+msgid ""
+"Merge tools are used both for :hg:`resolve`, :hg:`merge`, :hg:`update`,\n"
+":hg:`backout` and in several extensions."
+msgstr ""
+
+msgid ""
+"Usually, the merge tool tries to automatically reconcile the files by\n"
+"combining all non-overlapping changes that occurred separately in\n"
+"the two different evolutions of the same initial base file. Furthermore, "
+"some\n"
+"interactive merge programs make it easier to manually resolve\n"
+"conflicting merges, either in a graphical way, or by inserting some\n"
+"conflict markers. Mercurial does not include any interactive merge\n"
+"programs but relies on external tools for that."
+msgstr ""
+
+msgid ""
+"Available merge tools\n"
+"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\""
+msgstr ""
+
+msgid ""
+"External merge tools and their properties are configured in the\n"
+"merge-tools configuration section - see hgrc(5) - but they can often just\n"
+"be named by their executable."
+msgstr ""
+
+msgid ""
+"A merge tool is generally usable if its executable can be found on the\n"
+"system and if it can handle the merge. The executable is found if it\n"
+"is an absolute or relative executable path or the name of an\n"
+"application in the executable search path. The tool is assumed to be\n"
+"able to handle the merge if it can handle symlinks if the file is a\n"
+"symlink, if it can handle binary files if the file is binary, and if a\n"
+"GUI is available if the tool requires a GUI."
+msgstr ""
+
+msgid ""
+"There are some internal merge tools which can be used. The internal\n"
+"merge tools are:"
+msgstr ""
+
+msgid ""
+"``internal:merge``\n"
+"   Uses the internal non-interactive simple merge algorithm for merging\n"
+"   files. It will fail if there are any conflicts and leave markers in\n"
+"   the partially merged file."
+msgstr ""
+
+msgid ""
+"``internal:fail``\n"
+"   Rather than attempting to merge files that were modified on both\n"
+"   branches, it marks them as unresolved. The resolve command must be\n"
+"   used to resolve these conflicts."
+msgstr ""
+
+msgid ""
+"``internal:local``\n"
+"   Uses the local version of files as the merged version."
+msgstr ""
+
+msgid ""
+"``internal:other``\n"
+"   Uses the other version of files as the merged version."
+msgstr ""
+
+msgid ""
+"``internal:prompt``\n"
+"   Asks the user which of the local or the other version to keep as\n"
+"   the merged version."
+msgstr ""
+
+msgid ""
+"``internal:dump``\n"
+"   Creates three versions of the files to merge, containing the\n"
+"   contents of local, other and base. These files can then be used to\n"
+"   perform a merge manually. If the file to be merged is named\n"
+"   ``a.txt``, these files will accordingly be named ``a.txt.local``,\n"
+"   ``a.txt.other`` and ``a.txt.base`` and they will be placed in the\n"
+"   same directory as ``a.txt``."
+msgstr ""
+
+msgid ""
+"Internal tools are always available and do not require a GUI but will by "
+"default\n"
+"not handle symlinks or binary files."
+msgstr ""
+
+msgid ""
+"Choosing a merge tool\n"
+"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\""
+msgstr ""
+
+msgid "Mercurial uses these rules when deciding which merge tool to use:"
+msgstr ""
+
+msgid ""
+"1. If a tool has been specified with the --tool option to merge or resolve, "
+"it\n"
+"   is used.  If it is the name of a tool in the merge-tools configuration, "
+"its\n"
+"   configuration is used. Otherwise the specified tool must be executable "
+"by\n"
+"   the shell."
+msgstr ""
+
+msgid ""
+"2. If the ``HGMERGE`` environment variable is present, its value is used "
+"and\n"
+"   must be executable by the shell."
+msgstr ""
+
+msgid ""
+"3. If the filename of the file to be merged matches any of the patterns in "
+"the\n"
+"   merge-patterns configuration section, the first usable merge tool\n"
+"   corresponding to a matching pattern is used. Here, binary capabilities of "
+"the\n"
+"   merge tool are not considered."
+msgstr ""
+
+msgid ""
+"4. If ui.merge is set it will be considered next. If the value is not the "
+"name\n"
+"   of a configured tool, the specified value is used and must be executable "
+"by\n"
+"   the shell. Otherwise the named tool is used if it is usable."
+msgstr ""
+
+msgid ""
+"5. If any usable merge tools are present in the merge-tools configuration\n"
+"   section, the one with the highest priority is used."
+msgstr ""
+
+msgid ""
+"6. If a program named ``hgmerge`` can be found on the system, it is used - "
+"but\n"
+"   it will by default not be used for symlinks and binary files."
+msgstr ""
+
+msgid ""
+"7. If the file to be merged is not binary and is not a symlink, then\n"
+"   ``internal:merge`` is used."
+msgstr ""
+
+msgid "8. The merge of the file fails and must be resolved before commit."
+msgstr ""
+
+msgid ""
+".. note::\n"
+"   After selecting a merge program, Mercurial will by default attempt\n"
+"   to merge the files using a simple merge algorithm first. Only if it "
+"doesn't\n"
+"   succeed because of conflicting changes Mercurial will actually execute "
+"the\n"
+"   merge program. Whether to use the simple merge algorithm first can be\n"
+"   controlled by the premerge setting of the merge tool. Premerge is enabled "
+"by\n"
+"   default unless the file is binary or a symlink."
+msgstr ""
+
+msgid ""
+"See the merge-tools and ui sections of hgrc(5) for details on the\n"
+"configuration of merge tools.\n"
+msgstr ""
+
+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."
+msgstr ""
+
+msgid ""
+"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\"."
+msgstr ""
+
+msgid "If BEGIN is greater than END, revisions are treated in reverse order."
+msgstr ""
+
+msgid ""
+"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 ""
+
+msgid ""
+"Mercurial accepts several notations for identifying one or more files\n"
+"at a time."
+msgstr ""
+
+msgid ""
+"By default, Mercurial treats filenames as shell-style extended glob\n"
+"patterns."
+msgstr ""
+
+msgid "Alternate pattern notations must be specified explicitly."
+msgstr ""
+
+msgid ""
+"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."
+msgstr ""
+
+msgid ""
+"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``."
+msgstr ""
+
+msgid ""
+"The supported glob syntax extensions are ``**`` to match any string\n"
+"across path separators and ``{a,b}`` to mean \"a or b\"."
+msgstr ""
+
+msgid ""
+"To use a Perl/Python regular expression, start a name with ``re:``.\n"
+"Regexp pattern matching is anchored at the root of the repository."
+msgstr ""
+
+msgid "Plain examples::"
+msgstr ""
+
+msgid ""
+"  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\""
+msgstr ""
+
+msgid "Glob examples::"
+msgstr ""
+
+msgid ""
+"  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."
+msgstr ""
+
+msgid "Regexp examples::"
+msgstr ""
+
+msgid ""
+"  re:.*\\.c$      any name ending in \".c\", anywhere in the repository\n"
+msgstr ""
+
+msgid "Mercurial supports several ways to specify individual revisions."
+msgstr ""
+
+msgid ""
+"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."
+msgstr ""
+
+msgid ""
+"A 40-digit hexadecimal string is treated as a unique revision\n"
+"identifier."
+msgstr ""
+
+msgid ""
+"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."
+msgstr ""
+
+msgid ""
+"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."
+msgstr ""
+
+msgid ""
+"The reserved name \"tip\" is a special tag that always identifies the\n"
+"most recent revision."
+msgstr ""
+
+msgid ""
+"The reserved name \"null\" indicates the null revision. This is the\n"
+"revision of an empty repository, and the parent of revision 0."
+msgstr ""
+
+msgid ""
+"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 ""
+
+msgid ""
+"Mercurial supports a functional language for selecting a set of\n"
+"revisions."
+msgstr ""
+
+msgid ""
+"The language supports a number of predicates which are joined by infix\n"
+"operators. Parenthesis can be used for grouping."
+msgstr ""
+
+msgid ""
+"Identifiers such as branch names must be quoted with single or double\n"
+"quotes if they contain characters outside of\n"
+"``[._a-zA-Z0-9\\x80-\\xff]`` or if they match one of the predefined\n"
+"predicates."
+msgstr ""
+
+msgid ""
+"Special characters can be used in quoted identifiers by escaping them,\n"
+"e.g., ``\\n`` is interpreted as a newline. To prevent them from being\n"
+"interpreted, strings can be prefixed with ``r``, e.g. ``r'...'``."
+msgstr ""
+
+msgid "There is a single prefix operator:"
+msgstr ""
+
+msgid ""
+"``not x``\n"
+"  Changesets not in x. Short form is ``! x``."
+msgstr ""
+
+msgid "These are the supported infix operators:"
+msgstr ""
+
+msgid ""
+"``x::y``\n"
+"  A DAG range, meaning all changesets that are descendants of x and\n"
+"  ancestors of y, including x and y themselves. If the first endpoint\n"
+"  is left out, this is equivalent to ``ancestors(y)``, if the second\n"
+"  is left out it is equivalent to ``descendants(x)``."
+msgstr ""
+
+msgid "  An alternative syntax is ``x..y``."
+msgstr ""
+
+msgid ""
+"``x:y``\n"
+"  All changesets with revision numbers between x and y, both\n"
+"  inclusive. Either endpoint can be left out, they default to 0 and\n"
+"  tip."
+msgstr ""
+
+msgid ""
+"``x and y``\n"
+"  The intersection of changesets in x and y. Short form is ``x & y``."
+msgstr ""
+
+msgid ""
+"``x or y``\n"
+"  The union of changesets in x and y. There are two alternative short\n"
+"  forms: ``x | y`` and ``x + y``."
+msgstr ""
+
+msgid ""
+"``x - y``\n"
+"  Changesets in x but not in y."
+msgstr ""
+
+msgid "The following predicates are supported:"
+msgstr ""
+
+msgid ".. predicatesmarker"
+msgstr ""
+
+msgid "Command line equivalents for :hg:`log`::"
+msgstr ""
+
+msgid ""
+"  -f    ->  ::.\n"
+"  -d x  ->  date(x)\n"
+"  -k x  ->  keyword(x)\n"
+"  -m    ->  merge()\n"
+"  -u x  ->  user(x)\n"
+"  -b x  ->  branch(x)\n"
+"  -P x  ->  !::x\n"
+"  -l x  ->  limit(expr, x)"
+msgstr ""
+
+msgid "Some sample queries:"
+msgstr ""
+
+msgid "- Changesets on the default branch::"
+msgstr ""
+
+msgid "    hg log -r \"branch(default)\""
+msgstr ""
+
+msgid "- Changesets on the default branch since tag 1.5 (excluding merges)::"
+msgstr ""
+
+msgid "    hg log -r \"branch(default) and 1.5:: and not merge()\""
+msgstr ""
+
+msgid "- Open branch heads::"
+msgstr ""
+
+msgid "    hg log -r \"head() and not closed()\""
+msgstr ""
+
+msgid ""
+"- Changesets between tags 1.3 and 1.5 mentioning \"bug\" that affect\n"
+"  ``hgext/*``::"
+msgstr ""
+
+msgid "    hg log -r \"1.3::1.5 and keyword(bug) and file('hgext/*')\""
+msgstr ""
+
+msgid "- Changesets in committed May 2008, sorted by user::"
+msgstr ""
+
+msgid "    hg log -r \"sort(date('May 2008'), user)\""
+msgstr ""
+
+msgid ""
+"- Changesets mentioning \"bug\" or \"issue\" that are not in a tagged\n"
+"  release::"
+msgstr ""
+
+msgid ""
+"    hg log -r \"(keyword(bug) or keyword(issue)) and not ancestors(tagged"
+"())\"\n"
+msgstr ""
+
+msgid ""
+"Subrepositories let you nest external repositories or projects into a\n"
+"parent Mercurial repository, and make commands operate on them as a\n"
+"group. External Mercurial and Subversion projects are currently\n"
+"supported."
+msgstr ""
+
+msgid "Subrepositories are made of three components:"
+msgstr ""
+
+msgid ""
+"1. Nested repository checkouts. They can appear anywhere in the\n"
+"   parent working directory, and are Mercurial clones or Subversion\n"
+"   checkouts."
+msgstr ""
+
+msgid ""
+"2. Nested repository references. They are defined in ``.hgsub`` and\n"
+"   tell where the subrepository checkouts come from. Mercurial\n"
+"   subrepositories are referenced like:"
+msgstr ""
+
+msgid "     path/to/nested = https://example.com/nested/repo/path"
+msgstr ""
+
+msgid ""
+"   where ``path/to/nested`` is the checkout location relatively to the\n"
+"   parent Mercurial root, and ``https://example.com/nested/repo/path``\n"
+"   is the source repository path. The source can also reference a\n"
+"   filesystem path. Subversion repositories are defined with:"
+msgstr ""
+
+msgid "     path/to/nested = [svn]https://example.com/nested/trunk/path"
+msgstr ""
+
+msgid ""
+"   Note that ``.hgsub`` does not exist by default in Mercurial\n"
+"   repositories, you have to create and add it to the parent\n"
+"   repository before using subrepositories."
+msgstr ""
+
+msgid ""
+"3. Nested repository states. They are defined in ``.hgsubstate`` and\n"
+"   capture whatever information is required to restore the\n"
+"   subrepositories to the state they were committed in a parent\n"
+"   repository changeset. Mercurial automatically record the nested\n"
+"   repositories states when committing in the parent repository."
+msgstr ""
+
+msgid ""
+"   .. note::\n"
+"      The ``.hgsubstate`` file should not be edited manually."
+msgstr ""
+
+msgid ""
+"\n"
+"Adding a Subrepository\n"
+"----------------------"
+msgstr ""
+
+msgid ""
+"If ``.hgsub`` does not exist, create it and add it to the parent\n"
+"repository. Clone or checkout the external projects where you want it\n"
+"to live in the parent repository. Edit ``.hgsub`` and add the\n"
+"subrepository entry as described above. At this point, the\n"
+"subrepository is tracked and the next commit will record its state in\n"
+"``.hgsubstate`` and bind it to the committed changeset."
+msgstr ""
+
+msgid ""
+"Synchronizing a Subrepository\n"
+"-----------------------------"
+msgstr ""
+
+msgid ""
+"Subrepos do not automatically track the latest changeset of their\n"
+"sources. Instead, they are updated to the changeset that corresponds\n"
+"with the changeset checked out in the top-level changeset. This is so\n"
+"developers always get a consistent set of compatible code and\n"
+"libraries when they update."
+msgstr ""
+
+msgid ""
+"Thus, updating subrepos is a manual process. Simply check out target\n"
+"subrepo at the desired revision, test in the top-level repo, then\n"
+"commit in the parent repository to record the new combination."
+msgstr ""
+
+msgid ""
+"Deleting a Subrepository\n"
+"------------------------"
+msgstr ""
+
+msgid ""
+"To remove a subrepository from the parent repository, delete its\n"
+"reference from ``.hgsub``, then remove its files."
+msgstr ""
+
+msgid ""
+"Interaction with Mercurial Commands\n"
+"-----------------------------------"
+msgstr ""
+
+msgid ""
+":add: add does not recurse in subrepos unless -S/--subrepos is\n"
+"    specified. Subversion subrepositories are currently silently\n"
+"    ignored."
+msgstr ""
+
+msgid ""
+":archive: archive does not recurse in subrepositories unless\n"
+"    -S/--subrepos is specified."
+msgstr ""
+
+msgid ""
+":commit: commit creates a consistent snapshot of the state of the\n"
+"    entire project and its subrepositories. It does this by first\n"
+"    attempting to commit all modified subrepositories, then recording\n"
+"    their state and finally committing it in the parent repository."
+msgstr ""
+
+msgid ""
+":diff: diff does not recurse in subrepos unless -S/--subrepos is\n"
+"    specified. Changes are displayed as usual, on the subrepositories\n"
+"    elements. Subversion subrepositories are currently silently\n"
+"    ignored."
+msgstr ""
+
+msgid ""
+":incoming: incoming does not recurse in subrepos unless -S/--subrepos\n"
+"    is specified. Subversion subrepositories are currently silently\n"
+"    ignored."
+msgstr ""
+
+msgid ""
+":outgoing: outgoing does not recurse in subrepos unless -S/--subrepos\n"
+"    is specified. Subversion subrepositories are currently silently\n"
+"    ignored."
+msgstr ""
+
+msgid ""
+":pull: pull is not recursive since it is not clear what to pull prior\n"
+"    to running :hg:`update`. Listing and retrieving all\n"
+"    subrepositories changes referenced by the parent repository pulled\n"
+"    changesets is expensive at best, impossible in the Subversion\n"
+"    case."
+msgstr ""
+
+msgid ""
+":push: Mercurial will automatically push all subrepositories first\n"
+"    when the parent repository is being pushed. This ensures new\n"
+"    subrepository changes are available when referenced by top-level\n"
+"    repositories."
+msgstr ""
+
+msgid ""
+":status: status does not recurse into subrepositories unless\n"
+"    -S/--subrepos is specified. Subrepository changes are displayed as\n"
+"    regular Mercurial changes on the subrepository\n"
+"    elements. Subversion subrepositories are currently silently\n"
+"    ignored."
+msgstr ""
+
+msgid ""
+":update: update restores the subrepos in the state they were\n"
+"    originally committed in target changeset. If the recorded\n"
+"    changeset is not available in the current subrepository, Mercurial\n"
+"    will pull it in first before updating.  This means that updating\n"
+"    can require network access when using subrepositories."
+msgstr ""
+
+msgid ""
+"Remapping Subrepositories Sources\n"
+"---------------------------------"
+msgstr ""
+
+msgid ""
+"A subrepository source location may change during a project life,\n"
+"invalidating references stored in the parent repository history. To\n"
+"fix this, rewriting rules can be defined in parent repository ``hgrc``\n"
+"file or in Mercurial configuration. See the ``[subpaths]`` section in\n"
+"hgrc(5) for more details."
+msgstr ""
+
+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)."
+msgstr ""
+
+msgid ""
+"You can customize output for any \"log-like\" command: log,\n"
+"outgoing, incoming, tip, parents, heads and glog."
+msgstr ""
+
+msgid ""
+"Four styles are packaged with Mercurial: default (the style used\n"
+"when no explicit preference is passed), compact, changelog,\n"
+"and xml.\n"
+"Usage::"
+msgstr ""
+
+msgid "    $ hg log -r1 --style changelog"
+msgstr ""
+
+msgid ""
+"A template is a piece of text, with markup to invoke variable\n"
+"expansion::"
+msgstr ""
+
+msgid ""
+"    $ hg log -r1 --template \"{node}\\n\"\n"
+"    b56ce7b07c52de7d5fd79fb89701ea538af65746"
+msgstr ""
+
+msgid ""
+"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:"
+msgstr ""
+
+msgid ":author: String. The unmodified author of the changeset."
+msgstr ""
+
+msgid ""
+":branches: String. The name of the branch on which the changeset was\n"
+"    committed. Will be empty if the branch name was default."
+msgstr ""
+
+msgid ":children: List of strings. The children of the changeset."
+msgstr ""
+
+msgid ":date: Date information. The date when the changeset was committed."
+msgstr ""
+
+msgid ":desc: String. The text of the changeset description."
+msgstr ""
+
+msgid ""
+":diffstat: String. Statistics of changes with the following format:\n"
+"    \"modified files: +added/-removed lines\""
+msgstr ""
+
+msgid ""
+":files: List of strings. All files modified, added, or removed by this\n"
+"    changeset."
+msgstr ""
+
+msgid ":file_adds: List of strings. Files added by this changeset."
+msgstr ""
+
+msgid ""
+":file_copies: List of strings. Files copied in this changeset with\n"
+"    their sources."
+msgstr ""
+
+msgid ""
+":file_copies_switch: List of strings. Like \"file_copies\" but displayed\n"
+"    only if the --copied switch is set."
+msgstr ""
+
+msgid ":file_mods: List of strings. Files modified by this changeset."
+msgstr ""
+
+msgid ":file_dels: List of strings. Files removed by this changeset."
+msgstr ""
+
+msgid ""
+":node: String. The changeset identification hash, as a 40 hexadecimal\n"
+"    digit string."
+msgstr ""
+
+msgid ":parents: List of strings. The parents of the changeset."
+msgstr ""
+
+msgid ":rev: Integer. The repository-local changeset revision number."
+msgstr ""
+
+msgid ":tags: List of strings. Any tags associated with the changeset."
+msgstr ""
+
+msgid ""
+":latesttag: String. Most recent global tag in the ancestors of this\n"
+"    changeset."
+msgstr ""
+
+msgid ":latesttagdistance: Integer. Longest path to the latest tag."
+msgstr ""
+
+msgid ""
+"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. Be sure to use the stringify filter first when you're\n"
+"applying a string-input filter to a list-like input variable.\n"
+"You can also use a chain of filters to get the desired output::"
+msgstr ""
+
+msgid ""
+"   $ hg tip --template \"{date|isodate}\\n\"\n"
+"   2008-08-21 18:22 +0000"
+msgstr ""
+
+msgid "List of filters:"
+msgstr ""
+
+msgid ""
+":addbreaks: Any text. Add an XHTML \"<br />\" tag before the end of\n"
+"    every line except the last."
+msgstr ""
+
+msgid ""
+":age: Date. Returns a human-readable date/time difference between the\n"
+"    given date/time and the current date/time."
+msgstr ""
+
+msgid ""
+":basename: Any text. Treats the text as a path, and returns the last\n"
+"    component of the path after splitting by the path separator\n"
+"    (ignoring trailing separators). For example, \"foo/bar/baz\" becomes\n"
+"    \"baz\" and \"foo/bar//\" becomes \"bar\"."
+msgstr ""
+
+msgid ""
+":stripdir: Treat the text as path and strip a directory level, if\n"
+"    possible. For example, \"foo\" and \"foo/bar\" becomes \"foo\"."
+msgstr ""
+
+msgid ""
+":date: Date. Returns a date in a Unix date format, including the\n"
+"    timezone: \"Mon Sep 04 15:13:13 2006 0700\"."
+msgstr ""
+
+msgid ""
+":domain: Any text. Finds the first string that looks like an email\n"
+"    address, and extracts just the domain component. Example: ``User\n"
+"    <user@example.com>`` becomes ``example.com``."
+msgstr ""
+
+msgid ""
+":email: Any text. Extracts the first string that looks like an email\n"
+"    address. Example: ``User <user@example.com>`` becomes\n"
+"    ``user@example.com``."
+msgstr ""
+
+msgid ""
+":escape: Any text. Replaces the special XML/XHTML characters \"&\", \"<\"\n"
+"    and \">\" with XML entities."
+msgstr ""
+
+msgid ""
+":hex: Any text. Convert a binary Mercurial node identifier into\n"
+"    its long hexadecimal representation."
+msgstr ""
+
+msgid ":fill68: Any text. Wraps the text to fit in 68 columns."
+msgstr ""
+
+msgid ":fill76: Any text. Wraps the text to fit in 76 columns."
+msgstr ""
+
+msgid ":firstline: Any text. Returns the first line of text."
+msgstr ""
+
+msgid ":nonempty: Any text. Returns '(none)' if the string is empty."
+msgstr ""
+
+msgid ""
+":hgdate: Date. Returns the date as a pair of numbers: \"1157407993\n"
+"    25200\" (Unix timestamp, timezone offset)."
+msgstr ""
+
+msgid ""
+":isodate: Date. Returns the date in ISO 8601 format: \"2009-08-18 13:00\n"
+"    +0200\"."
+msgstr ""
+
+msgid ""
+":isodatesec: Date. Returns the date in ISO 8601 format, including\n"
+"    seconds: \"2009-08-18 13:00:13 +0200\". See also the rfc3339date\n"
+"    filter."
+msgstr ""
+
+msgid ":localdate: Date. Converts a date to local date."
+msgstr ""
+
+msgid ""
+":obfuscate: Any text. Returns the input text rendered as a sequence of\n"
+"    XML entities."
+msgstr ""
+
+msgid ":person: Any text. Returns the text before an email address."
+msgstr ""
+
+msgid ""
+":rfc822date: Date. Returns a date using the same format used in email\n"
+"    headers: \"Tue, 18 Aug 2009 13:00:13 +0200\"."
+msgstr ""
+
+msgid ""
+":rfc3339date: Date. Returns a date using the Internet date format\n"
+"    specified in RFC 3339: \"2009-08-18T13:00:13+02:00\"."
+msgstr ""
+
+msgid ""
+":short: Changeset hash. Returns the short form of a changeset hash,\n"
+"    i.e. a 12 hexadecimal digit string."
+msgstr ""
+
+msgid ":shortdate: Date. Returns a date like \"2006-09-18\"."
+msgstr ""
+
+msgid ""
+":stringify: Any type. Turns the value into text by converting values into\n"
+"    text and concatenating them."
+msgstr ""
+
+msgid ":strip: Any text. Strips all leading and trailing whitespace."
+msgstr ""
+
+msgid ""
+":tabindent: Any text. Returns the text, with every line except the\n"
+"     first starting with a tab character."
+msgstr ""
+
+msgid ""
+":urlescape: Any text. Escapes all \"special\" characters. For example,\n"
+"    \"foo bar\" becomes \"foo%20bar\"."
+msgstr ""
+
+msgid ":user: Any text. Returns the user portion of an email address.\n"
+msgstr ""
+
+msgid "Valid URLs are of the form::"
+msgstr ""
+
+msgid ""
+"  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]"
+msgstr ""
+
+msgid ""
+"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`)."
+msgstr ""
+
+msgid ""
+"An optional identifier after # indicates a particular branch, tag, or\n"
+"changeset to use from the remote repository. See also :hg:`help\n"
+"revisions`."
+msgstr ""
+
+msgid ""
+"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."
+msgstr ""
+
+msgid ""
+"Note that the security of HTTPS URLs depends on proper configuration of\n"
+"web.cacerts."
+msgstr ""
+
+msgid "Some notes about using SSH with Mercurial:"
+msgstr ""
+
+msgid ""
+"- 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::"
+msgstr ""
+
+msgid "    ssh://example.com//tmp/repository"
+msgstr ""
+
+msgid ""
+"- 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.::"
+msgstr ""
+
+msgid ""
+"    Host *.mylocalnetwork.example.com\n"
+"      Compression no\n"
+"    Host *\n"
+"      Compression yes"
+msgstr ""
+
+msgid ""
+"  Alternatively specify \"ssh -C\" as your ssh command in your\n"
+"  configuration file or with the --ssh command line option."
+msgstr ""
+
+msgid ""
+"These URLs can all be stored in your configuration file with path\n"
+"aliases under the [paths] section like so::"
+msgstr ""
+
+msgid ""
+"  [paths]\n"
+"  alias1 = URL1\n"
+"  alias2 = URL2\n"
+"  ..."
+msgstr ""
+
+msgid ""
+"You can then use the alias for any command that uses a URL (for\n"
+"example :hg:`pull alias1` will be treated as :hg:`pull URL1`)."
+msgstr ""
+
+msgid ""
+"Two path aliases are special because they are used as defaults when\n"
+"you do not provide the URL to a command:"
+msgstr ""
+
+msgid ""
+"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)."
+msgstr ""
+
+msgid ""
+"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 ""
+
+msgid "remote branch lookup not supported"
+msgstr "不支援遠端分支查閱"
+
+msgid "dirstate branch not accessible"
+msgstr ""
+
+#, python-format
+msgid "unknown branch '%s'"
+msgstr "不知道的分支 '%s'"
 
 msgid "can only share local repositories"
-msgstr ""
+msgstr "只能分享本地端儲存庫(s)"
 
 msgid "destination already exists"
 msgstr "目的端已存在"
 
 msgid "updating working directory\n"
-msgstr "更新 working directory 中\n"
+msgstr "更新工作目錄中\n"
 
 #, python-format
 msgid "destination directory: %s\n"
@@ -9814,35 +11367,44 @@
 msgid "destination '%s' is not empty"
 msgstr "目的端 '%s' 不是空的"
 
-msgid "src repository does not support revision lookup and so doesn't support clone by revision"
+msgid ""
+"src repository does not support revision lookup and so doesn't support clone "
+"by revision"
 msgstr ""
 
 msgid "clone from remote to remote not supported"
-msgstr ""
-
-#, fuzzy, python-format
+msgstr "從一個遠端clone到另一個遠端的功能是不支援的 "
+
+#, python-format
 msgid "updating to branch %s\n"
-msgstr "正在新增 branch\n"
-
-#, python-format
-msgid "%d files updated, %d files merged, %d files removed, %d files unresolved\n"
-msgstr ""
+msgstr "正在更新到%s分支\n"
+
+#, python-format
+msgid ""
+"%d files updated, %d files merged, %d files removed, %d files unresolved\n"
+msgstr "%d個更新 %d個合併 %d個移除 %d個未解決\n"
 
 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 abandon\n"
-msgstr ""
+msgstr "使用'hg resolve'重新嘗試合併未解決的檔案\n"
+
+msgid ""
+"use 'hg resolve' to retry unresolved file merges or 'hg update -C .' to "
+"abandon\n"
+msgstr "使用'hg resolve'重新嘗試合併未解決的檔案或用 'hg update -C'放棄\n"
 
 msgid "(branch merge, don't forget to commit)\n"
-msgstr ""
+msgstr "(分支已經合併了,別忘了要commit喔)\n"
 
 #, python-format
 msgid "error reading %s/.hg/hgrc: %s\n"
+msgstr "! %s/.hg/hgrc 讀取錯誤:%s\n"
+
+#, python-format
+msgid "error accessing repository at %s\n"
 msgstr ""
 
 msgid "SSL support is unavailable"
-msgstr ""
+msgstr "SSL 支援不能用"
 
 msgid "IPv6 is not available on this system"
 msgstr "此作業系統不支援 IPv6"
@@ -9859,6 +11421,12 @@
 msgid "%s hook is invalid (\"%s\" not in a module)"
 msgstr ""
 
+msgid "exception from first failed import attempt:\n"
+msgstr ""
+
+msgid "exception from second failed import attempt:\n"
+msgstr ""
+
 #, python-format
 msgid "%s hook is invalid (import of \"%s\" failed)"
 msgstr ""
@@ -9900,27 +11468,31 @@
 msgstr ""
 
 msgid "connection ended unexpectedly"
-msgstr ""
+msgstr "連線意外的結束了"
 
 #, python-format
 msgid "unsupported URL component: \"%s\""
-msgstr ""
+msgstr "不支援的URL元件:'%s'"
 
 msgid "operation not supported over http"
 msgstr ""
 
 msgid "authorization failed"
-msgstr ""
+msgstr "身份認證失敗"
 
 msgid "http error, possibly caused by proxy setting"
-msgstr ""
+msgstr "http 錯誤,可能是由proxy產生的"
 
 #, python-format
 msgid "real URL is %s\n"
-msgstr ""
-
-#, python-format
-msgid "'%s' does not appear to be an hg repository"
+msgstr "真正的URL是 %s\n"
+
+#, python-format
+msgid ""
+"'%s' does not appear to be an hg repository:\n"
+"---%%<--- (%s)\n"
+"%s\n"
+"---%%<---\n"
 msgstr ""
 
 #, python-format
@@ -9929,49 +11501,37 @@
 
 #, python-format
 msgid "'%s' uses newer protocol %s"
-msgstr ""
-
-msgid "look up remote revision"
-msgstr ""
-
-msgid "unexpected response:"
-msgstr ""
-
-msgid "look up remote changes"
-msgstr ""
-
-msgid "push failed (unexpected response):"
-msgstr ""
+msgstr "'%s'使用最新的通訊協定 %s"
 
 #, python-format
 msgid "push failed: %s"
-msgstr ""
+msgstr "push 失敗: %s"
 
 msgid "Python support for SSL and HTTPS is not installed"
-msgstr ""
+msgstr "SSL 和HTTPS 的python support 沒有安裝"
 
 msgid "cannot create new http repository"
-msgstr ""
+msgstr "不能建立新的 http 儲存庫"
 
 #, python-format
 msgid "ignoring invalid syntax '%s'"
-msgstr ""
+msgstr "忽略無效的語法 '%s'"
 
 #, python-format
 msgid "skipping unreadable ignore file '%s': %s\n"
-msgstr ""
+msgstr "略過不能讀取的忽略檔 '%s' : %s\n"
 
 #, python-format
 msgid "repository %s not found"
-msgstr ""
+msgstr "找不到 %s 儲存庫"
 
 #, python-format
 msgid "repository %s already exists"
-msgstr ""
+msgstr "%s 儲存庫已經在了"
 
 #, python-format
 msgid "requirement '%s' not supported"
-msgstr ""
+msgstr "要求 '%s' 不被支援"
 
 #, python-format
 msgid ".hg/sharedpath points to nonexistent directory %s"
@@ -9979,20 +11539,24 @@
 
 #, python-format
 msgid "%r cannot be used in a tag name"
-msgstr ""
+msgstr "%r 不能當成標記名稱來用"
+
+#, python-format
+msgid "warning: tag %s conflicts with existing branch name\n"
+msgstr "警告: 標記 %s 跟現有的分支名稱衝突。\n"
 
 msgid "working copy of .hgtags is changed (please commit .hgtags manually)"
-msgstr ""
+msgstr ".hgtags 的工作複本已經被改變了(請手工提交 .hgtags)"
 
 #, python-format
 msgid "working directory has unknown parent '%s'!"
-msgstr ""
+msgstr "工作目錄有未知的母系'%s'!"
 
 #, python-format
 msgid "unknown revision '%s'"
-msgstr ""
-
-msgid "journal already exists - run hg recover"
+msgstr "未知的修定版 '%s'"
+
+msgid "abandoned transaction found - run hg recover"
 msgstr ""
 
 msgid "rolling back interrupted transaction\n"
@@ -10001,15 +11565,23 @@
 msgid "no interrupted transaction available\n"
 msgstr ""
 
-msgid "rolling back last transaction\n"
+#, python-format
+msgid "rolling back to revision %s (undo %s: %s)\n"
+msgstr ""
+
+#, python-format
+msgid "rolling back to revision %s (undo %s)\n"
+msgstr ""
+
+msgid "rolling back unknown transaction\n"
 msgstr ""
 
 #, python-format
 msgid "Named branch could not be reset, current branch still is: %s\n"
-msgstr ""
+msgstr "指名的分支不能被重置,目前分支依然是: %s\n"
 
 msgid "no rollback information available\n"
-msgstr ""
+msgstr "沒有 rollback 資訊可以用\n"
 
 #, python-format
 msgid "waiting for lock on %s held by %r\n"
@@ -10017,126 +11589,91 @@
 
 #, python-format
 msgid "repository %s"
-msgstr ""
+msgstr "儲存庫 %s"
 
 #, python-format
 msgid "working directory of %s"
-msgstr ""
+msgstr "%s 的工作目錄"
 
 msgid "cannot partially commit a merge (do not specify files or patterns)"
 msgstr ""
 
+msgid "can't commit subrepos without .hgsub"
+msgstr ""
+
 msgid "file not found!"
-msgstr ""
+msgstr "找不到檔案!"
 
 msgid "no match under directory!"
 msgstr ""
 
 msgid "file not tracked!"
-msgstr ""
+msgstr "檔案沒有被追蹤!"
 
 msgid "unresolved merge conflicts (see hg resolve)"
-msgstr ""
+msgstr "未解決的合併衝突(詳見 hg resolve)"
 
 #, python-format
 msgid "committing subrepository %s\n"
-msgstr ""
+msgstr "正在提交子儲存庫 %s\n"
+
+#, python-format
+msgid "note: commit message saved in %s\n"
+msgstr "注意: 提交訊息存放在%s\n"
 
 #, python-format
 msgid "trouble committing %s!\n"
 msgstr ""
 
-#, python-format
-msgid "%s does not exist!\n"
-msgstr ""
-
-#, python-format
-msgid ""
-"%s: files over 10MB may cause memory and performance problems\n"
-"(use 'hg revert %s' to unadd the file)\n"
-msgstr ""
-
-#, python-format
-msgid "%s not added: only files and symlinks supported currently\n"
-msgstr ""
-
-#, python-format
-msgid "%s already tracked!\n"
-msgstr ""
-
-#, python-format
-msgid "%s not added!\n"
-msgstr ""
-
-#, python-format
-msgid "%s still exists!\n"
-msgstr ""
-
-#, python-format
-msgid "%s not tracked!\n"
-msgstr ""
-
-#, python-format
-msgid "%s not removed!\n"
-msgstr ""
-
-#, python-format
-msgid "copy failed: %s is not a file or a symbolic link\n"
-msgstr ""
-
-msgid "searching for changes\n"
-msgstr ""
-
-msgid "already have changeset "
-msgstr ""
-
-msgid "warning: repository is unrelated\n"
-msgstr ""
-
-msgid "repository is unrelated"
-msgstr ""
-
 msgid "requesting all changes\n"
-msgstr ""
-
-msgid "Partial pull cannot be done because other repository doesn't support changegroupsubset."
-msgstr ""
-
-#, python-format
-msgid "abort: push creates new remote branch '%s'!\n"
-msgstr ""
-
-msgid "abort: push creates new remote heads!\n"
-msgstr ""
-
-msgid "(did you forget to merge? use push -f to force)\n"
-msgstr ""
-
-msgid "note: unsynced remote changes!\n"
-msgstr ""
+msgstr "正在重新要求所有的changes\n"
+
+msgid ""
+"partial pull cannot be done because other repository doesn't support "
+"changegroupsubset."
+msgstr "局部pull 不能完成,因為其他儲存庫不支援changegroupsubset."
 
 #, python-format
 msgid "%d changesets found\n"
+msgstr "找到%d個changesets\n"
+
+msgid "bundling changes"
+msgstr ""
+
+msgid "chunks"
+msgstr ""
+
+msgid "bundling manifests"
 msgstr ""
 
 #, python-format
 msgid "empty or missing revlog for %s"
 msgstr ""
 
+msgid "bundling files"
+msgstr ""
+
 msgid "adding changesets\n"
-msgstr ""
+msgstr "新增changesets\n"
 
 msgid "received changelog group is empty"
-msgstr ""
+msgstr "接收的changelog group是空白的"
 
 msgid "adding manifests\n"
-msgstr ""
+msgstr "新增清單\n"
+
+msgid "manifests"
+msgstr "清單"
 
 msgid "adding file changes\n"
-msgstr ""
+msgstr "新增檔案變更\n"
 
 msgid "received file revlog group is empty"
-msgstr ""
+msgstr "接收的file revlog group是空白的"
+
+#, python-format
+msgid "missing file data for %s:%s - run hg verify"
+msgstr "遺失檔案資料 for %s:%s - 執行 hg verify"
 
 #, python-format
 msgid " (%+d heads)"
@@ -10144,19 +11681,19 @@
 
 #, python-format
 msgid "added %d changesets with %d changes to %d files%s\n"
-msgstr ""
+msgstr "增加%d個changesets with %d個變更到%d個檔案%s\n"
 
 msgid "Unexpected response from remote server:"
-msgstr ""
+msgstr "遠端伺服器回傳一個意料之外的回應:"
 
 msgid "operation forbidden by server"
 msgstr ""
 
 msgid "locking the remote repository failed"
-msgstr ""
+msgstr "鎖住遠端儲存庫失敗了"
 
 msgid "the server sent an unknown error code"
-msgstr ""
+msgstr "伺服器傳送了一個未知的錯誤碼"
 
 msgid "streaming all changes\n"
 msgstr ""
@@ -10169,56 +11706,65 @@
 msgid "transferred %s in %.1f seconds (%s/sec)\n"
 msgstr ""
 
-msgid "no [smtp]host in hgrc - cannot send mail"
-msgstr ""
+msgid "smtp.host not configured - cannot send mail"
+msgstr "smtp.host 沒有設定 - hg沒有辦法寄信"
 
 #, python-format
 msgid "sending mail: smtp host %s, port %s\n"
-msgstr ""
+msgstr "正在寄mail: smtp host %s,port %s\n"
 
 msgid "can't use TLS: Python SSL support not installed"
-msgstr ""
+msgstr "不能用 TLS: python 的 SSL 支援沒有安裝(?)"
 
 msgid "(using tls)\n"
-msgstr ""
+msgstr "(使用 TLS)\n"
 
 #, python-format
 msgid "(authenticating to mail server as %s)\n"
-msgstr ""
+msgstr "(用 %s 認証到 mail 伺服器)\n"
 
 #, python-format
 msgid "sending mail: %s\n"
-msgstr ""
+msgstr "正在寄mail: %s\n"
 
 msgid "smtp specified as email transport, but no smtp host configured"
-msgstr ""
+msgstr "smtp 被描述成是一個email 傳輸器,但是沒有設定 smtp host"
 
 #, python-format
 msgid "%r specified as email transport, but not in PATH"
-msgstr ""
+msgstr "描述%r是一個email傳輸器,但是他不在PATH裡"
 
 #, python-format
 msgid "ignoring invalid sendcharset: %s\n"
-msgstr ""
+msgstr "忽略無效的傳送字元集: %s\n"
 
 #, python-format
 msgid "invalid email address: %s"
-msgstr ""
+msgstr "不能用的E mail 位址: %s"
 
 #, python-format
 msgid "invalid local address: %s"
-msgstr ""
+msgstr "不能用的本地位址: %s"
 
 #, python-format
 msgid "failed to remove %s from manifest"
-msgstr ""
+msgstr "從清單移除 %s 失敗了"
+
+#, python-format
+msgid "invalid pattern (%s): %s"
+msgstr "無效的表達式(%s): %s"
+
+msgid "invalid pattern"
+msgstr "無效的表達式"
 
 #, python-format
 msgid "diff context lines count must be an integer, not %r"
-msgstr ""
-
-#, python-format
-msgid "untracked file in working directory differs from file in requested revision: '%s'"
+msgstr "\"diff context lines count\" 必須是一個整數,不是 %r"
+
+#, python-format
+msgid ""
+"untracked file in working directory differs from file in requested revision: "
+"'%s'"
 msgstr ""
 
 #, python-format
@@ -10241,7 +11787,7 @@
 msgstr ""
 
 msgid "resolving manifests\n"
-msgstr ""
+msgstr "解決清單中\n"
 
 #, python-format
 msgid ""
@@ -10264,6 +11810,9 @@
 msgid "&Deleted"
 msgstr ""
 
+msgid "updating"
+msgstr "更新中"
+
 #, python-format
 msgid "update failed to remove %s: %s!\n"
 msgstr ""
@@ -10277,15 +11826,15 @@
 msgstr ""
 
 #, python-format
-msgid "warning: detected divergent renames of %s to:\n"
+msgid "note: possible conflict - %s was renamed multiple times to:\n"
 msgstr ""
 
 #, python-format
 msgid "branch %s not found"
 msgstr "找不到 branch %s"
 
-msgid "can't merge with ancestor"
-msgstr "不能和 ancestor 合併"
+msgid "merging with a working directory ancestor has no effect"
+msgstr ""
 
 msgid "nothing to merge (use 'hg update' or check 'hg heads')"
 msgstr "沒有可合併的變更 (請使用 'hg update' 或 'hg heads' 檢查)"
@@ -10293,14 +11842,38 @@
 msgid "outstanding uncommitted changes (use 'hg status' to list changes)"
 msgstr "還有未 commit 的變更 (請使用 'hg status' 來列出變更)"
 
-msgid "crosses branches (use 'hg merge' or 'hg update -C' to discard changes)"
-msgstr ""
-
-msgid "crosses branches (use 'hg merge' or 'hg update -C')"
-msgstr ""
-
-msgid "crosses named branches (use 'hg update -C' to discard changes)"
-msgstr ""
+msgid "crosses branches (merge branches or use --clean to discard changes)"
+msgstr ""
+
+msgid "crosses branches (merge branches or use --check to force update)"
+msgstr ""
+
+msgid "Attention:"
+msgstr ""
+
+msgid "Caution:"
+msgstr ""
+
+msgid "!Danger!"
+msgstr "!!危險!!"
+
+msgid "Error:"
+msgstr "錯誤:"
+
+msgid "Hint:"
+msgstr ""
+
+msgid "Important:"
+msgstr "重要:"
+
+msgid "Note:"
+msgstr "備注:"
+
+msgid "Tip:"
+msgstr "提示:"
+
+msgid "Warning!"
+msgstr "警報!"
 
 #, python-format
 msgid "cannot create %s: destination already exists"
@@ -10331,11 +11904,11 @@
 msgstr "檔案 %s 已存在\n"
 
 #, python-format
-msgid "Hunk #%d succeeded at %d %s(offset %d line).\n"
-msgstr ""
-
-#, python-format
-msgid "Hunk #%d succeeded at %d %s(offset %d lines).\n"
+msgid "Hunk #%d succeeded at %d with fuzz %d (offset %d lines).\n"
+msgstr ""
+
+#, python-format
+msgid "Hunk #%d succeeded at %d (offset %d lines).\n"
 msgstr ""
 
 #, python-format
@@ -10358,31 +11931,34 @@
 msgstr "binary patch 是 %d bytes,而不是 %d"
 
 #, python-format
-msgid "unable to strip away %d dirs from %s"
-msgstr ""
+msgid "unable to strip away %d of %d dirs from %s"
+msgstr "不能去除(strip away) %d of %d個目錄從 %s"
 
 msgid "undefined source and destination files"
-msgstr ""
+msgstr "沒有定義來源跟目標檔案"
 
 #, python-format
 msgid "malformed patch %s %s"
-msgstr ""
+msgstr "有缺陷的patch %s %s"
 
 #, python-format
 msgid "unsupported parser state: %s"
-msgstr ""
+msgstr "不支援的解析器狀態: %s"
 
 #, python-format
 msgid "patch command failed: %s"
 msgstr "patch 命令失敗: %s"
 
 #, python-format
-msgid "Unsupported line endings type: %s"
+msgid "unsupported line endings type: %s"
 msgstr "不支援的行尾結束類型: %s"
 
+msgid "patch failed to apply"
+msgstr ""
+
 #, python-format
 msgid " %d files changed, %d insertions(+), %d deletions(-)\n"
-msgstr ""
+msgstr "%d 修改,%d 插入(+),%d 刪除(-)\n"
 
 #, python-format
 msgid "exited with status %d"
@@ -10393,20 +11969,31 @@
 msgstr "已被信號 %d 終止"
 
 #, python-format
-msgid "saving bundle to %s\n"
-msgstr "正在儲存 bundle 至 %s\n"
+msgid "saved backup bundle to %s\n"
+msgstr ""
 
 msgid "adding branch\n"
 msgstr "正在新增 branch\n"
 
 #, python-format
+msgid "strip failed, full bundle stored in '%s'\n"
+msgstr ""
+
+#, python-format
+msgid "strip failed, partial bundle stored in '%s'\n"
+msgstr ""
+
+#, python-format
 msgid "cannot %s; remote repository does not support the %r capability"
-msgstr ""
+msgstr "不能 %s;遠端儲存庫不支援 %r 功能"
 
 #, python-format
 msgid "unknown compression type %r"
 msgstr "未知的壓縮類型 %r"
 
+msgid "index entry flags need RevlogNG"
+msgstr ""
+
 #, python-format
 msgid "index %s unknown flags %#04x for format v0"
 msgstr ""
@@ -10430,21 +12017,370 @@
 msgstr "不明確的 identifier"
 
 msgid "no match found"
-msgstr ""
+msgstr "找不到符合的"
 
 #, python-format
 msgid "incompatible revision flag %x"
-msgstr ""
+msgstr "不相容的修定版旗標 %x"
 
 #, python-format
 msgid "%s not found in the transaction"
 msgstr "於 transaction 中找不到 %s"
 
+msgid "consistency error in delta"
+msgstr ""
+
 msgid "unknown base"
 msgstr "未知的 base"
 
-msgid "consistency error adding group"
-msgstr ""
+msgid "unterminated string"
+msgstr "沒有結束的字串"
+
+msgid "syntax error"
+msgstr "語法錯誤"
+
+msgid "missing argument"
+msgstr "參數遺失"
+
+#, python-format
+msgid "can't use %s here"
+msgstr "不能再這裡使用 %s"
+
+msgid "can't use a list in this context"
+msgstr ""
+
+#, python-format
+msgid "not a function: %s"
+msgstr "%s 不是函式(function)"
+
+msgid ""
+"``id(string)``\n"
+"    Revision non-ambiguously specified by the given hex string prefix."
+msgstr ""
+
+#. i18n: "id" is a keyword
+msgid "id requires one argument"
+msgstr "id 需要一個參數"
+
+#. i18n: "id" is a keyword
+msgid "id requires a string"
+msgstr "id 需要一個字串"
+
+msgid ""
+"``rev(number)``\n"
+"    Revision with the given numeric identifier."
+msgstr ""
+
+#. i18n: "rev" is a keyword
+msgid "rev requires one argument"
+msgstr "rev 需要一個參數"
+
+#. i18n: "rev" is a keyword
+msgid "rev requires a number"
+msgstr "rev 需要一個數字"
+
+#. i18n: "rev" is a keyword
+msgid "rev expects a number"
+msgstr ""
+
+msgid ""
+"``p1(set)``\n"
+"    First parent of changesets in set."
+msgstr ""
+
+msgid ""
+"``p2(set)``\n"
+"    Second parent of changesets in set."
+msgstr ""
+
+msgid ""
+"``parents(set)``\n"
+"    The set of all parents for all changesets in set."
+msgstr ""
+
+msgid ""
+"``max(set)``\n"
+"    Changeset with highest revision number in set."
+msgstr ""
+
+msgid ""
+"``min(set)``\n"
+"    Changeset with lowest revision number in set."
+msgstr ""
+
+msgid ""
+"``limit(set, n)``\n"
+"    First n members of set."
+msgstr ""
+
+#. i18n: "limit" is a keyword
+msgid "limit requires two arguments"
+msgstr "limit 需要兩個參數"
+
+#. i18n: "limit" is a keyword
+msgid "limit requires a number"
+msgstr "limit 需要一個數字"
+
+#. i18n: "limit" is a keyword
+msgid "limit expects a number"
+msgstr ""
+
+msgid ""
+"``children(set)``\n"
+"    Child changesets of changesets in set."
+msgstr ""
+
+msgid ""
+"``branch(set)``\n"
+"    All changesets belonging to the branches of changesets in set."
+msgstr ""
+
+msgid ""
+"``ancestor(single, single)``\n"
+"    Greatest common ancestor of the two changesets."
+msgstr ""
+
+#. i18n: "ancestor" is a keyword
+msgid "ancestor requires two arguments"
+msgstr "ancestor 需要兩個參數"
+
+#. i18n: "ancestor" is a keyword
+msgid "ancestor arguments must be single revisions"
+msgstr "ancestor的參數必須是單個修訂版"
+
+msgid ""
+"``ancestors(set)``\n"
+"    Changesets that are ancestors of a changeset in set."
+msgstr ""
+
+msgid ""
+"``descendants(set)``\n"
+"    Changesets which are descendants of changesets in set."
+msgstr ""
+
+msgid ""
+"``follow()``\n"
+"    An alias for ``::.`` (ancestors of the working copy's first parent)."
+msgstr ""
+
+#. i18n: "follow" is a keyword
+msgid "follow takes no arguments"
+msgstr "follow 不需要參數"
+
+msgid ""
+"``date(interval)``\n"
+"    Changesets within the interval, see :hg:`help dates`."
+msgstr ""
+
+#. i18n: "date" is a keyword
+msgid "date requires a string"
+msgstr "date 需要一個字串"
+
+msgid ""
+"``keyword(string)``\n"
+"    Search commit message, user name, and names of changed files for\n"
+"    string."
+msgstr ""
+
+#. i18n: "keyword" is a keyword
+msgid "keyword requires a string"
+msgstr "keyword 需要一個字串"
+
+msgid ""
+"``grep(regex)``\n"
+"    Like ``keyword(string)`` but accepts a regex. Use ``grep(r'...')``\n"
+"    to ensure special escape characters are handled correctly."
+msgstr ""
+
+#. i18n: "grep" is a keyword
+msgid "grep requires a string"
+msgstr "grep 需要一個字串"
+
+#, python-format
+msgid "invalid match pattern: %s"
+msgstr "無效的符合表達式: %s"
+
+msgid ""
+"``author(string)``\n"
+"    Alias for ``user(string)``."
+msgstr ""
+
+#. i18n: "author" is a keyword
+msgid "author requires a string"
+msgstr "author 需要一個字串"
+
+msgid ""
+"``user(string)``\n"
+"    User name is string."
+msgstr ""
+
+msgid ""
+"``file(pattern)``\n"
+"    Changesets affecting files matched by pattern."
+msgstr ""
+
+#. i18n: "file" is a keyword
+msgid "file requires a pattern"
+msgstr "file 需要一個檔名表達式"
+
+msgid ""
+"``contains(pattern)``\n"
+"    Revision contains pattern."
+msgstr ""
+
+#. i18n: "contains" is a keyword
+msgid "contains requires a pattern"
+msgstr "contains 需要一個表示式"
+
+msgid ""
+"``modifies(pattern)``\n"
+"    Changesets modifying files matched by pattern."
+msgstr ""
+
+#. i18n: "modifies" is a keyword
+msgid "modifies requires a pattern"
+msgstr "modifies 需要一個檔名表達式"
+
+msgid ""
+"``adds(pattern)``\n"
+"    Changesets that add a file matching pattern."
+msgstr ""
+
+#. i18n: "adds" is a keyword
+msgid "adds requires a pattern"
+msgstr "adds 需要一個檔名表達式"
+
+msgid ""
+"``removes(pattern)``\n"
+"    Changesets which remove files matching pattern."
+msgstr ""
+
+#. i18n: "removes" is a keyword
+msgid "removes requires a pattern"
+msgstr "removes 需要一個檔名表達式"
+
+msgid ""
+"``merge()``\n"
+"    Changeset is a merge changeset."
+msgstr ""
+
+#. i18n: "merge" is a keyword
+msgid "merge takes no arguments"
+msgstr "merge 不需要參數"
+
+msgid ""
+"``closed()``\n"
+"    Changeset is closed."
+msgstr ""
+
+#. i18n: "closed" is a keyword
+msgid "closed takes no arguments"
+msgstr "closed 不需要參數"
+
+msgid ""
+"``head()``\n"
+"    Changeset is a named branch head."
+msgstr ""
+
+#. i18n: "head" is a keyword
+msgid "head takes no arguments"
+msgstr "head 不需要參數"
+
+msgid ""
+"``reverse(set)``\n"
+"    Reverse order of set."
+msgstr ""
+
+msgid ""
+"``present(set)``\n"
+"    An empty set, if any revision in set isn't found; otherwise,\n"
+"    all revisions in set."
+msgstr ""
+
+msgid ""
+"``sort(set[, [-]key...])``\n"
+"    Sort set by keys. The default sort order is ascending, specify a key\n"
+"    as ``-key`` to sort in descending order."
+msgstr ""
+
+msgid "    The keys can be:"
+msgstr ""
+
+msgid ""
+"    - ``rev`` for the revision number,\n"
+"    - ``branch`` for the branch name,\n"
+"    - ``desc`` for the commit message (description),\n"
+"    - ``user`` for user name (``author`` can be used as an alias),\n"
+"    - ``date`` for the commit date"
+msgstr ""
+
+#. i18n: "sort" is a keyword
+msgid "sort requires one or two arguments"
+msgstr "sort 需要1個或2個參數"
+
+msgid "sort spec must be a string"
+msgstr "排序描述必須是一個字串"
+
+#, python-format
+msgid "unknown sort key %r"
+msgstr "未知的排序鍵值 %r"
+
+msgid ""
+"``all()``\n"
+"    All changesets, the same as ``0:tip``."
+msgstr ""
+
+#. i18n: "all" is a keyword
+msgid "all takes no arguments"
+msgstr "all 不需要參數"
+
+msgid ""
+"``heads(set)``\n"
+"    Members of set with no children in set."
+msgstr ""
+
+msgid ""
+"``roots(set)``\n"
+"    Changesets with no parent changeset in set."
+msgstr ""
+
+msgid ""
+"``outgoing([path])``\n"
+"    Changesets not found in the specified destination repository, or the\n"
+"    default push location."
+msgstr ""
+
+#. i18n: "outgoing" is a keyword
+msgid "outgoing requires a repository path"
+msgstr "outgoing需要一個儲存庫路徑"
+
+msgid ""
+"``tag(name)``\n"
+"    The specified tag by name, or all tagged revisions if no name is given."
+msgstr ""
+
+#. i18n: "tag" is a keyword
+msgid "tag takes one or no arguments"
+msgstr "tag 需要一個參數或不需要參數"
+
+#. i18n: "tag" is a keyword
+msgid "the argument to tag must be a string"
+msgstr "tag的參數必須是一個字串"
+
+msgid "can't negate that"
+msgstr "不能否定那個"
+
+msgid "not a symbol"
+msgstr "不是一個符號"
+
+msgid "empty query"
+msgstr "空白的查詢"
+
+msgid "searching for exact renames"
+msgstr ""
+
+msgid "searching for similar files"
+msgstr "搜尋類似的檔案"
 
 #, python-format
 msgid "%s looks like a binary file."
@@ -10464,17 +12400,21 @@
 msgstr "無法建立遠端 repo"
 
 msgid "no suitable response from remote hg"
-msgstr ""
+msgstr "遠端hg沒有適當的回應"
 
 msgid "remote: "
 msgstr "遠端: "
 
+msgid "unexpected response:"
+msgstr "意料之外的回應:"
+
 #, python-format
 msgid "push refused: %s"
 msgstr "push 被拒絕: %s"
 
-msgid "unsynced changes"
-msgstr "未同步的變更"
+#, python-format
+msgid "'%s' does not appear to be an hg repository"
+msgstr ""
 
 msgid "cannot lock static-http repository"
 msgstr "無法鎖定 static-http repository"
@@ -10487,6 +12427,17 @@
 msgstr ""
 
 #, python-format
+msgid "subrepo spec file %s not found"
+msgstr "子儲存庫描述檔 %s 找不到"
+
+msgid "missing ] in subrepo source"
+msgstr ""
+
+#, python-format
+msgid "bad subrepository pattern in %s: %s"
+msgstr ""
+
+#, python-format
 msgid ""
 " subrepository sources for %s differ\n"
 "use (l)ocal source (%s) or (r)emote source (%s)?"
@@ -10508,16 +12459,35 @@
 msgstr ""
 
 #, python-format
+msgid "default path for subrepository %s not found"
+msgstr ""
+
+#, python-format
+msgid "unknown subrepo type %s"
+msgstr "未知的子儲存庫類型 %s"
+
+#, python-format
+msgid "warning: error \"%s\" in subrepository \"%s\"\n"
+msgstr ""
+
+#, python-format
 msgid "removing subrepo %s\n"
-msgstr ""
-
-#, python-format
-msgid "pulling subrepo %s\n"
-msgstr ""
-
-#, python-format
-msgid "pushing subrepo %s\n"
-msgstr ""
+msgstr "移除子儲存庫 %s\n"
+
+#, python-format
+msgid "pulling subrepo %s from %s\n"
+msgstr "拉收子儲存庫 %s 從 %s\n"
+
+#, python-format
+msgid "pushing subrepo %s to %s\n"
+msgstr "推送子儲存庫 %s 到 %s\n"
+
+msgid "cannot commit svn externals"
+msgstr "不能提交 svn externals"
+
+#, python-format
+msgid "not removing repo %s because it has changes.\n"
+msgstr "不能移除儲存庫 %s 因為他已經改變了.\n"
 
 #, python-format
 msgid "%s, line %s: %s\n"
@@ -10530,111 +12500,139 @@
 msgid "node '%s' is not well formed"
 msgstr ""
 
+msgid ".hg/tags.cache is corrupt, rebuilding it\n"
+msgstr ""
+
 msgid "unmatched quotes"
-msgstr ""
+msgstr "沒有配對的引號"
 
 #, python-format
 msgid "error expanding '%s%%%s'"
-msgstr ""
+msgstr "'%s%%%s'展開失敗"
 
 #, python-format
 msgid "unknown filter '%s'"
-msgstr ""
+msgstr "未知的過濾器 '%s'"
 
 #, python-format
 msgid "style not found: %s"
-msgstr ""
+msgstr "找不到style: %s"
 
 #, python-format
 msgid "template file %s: %s"
-msgstr ""
+msgstr "佔存檔 %s: %s"
 
 msgid "cannot use transaction when it is already committed/aborted"
 msgstr ""
 
 #, python-format
 msgid "failed to truncate %s\n"
-msgstr ""
+msgstr "不能清除(truncate) %s\n"
 
 msgid "transaction abort!\n"
 msgstr ""
 
 msgid "rollback completed\n"
-msgstr ""
+msgstr "rollback 完成了\n"
 
 msgid "rollback failed - please run hg recover\n"
-msgstr ""
+msgstr "rollback 失敗 - 請執行 hg recover 命令\n"
 
 #, python-format
 msgid "Not trusting file %s from untrusted user %s, group %s\n"
-msgstr ""
+msgstr "不受信任的檔案 %s 從不受信任的使用者 %s,群組 %s\n"
 
 #, python-format
 msgid "Ignored: %s\n"
+msgstr "忽略: %s\n"
+
+#, python-format
+msgid "(deprecated '%%' in path %s=%s from %s)\n"
 msgstr ""
 
 #, python-format
 msgid "ignoring untrusted configuration option %s.%s = %s\n"
-msgstr ""
+msgstr "忽略未受信任的設定選項 %s.%s=%s\n"
 
 #, python-format
 msgid "%s.%s not a boolean ('%s')"
 msgstr ""
 
 msgid "enter a commit username:"
-msgstr ""
+msgstr "請輸入一個提交的使用者名稱:"
 
 #, python-format
 msgid "No username found, using '%s' instead\n"
-msgstr ""
-
-msgid "Please specify a username."
-msgstr ""
+msgstr "找不到名字,用 '%s'代替\n"
+
+msgid "no username supplied (see \"hg help config\")"
+msgstr "沒有提供使用者名稱(查閱 'hg help config')"
 
 #, python-format
 msgid "username %s contains a newline\n"
-msgstr ""
+msgstr "使用者名稱 '%s' 裏面有換行字元\n"
 
 msgid "response expected"
-msgstr ""
+msgstr "預期之中的回應"
 
 msgid "unrecognized response\n"
-msgstr ""
+msgstr "辨認不出來的回應\n"
 
 msgid "password: "
-msgstr ""
+msgstr "密碼:"
 
 msgid "edit failed"
-msgstr ""
+msgstr "編輯失敗"
 
 msgid "http authorization required"
-msgstr ""
+msgstr "http 需要認証"
 
 msgid "http authorization required\n"
-msgstr ""
+msgstr "http 需要認証\n"
 
 #, python-format
 msgid "realm: %s\n"
-msgstr ""
+msgstr "領域: %s\n"
 
 #, python-format
 msgid "user: %s\n"
-msgstr ""
+msgstr "使用者: %s\n"
 
 msgid "user:"
-msgstr ""
+msgstr "使用者:"
 
 #, python-format
 msgid "http auth: user %s, password %s\n"
-msgstr ""
+msgstr "http 認証: 使用者 %s , 密碼 %s\n"
+
+#, python-format
+msgid "ignoring invalid [auth] key '%s'\n"
+msgstr "忽略無效的[認証]鍵碼 '%s' \n"
+
+msgid "certificate checking requires Python 2.6"
+msgstr "憑證檢驗需要Python 2.6版"
+
+msgid "no certificate received"
+msgstr ""
+
+#, python-format
+msgid "certificate is for %s"
+msgstr "憑證是for %s"
+
+msgid "no commonName found in certificate"
+msgstr ""
+
+#, python-format
+msgid "%s certificate error: %s"
+msgstr "%s 憑證錯誤: %s"
 
 #, python-format
 msgid "command '%s' failed: %s"
-msgstr ""
+msgstr "命令 '%s' 失敗了: %s"
 
 #, python-format
 msgid "path contains illegal component: %s"
-msgstr ""
+msgstr "path 包含了非法的組成元件: %s"
 
 #, python-format
 msgid "path %r is inside repo %r"
@@ -10645,19 +12643,19 @@
 msgstr ""
 
 msgid "Hardlinks not supported"
-msgstr ""
+msgstr "硬式連結不被支援"
 
 #, python-format
 msgid "could not symlink to %r: %s"
-msgstr ""
-
-#, python-format
-msgid "invalid date: %r "
-msgstr ""
+msgstr "不能產生符號連結到 %r: %s"
+
+#, python-format
+msgid "invalid date: %r"
+msgstr "%r 是無效的日期"
 
 #, python-format
 msgid "date exceeds 32 bits: %d"
-msgstr ""
+msgstr "日期超出 32位元(s) 了 : %d"
 
 #, python-format
 msgid "impossible time zone offset: %d"
@@ -10665,7 +12663,7 @@
 
 #, python-format
 msgid "invalid day spec: %s"
-msgstr ""
+msgstr "無效的時間: %s"
 
 #, python-format
 msgid "%.0f GB"
@@ -10707,15 +12705,19 @@
 msgid "%.0f bytes"
 msgstr ""
 
+#, python-format
+msgid "no port number associated with service '%s'"
+msgstr ""
+
 msgid "cannot verify bundle or remote repos"
-msgstr ""
+msgstr "不能 verify bundle 或 遠端儲存庫"
 
 msgid "interrupted"
-msgstr ""
+msgstr "中斷"
 
 #, python-format
 msgid "empty or missing %s"
-msgstr ""
+msgstr "空白的或遺失 %s"
 
 #, python-format
 msgid "data length off by %d bytes"
@@ -10723,23 +12725,23 @@
 
 #, python-format
 msgid "index contains %d extra bytes"
-msgstr ""
+msgstr "index 包含 %d個額外的位元組"
 
 #, python-format
 msgid "warning: `%s' uses revlog format 1"
-msgstr ""
+msgstr "警報:`%s' 使用 revlog 格式 1"
 
 #, python-format
 msgid "warning: `%s' uses revlog format 0"
-msgstr ""
+msgstr "警報:`%s' 使用 revlog 格式 0"
 
 #, python-format
 msgid "rev %d points to nonexistent changeset %d"
-msgstr ""
+msgstr "rev %d 指到不存在的 changeset %d"
 
 #, python-format
 msgid "rev %d points to unexpected changeset %d"
-msgstr ""
+msgstr "rev %d 指到意料之外的changeset %d"
 
 #, python-format
 msgid " (expected %s)"
@@ -10747,75 +12749,84 @@
 
 #, python-format
 msgid "unknown parent 1 %s of %s"
-msgstr ""
+msgstr "未知的母系 1 %s of %s"
 
 #, python-format
 msgid "unknown parent 2 %s of %s"
-msgstr ""
+msgstr "未知的母系 2 %s of %s"
 
 #, python-format
 msgid "checking parents of %s"
-msgstr ""
+msgstr "正在檢查 %s 的 parents"
 
 #, python-format
 msgid "duplicate revision %d (%d)"
+msgstr "重複的修定版 %d (%d)"
+
+msgid "abandoned transaction found - run hg recover\n"
 msgstr ""
 
 #, python-format
 msgid "repository uses revlog format %d\n"
-msgstr ""
+msgstr "儲存庫使用 revlog 格式 %d\n"
 
 msgid "checking changesets\n"
-msgstr ""
+msgstr "檢查changeset中...\n"
+
+msgid "checking"
+msgstr "檢查中..."
 
 #, python-format
 msgid "unpacking changeset %s"
-msgstr ""
+msgstr "解包(unpacking)changeset %s"
 
 msgid "checking manifests\n"
-msgstr ""
+msgstr "檢查清單中...\n"
 
 #, python-format
 msgid "%s not in changesets"
-msgstr ""
+msgstr "%s 不在changesets裡"
 
 msgid "file without name in manifest"
 msgstr ""
 
 #, python-format
 msgid "reading manifest delta %s"
-msgstr ""
+msgstr "讀取manifest delta %s"
 
 msgid "crosschecking files in changesets and manifests\n"
-msgstr ""
+msgstr "在 changesets 和 manifests裡交叉檢查\n"
+
+msgid "crosschecking"
+msgstr "交叉檢查中"
 
 #, python-format
 msgid "changeset refers to unknown manifest %s"
-msgstr ""
+msgstr "changeset 參考到未知的清單 %s"
 
 msgid "in changeset but not in manifest"
-msgstr ""
+msgstr "在changeset 但不在清單裡"
 
 msgid "in manifest but not in changeset"
-msgstr ""
+msgstr "在清單裡但不在changeset"
 
 msgid "checking files\n"
-msgstr ""
+msgstr "檢查檔案中...\n"
 
 #, python-format
 msgid "cannot decode filename '%s'"
-msgstr ""
+msgstr "檔名 '%s' 不能被解碼"
 
 #, python-format
 msgid "broken revlog! (%s)"
 msgstr ""
 
 msgid "missing revlog!"
-msgstr ""
+msgstr "遺失 revlog!"
 
 #, python-format
 msgid "%s not in manifests"
-msgstr ""
+msgstr "%s 不在清單裡面"
 
 #, python-format
 msgid "unpacked size is %s, %s expected"
@@ -10823,11 +12834,11 @@
 
 #, python-format
 msgid "unpacking %s"
-msgstr ""
+msgstr "%s 拆包中(unpacking)"
 
 #, python-format
 msgid "warning: copy source of '%s' not in parents of %s"
-msgstr ""
+msgstr "警報: '%s'的複製來源不在 %s 的母系"
 
 #, python-format
 msgid "empty or missing copy source revlog %s:%s"
@@ -10839,31 +12850,81 @@
 
 #, python-format
 msgid "checking rename of %s"
-msgstr ""
+msgstr "正在檢查 %s 的更名"
 
 #, python-format
 msgid "%s in manifests not found"
-msgstr ""
+msgstr "%s 在清單找不到"
 
 #, python-format
 msgid "warning: orphan revlog '%s'"
-msgstr ""
+msgstr "警告: '%s' 是單獨的revlog"
 
 #, python-format
 msgid "%d files, %d changesets, %d total revisions\n"
-msgstr ""
+msgstr "%d個檔案,%d個changesets,%d個總修訂版\n"
 
 #, python-format
 msgid "%d warnings encountered!\n"
-msgstr ""
+msgstr "遇到了 %d 個警告\n"
 
 #, python-format
 msgid "%d integrity errors encountered!\n"
-msgstr ""
+msgstr "遇到了 %d 個完整性錯誤\n"
 
 #, python-format
 msgid "(first damaged changeset appears to be %d)\n"
-msgstr ""
+msgstr "(第一個危險的changeset 出現在%d)\n"
 
 msgid "user name not available - set USERNAME environment variable"
-msgstr ""
+msgstr "使用者名字(user name)不能用耶,設一下 USERNAME 吧"
+
+msgid "look up remote revision"
+msgstr "查看遠端修訂版"
+
+msgid "look up remote changes"
+msgstr "查看遠端changes"
+
+msgid "push failed:"
+msgstr "push 失敗:"
+
+msgid "push failed (unexpected response):"
+msgstr "push 失敗(意料之外的回應):"
+
+#~ msgid ""
+#~ "%s: files over 10MB may cause memory and performance problems\n"
+#~ "(use 'hg revert %s' to unadd the file)\n"
+#~ msgstr ""
+#~ "%s: 檔案超過10M可能產生記憶體跟效能問題\n"
+#~ "(使用 'hg revert %s'來取消新增)\n"
+
+#~ msgid "journal already exists - run hg recover"
+#~ msgstr "日誌已經存在 - 執行 hg recover"
+
+#~ msgid "abort: could not import module %s!\n"
+#~ msgstr "中止: 不能匯入 %s 模組!\n"
+
+#~ msgid "overwrite locally modified files (no backup)"
+#~ msgstr "蓋過去本地端修改檔案(沒有備份)"
+
+#~ msgid "export the repository via HTTP"
+#~ msgstr "將 repository 經由 HTTP 發佈"
+
+#, fuzzy
+#~ msgid "retry file merges from a merge or update"
+#~ msgstr "重試經由 merge 或 update 命令所造成、卻未完成的合併"
+
+#~ msgid "COMMANDS"
+#~ msgstr "命令"
+
+#~ msgid "certificate not valid before %s"
+#~ msgstr "在%s 之前憑證不是有效的"
+
+#~ msgid "unsynced changes"
+#~ msgstr "未同步的變更"
+
+#~ msgid " files"
+#~ msgstr "檔案"
+
+#~ msgid "    options:"
+#~ msgstr "\t選項:"