changeset 7924:6809f47603f6

i18n: rename zh.po to zh_CN.po This is the name used by at least Debian and RedHat for the Simplified Chinese translations. Furthermore, it is my understanding that a Simplified Chinese translation is a poor fallback for users in Taiwan, who need a Traditional Chinese translation instead.
author Martin Geisler <mg@daimi.au.dk>
date Tue, 31 Mar 2009 20:30:20 +0200
parents 016d6357646d
children c84df11bf721
files i18n/zh.po i18n/zh_CN.po
diffstat 2 files changed, 9258 insertions(+), 9258 deletions(-) [+]
line wrap: on
line diff
--- a/i18n/zh.po	Sun Mar 29 21:52:43 2009 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,9258 +0,0 @@
-#
-# Chinese (simplified) translation for Mercurial
-# This file is distributed under the same license as Mercurial
-#
-# Copyright (C) 2009 the Mercurial team
-# Dongsheng Song <dongsheng.song@gmail.com>, 2009
-#
-# $Id: zh.po 1217 2009-03-11 09:20:30Z dongsheng.song@gmail.com $
-#
-# Update with pot file:
-#    msgmerge --update zh.po hg.pot
-#    msgfmt --statistics -c zh.po
-#
-# Please test your translation before commit:
-#    python setup.py build_py -c -d . build_ext -i build_mo
-#    LC_ALL=zh_CN.UTF-8 ./hg
-#
-# Please format your translation before commit:
-#    msgcat --width=80 --sort-by-file -o zh_new.po zh.po
-#    mv -f zh_new.po zh.po
-#
-# Please remove '#: filename:line' lines before submit to hg:
-#    msgcat --width=80 --no-location -o zh_new.po zh.po
-#    mv -f zh_new.po zh.po
-#
-# Dictionary:
-# blame             追溯
-# branch            分支
-# changes           修改
-# changeset         修改集
-# checkout          检出
-# remove            移除(从版本库删除)
-# delete            删除(只从文件系统删除)
-# patchset          补丁集
-# pushing to        推到
-# pulling from      拉自
-# rename            改名
-# repository        版本库
-# revert            恢复
-# revision          版本
-# tag               标签
-# tip               顶点
-# undo              撤销
-# unversioned       未版本控制
-# versioned         受版本控制
-# working copy      工作副本
-# ...
-#
-msgid ""
-msgstr ""
-"Project-Id-Version: Mercurial 1.2\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2009-03-20 14:26+0800\n"
-"PO-Revision-Date: 2009-02-17 23:05+0800\n"
-"Last-Translator: Dongsheng Song <dongsheng.song@gmail.com>\n"
-"Language-Team: Chinese translation team <i18n-zh@googlegroups.com>\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"Generated-By: pygettext.py 1.5\n"
-"X-Poedit-Language: Chinese\n"
-"X-Poedit-Country: CHINA\n"
-
-#, python-format
-msgid " (default: %s)"
-msgstr " (默认: %s)"
-
-msgid "OPTIONS"
-msgstr "选项"
-
-msgid "COMMANDS"
-msgstr "命令"
-
-msgid "    options:\n"
-msgstr "    选项:\n"
-
-#, python-format
-msgid ""
-"    aliases: %s\n"
-"\n"
-msgstr ""
-"    别名: %s\n"
-"\n"
-
-msgid "return tuple of (match function, list enabled)."
-msgstr "返回 tuple (匹配函数,启用列表)"
-
-#, python-format
-msgid "acl: %s not enabled\n"
-msgstr "acl: 未启用 %s\n"
-
-#, python-format
-msgid "acl: %s enabled, %d entries for user %s\n"
-msgstr "acl: 已启用 %s, %d 项,用户 %s\n"
-
-#, python-format
-msgid "config error - hook type \"%s\" cannot stop incoming changesets"
-msgstr "配置错误 - 钩子类型 \"%s\" 不能终止进入的修改集"
-
-#, python-format
-msgid "acl: changes have source \"%s\" - skipping\n"
-msgstr "acl: 改变源 \"%s\" - 跳过\n"
-
-#, python-format
-msgid "acl: user %s denied on %s\n"
-msgstr "acl: 用户 %s 被拒绝访问 %s\n"
-
-#, python-format
-msgid "acl: access denied for changeset %s"
-msgstr "acl: 拒绝访问修改集 %s"
-
-#, python-format
-msgid "acl: user %s not allowed on %s\n"
-msgstr "acl: 用户 %s 被拒绝访问 %s\n"
-
-#, python-format
-msgid "acl: allowing changeset %s\n"
-msgstr "acl: 允许修改集 %s\n"
-
-msgid ""
-"allow user-defined command aliases\n"
-"\n"
-"To use, create entries in your hgrc of the form\n"
-"\n"
-"[alias]\n"
-"mycmd = cmd --args\n"
-msgstr ""
-"允许用户自定义命令的别名\n"
-"\n"
-"要使用别名,在你的 hgrc 中创建如下格式的条目:\n"
-"\n"
-"[alias]\n"
-"mycmd = cmd --args\n"
-
-msgid ""
-"defer command lookup until needed, so that extensions loaded\n"
-"    after alias can be aliased"
-msgstr "查找命令会推迟到需要时,所以可以在定义别名后加载模块"
-
-#, python-format
-msgid "*** [alias] %s: command %s is unknown"
-msgstr "*** [alias] %s: 未知命令 %s"
-
-#, python-format
-msgid "*** [alias] %s: command %s is ambiguous"
-msgstr "*** [alias] %s: 不明确的命令 %s"
-
-#, python-format
-msgid "*** [alias] %s: circular dependency on %s"
-msgstr "*** [alias] %s: 循环依赖于 %s"
-
-#, python-format
-msgid "*** [alias] %s: no definition\n"
-msgstr "*** [alias] %s: 无定义\n"
-
-msgid ""
-"mercurial bookmarks\n"
-"\n"
-"Mercurial bookmarks are local moveable pointers to changesets. Every\n"
-"bookmark points to a changeset identified by its hash. If you commit a\n"
-"changeset that is based on a changeset that has a bookmark on it, the\n"
-"bookmark is forwarded to the new changeset.\n"
-"\n"
-"It is possible to use bookmark names in every revision lookup (e.g. hg\n"
-"merge, hg update).\n"
-"\n"
-"The bookmark extension offers the possiblity to have a more git-like "
-"experience\n"
-"by adding the following configuration option to your .hgrc:\n"
-"\n"
-"[bookmarks]\n"
-"track.current = True\n"
-"\n"
-"This will cause bookmarks to track the bookmark that you are currently on, "
-"and\n"
-"just updates it. This is similar to git's approach of branching.\n"
-msgstr ""
-
-msgid ""
-"Parse .hg/bookmarks file and return a dictionary\n"
-"\n"
-"    Bookmarks are stored as {HASH}\\s{NAME}\\n (localtags format) values\n"
-"    in the .hg/bookmarks file. They are read by the parse() method and\n"
-"    returned as a dictionary with name => hash values.\n"
-"\n"
-"    The parsed dictionary is cached until a write() operation is done.\n"
-"    "
-msgstr ""
-
-msgid ""
-"Write bookmarks\n"
-"\n"
-"    Write the given bookmark => hash dictionary to the .hg/bookmarks file\n"
-"    in a format equal to those of localtags.\n"
-"\n"
-"    We also store a backup of the previous state in undo.bookmarks that\n"
-"    can be copied back on rollback.\n"
-"    "
-msgstr ""
-
-msgid ""
-"Get the current bookmark\n"
-"\n"
-"    If we use gittishsh branches we have a current bookmark that\n"
-"    we are on. This function returns the name of the bookmark. It\n"
-"    is stored in .hg/bookmarks.current\n"
-"    "
-msgstr ""
-
-msgid ""
-"Set the name of the bookmark that we are currently on\n"
-"\n"
-"    Set the name of the bookmark that we are on (hg update <bookmark>).\n"
-"    The name is recoreded in .hg/bookmarks.current\n"
-"    "
-msgstr ""
-
-msgid ""
-"mercurial bookmarks\n"
-"\n"
-"    Bookmarks are pointers to certain commits that move when\n"
-"    commiting. Bookmarks are local. They can be renamed, copied and\n"
-"    deleted. It is possible to use bookmark names in 'hg merge' and 'hg\n"
-"    update' to update to a given bookmark.\n"
-"\n"
-"    You can use 'hg bookmark NAME' to set a bookmark on the current\n"
-"    tip with the given name. If you specify a revision using -r REV\n"
-"    (where REV may be an existing bookmark), the bookmark is set to\n"
-"    that revision.\n"
-"    "
-msgstr ""
-
-msgid "a bookmark of this name does not exist"
-msgstr ""
-
-msgid "a bookmark of the same name already exists"
-msgstr ""
-
-msgid "new bookmark name required"
-msgstr ""
-
-msgid "bookmark name required"
-msgstr ""
-
-msgid "bookmark name cannot contain newlines"
-msgstr ""
-
-msgid "a bookmark cannot have the name of an existing branch"
-msgstr ""
-
-msgid ""
-"Strip bookmarks if revisions are stripped using\n"
-"    the mercurial.strip method. This usually happens during\n"
-"    qpush and qpop"
-msgstr ""
-
-msgid ""
-"Add a revision to the repository and\n"
-"            move the bookmark"
-msgstr ""
-
-msgid "Merge bookmarks with normal tags"
-msgstr ""
-
-msgid ""
-"Set the current bookmark\n"
-"\n"
-"    If the user updates to a bookmark we update the .hg/bookmarks.current\n"
-"    file.\n"
-"    "
-msgstr ""
-
-msgid "force"
-msgstr "强制"
-
-msgid "revision"
-msgstr "版本"
-
-msgid "delete a given bookmark"
-msgstr "删除指定书签"
-
-msgid "rename a given bookmark"
-msgstr "改名指定书签"
-
-msgid "hg bookmarks [-f] [-d] [-m NAME] [-r REV] [NAME]"
-msgstr ""
-
-msgid ""
-"Bugzilla integration\n"
-"\n"
-"This hook extension adds comments on bugs in Bugzilla when changesets\n"
-"that refer to bugs by Bugzilla ID are seen. The hook does not change bug\n"
-"status.\n"
-"\n"
-"The hook updates the Bugzilla database directly. Only Bugzilla installations\n"
-"using MySQL are supported.\n"
-"\n"
-"The hook relies on a Bugzilla script to send bug change notification emails.\n"
-"That script changes between Bugzilla versions; the 'processmail' script used\n"
-"prior to 2.18 is replaced in 2.18 and subsequent versions by\n"
-"'config/sendbugmail.pl'. Note that these will be run by Mercurial as the "
-"user\n"
-"pushing the change; you will need to ensure the Bugzilla install file\n"
-"permissions are set appropriately.\n"
-"\n"
-"Configuring the extension:\n"
-"\n"
-"    [bugzilla]\n"
-"    host       Hostname of the MySQL server holding the Bugzilla database.\n"
-"    db         Name of the Bugzilla database in MySQL. Default 'bugs'.\n"
-"    user       Username to use to access MySQL server. Default 'bugs'.\n"
-"    password   Password to use to access MySQL server.\n"
-"    timeout    Database connection timeout (seconds). Default 5.\n"
-"    version    Bugzilla version. Specify '3.0' for Bugzilla versions 3.0 and\n"
-"               later, '2.18' for Bugzilla versions from 2.18 and '2.16' for\n"
-"               versions prior to 2.18.\n"
-"    bzuser     Fallback Bugzilla user name to record comments with, if\n"
-"               changeset committer cannot be found as a Bugzilla user.\n"
-"    bzdir      Bugzilla install directory. Used by default notify.\n"
-"               Default '/var/www/html/bugzilla'.\n"
-"    notify     The command to run to get Bugzilla to send bug change\n"
-"               notification emails. Substitutes from a map with 3 keys,\n"
-"               'bzdir', 'id' (bug id) and 'user' (committer bugzilla email).\n"
-"               Default depends on version; from 2.18 it is\n"
-"               \"cd %(bzdir)s && perl -T contrib/sendbugmail.pl %(id)s %(user)"
-"s\".\n"
-"    regexp     Regular expression to match bug IDs in changeset commit "
-"message.\n"
-"               Must contain one \"()\" group. The default expression matches\n"
-"               'Bug 1234', 'Bug no. 1234', 'Bug number 1234',\n"
-"               'Bugs 1234,5678', 'Bug 1234 and 5678' and variations thereof.\n"
-"               Matching is case insensitive.\n"
-"    style      The style file to use when formatting comments.\n"
-"    template   Template to use when formatting comments. Overrides\n"
-"               style if specified. In addition to the usual Mercurial\n"
-"               keywords, the extension specifies:\n"
-"                   {bug}       The Bugzilla bug ID.\n"
-"                   {root}      The full pathname of the Mercurial "
-"repository.\n"
-"                   {webroot}   Stripped pathname of the Mercurial "
-"repository.\n"
-"                   {hgweb}     Base URL for browsing Mercurial repositories.\n"
-"               Default 'changeset {node|short} in repo {root} refers '\n"
-"                       'to bug {bug}.\\ndetails:\\n\\t{desc|tabindent}'\n"
-"    strip      The number of slashes to strip from the front of {root}\n"
-"               to produce {webroot}. Default 0.\n"
-"    usermap    Path of file containing Mercurial committer ID to Bugzilla "
-"user\n"
-"               ID mappings. If specified, the file should contain one "
-"mapping\n"
-"               per line, \"committer\"=\"Bugzilla user\". See also the\n"
-"               [usermap] section.\n"
-"\n"
-"    [usermap]\n"
-"    Any entries in this section specify mappings of Mercurial committer ID\n"
-"    to Bugzilla user ID. See also [bugzilla].usermap.\n"
-"    \"committer\"=\"Bugzilla user\"\n"
-"\n"
-"    [web]\n"
-"    baseurl    Base URL for browsing Mercurial repositories. Reference from\n"
-"               templates as {hgweb}.\n"
-"\n"
-"Activating the extension:\n"
-"\n"
-"    [extensions]\n"
-"    hgext.bugzilla =\n"
-"\n"
-"    [hooks]\n"
-"    # run bugzilla hook on every change pulled or pushed in here\n"
-"    incoming.bugzilla = python:hgext.bugzilla.hook\n"
-"\n"
-"Example configuration:\n"
-"\n"
-"This example configuration is for a collection of Mercurial repositories\n"
-"in /var/local/hg/repos/ used with a local Bugzilla 3.2 installation in\n"
-"/opt/bugzilla-3.2.\n"
-"\n"
-"    [bugzilla]\n"
-"    host=localhost\n"
-"    password=XYZZY\n"
-"    version=3.0\n"
-"    bzuser=unknown@domain.com\n"
-"    bzdir=/opt/bugzilla-3.2\n"
-"    template=Changeset {node|short} in {root|basename}.\\n{hgweb}/{webroot}/"
-"rev/{node|short}\\n\\n{desc}\\n\n"
-"    strip=5\n"
-"\n"
-"    [web]\n"
-"    baseurl=http://dev.domain.com/hg\n"
-"\n"
-"    [usermap]\n"
-"    user@emaildomain.com=user.name@bugzilladomain.com\n"
-"\n"
-"Commits add a comment to the Bugzilla bug record of the form:\n"
-"\n"
-"    Changeset 3b16791d6642 in repository-name.\n"
-"    http://dev.domain.com/hg/repository-name/rev/3b16791d6642\n"
-"\n"
-"    Changeset commit comment. Bug 1234.\n"
-msgstr ""
-
-msgid "support for bugzilla version 2.16."
-msgstr "支持 bugzilla 2.16。"
-
-#, python-format
-msgid "connecting to %s:%s as %s, password %s\n"
-msgstr "连接到 %s:%s as %s,密码 %s\n"
-
-msgid "run a query."
-msgstr "运行查询。"
-
-#, python-format
-msgid "query: %s %s\n"
-msgstr "查询: %s %s\n"
-
-#, python-format
-msgid "failed query: %s %s\n"
-msgstr "查询失败: %s %s\n"
-
-msgid "get identity of longdesc field"
-msgstr ""
-
-msgid "unknown database schema"
-msgstr "未知的数据库方案"
-
-msgid "filter not-existing bug ids from list."
-msgstr "从列表中过滤不存在的问题标识。"
-
-msgid "filter bug ids from list that already refer to this changeset."
-msgstr ""
-
-#, python-format
-msgid "bug %d already knows about changeset %s\n"
-msgstr ""
-
-msgid "tell bugzilla to send mail."
-msgstr ""
-
-msgid "telling bugzilla to send mail:\n"
-msgstr ""
-
-#, python-format
-msgid "  bug %s\n"
-msgstr ""
-
-#, python-format
-msgid "running notify command %s\n"
-msgstr ""
-
-#, python-format
-msgid "bugzilla notify command %s"
-msgstr ""
-
-msgid "done\n"
-msgstr "完成\n"
-
-msgid "look up numeric bugzilla user id."
-msgstr ""
-
-#, python-format
-msgid "looking up user %s\n"
-msgstr ""
-
-msgid "map name of committer to bugzilla user name."
-msgstr ""
-
-msgid ""
-"see if committer is a registered bugzilla user. Return\n"
-"        bugzilla username and userid if so. If not, return default\n"
-"        bugzilla username and userid."
-msgstr ""
-
-#, python-format
-msgid "cannot find bugzilla user id for %s"
-msgstr ""
-
-#, python-format
-msgid "cannot find bugzilla user id for %s or %s"
-msgstr ""
-
-msgid ""
-"add comment to bug. try adding comment as committer of\n"
-"        changeset, otherwise as default bugzilla user."
-msgstr ""
-
-msgid "support for bugzilla 2.18 series."
-msgstr ""
-
-msgid "support for bugzilla 3.0 series."
-msgstr ""
-
-msgid ""
-"return object that knows how to talk to bugzilla version in\n"
-"        use."
-msgstr ""
-
-#, python-format
-msgid "bugzilla version %s not supported"
-msgstr ""
-
-msgid ""
-"find valid bug ids that are referred to in changeset\n"
-"        comments and that do not already have references to this\n"
-"        changeset."
-msgstr ""
-
-msgid "update bugzilla bug with reference to changeset."
-msgstr ""
-
-msgid ""
-"strip leading prefix of repo root and turn into\n"
-"            url-safe path."
-msgstr ""
-
-msgid ""
-"changeset {node|short} in repo {root} refers to bug {bug}.\n"
-"details:\n"
-"\t{desc|tabindent}"
-msgstr ""
-
-msgid ""
-"add comment to bugzilla for each changeset that refers to a\n"
-"    bugzilla bug id. only add a comment once per bug, so same change\n"
-"    seen multiple times does not fill bug with duplicate data."
-msgstr ""
-
-#, python-format
-msgid "python mysql support not available: %s"
-msgstr ""
-
-#, python-format
-msgid "hook type %s does not pass a changeset id"
-msgstr ""
-
-#, python-format
-msgid "database error: %s"
-msgstr ""
-
-msgid ""
-"show the children of the given or working dir revision\n"
-"\n"
-"    Print the children of the working directory's revisions.\n"
-"    If a revision is given via --rev, the children of that revision\n"
-"    will be printed. If a file argument is given, revision in\n"
-"    which the file was last changed (after the working directory\n"
-"    revision or the argument to --rev if given) is printed.\n"
-"    "
-msgstr ""
-
-msgid "show children of the specified rev"
-msgstr ""
-
-msgid "hg children [-r REV] [FILE]"
-msgstr ""
-
-msgid "command to show certain statistics about revision history"
-msgstr ""
-
-msgid "Calculate stats"
-msgstr ""
-
-#, python-format
-msgid "Revision %d is a merge, ignoring...\n"
-msgstr ""
-
-#, python-format
-msgid "\rgenerating stats: %d%%"
-msgstr ""
-
-msgid ""
-"graph count of revisions grouped by template\n"
-"\n"
-"    Will graph count of changed lines or revisions grouped by template or\n"
-"    alternatively by date, if dateformat is used. In this case it will "
-"override\n"
-"    template.\n"
-"\n"
-"    By default statistics are counted for number of changed lines.\n"
-"\n"
-"    Examples:\n"
-"\n"
-"      # display count of changed lines for every committer\n"
-"      hg churn -t '{author|email}'\n"
-"\n"
-"      # display daily activity graph\n"
-"      hg churn -f '%H' -s -c\n"
-"\n"
-"      # display activity of developers by month\n"
-"      hg churn -f '%Y-%m' -s -c\n"
-"\n"
-"      # display count of lines changed in every year\n"
-"      hg churn -f '%Y' -s\n"
-"\n"
-"    The map file format used to specify aliases is fairly simple:\n"
-"\n"
-"    <alias email> <actual email>"
-msgstr ""
-
-#, python-format
-msgid "assuming %i character terminal\n"
-msgstr ""
-
-msgid "count rate for the specified revision or range"
-msgstr ""
-
-msgid "count rate for revs matching date spec"
-msgstr ""
-
-msgid "template to group changesets"
-msgstr ""
-
-msgid "strftime-compatible format for grouping by date"
-msgstr ""
-
-msgid "count rate by number of changesets"
-msgstr ""
-
-msgid "sort by key (default: sort by count)"
-msgstr ""
-
-msgid "file with email aliases"
-msgstr ""
-
-msgid "show progress"
-msgstr ""
-
-msgid "hg churn [-d DATE] [-r REV] [--aliases FILE] [--progress] [FILE]"
-msgstr ""
-
-msgid ""
-"add color output to status, qseries, and diff-related commands\n"
-"\n"
-"This extension modifies the status command to add color to its output to\n"
-"reflect file status, the qseries command to add color to reflect patch "
-"status\n"
-"(applied, unapplied, missing), and to diff-related commands to highlight\n"
-"additions, removals, diff headers, and trailing whitespace.\n"
-"\n"
-"Other effects in addition to color, like bold and underlined text, are also\n"
-"available.  Effects are rendered with the ECMA-48 SGR control function (aka\n"
-"ANSI escape codes).  This module also provides the render_text function,\n"
-"which can be used to add effects to any text.\n"
-"\n"
-"To enable this extension, add this to your .hgrc file:\n"
-"[extensions]\n"
-"color =\n"
-"\n"
-"Default effects my be overriden from the .hgrc file:\n"
-"\n"
-"[color]\n"
-"status.modified = blue bold underline red_background\n"
-"status.added = green bold\n"
-"status.removed = red bold blue_background\n"
-"status.deleted = cyan bold underline\n"
-"status.unknown = magenta bold underline\n"
-"status.ignored = black bold\n"
-"\n"
-"# 'none' turns off all effects\n"
-"status.clean = none\n"
-"status.copied = none\n"
-"\n"
-"qseries.applied = blue bold underline\n"
-"qseries.unapplied = black bold\n"
-"qseries.missing = red bold\n"
-"\n"
-"diff.diffline = bold\n"
-"diff.extended = cyan bold\n"
-"diff.file_a = red bold\n"
-"diff.file_b = green bold\n"
-"diff.hunk = magenta\n"
-"diff.deleted = red\n"
-"diff.inserted = green\n"
-"diff.changed = white\n"
-"diff.trailingwhitespace = bold red_background\n"
-msgstr ""
-
-msgid "Wrap text in commands to turn on each effect."
-msgstr ""
-
-msgid "run the status command with colored output"
-msgstr ""
-
-msgid "run the qseries command with colored output"
-msgstr ""
-
-msgid "wrap ui.write for colored diff output"
-msgstr ""
-
-msgid "wrap cmdutil.changeset_printer.showpatch with colored output"
-msgstr ""
-
-msgid "run the diff command with colored output"
-msgstr ""
-
-msgid "Initialize the extension."
-msgstr ""
-
-msgid "patch in command to command table and load effect map"
-msgstr ""
-
-msgid "when to colorize (always, auto, or never)"
-msgstr ""
-
-msgid "don't colorize output"
-msgstr ""
-
-msgid "converting foreign VCS repositories to Mercurial"
-msgstr ""
-
-msgid ""
-"convert a foreign SCM repository to a Mercurial one.\n"
-"\n"
-"    Accepted source formats [identifiers]:\n"
-"    - Mercurial [hg]\n"
-"    - CVS [cvs]\n"
-"    - Darcs [darcs]\n"
-"    - git [git]\n"
-"    - Subversion [svn]\n"
-"    - Monotone [mtn]\n"
-"    - GNU Arch [gnuarch]\n"
-"    - Bazaar [bzr]\n"
-"    - Perforce [p4]\n"
-"\n"
-"    Accepted destination formats [identifiers]:\n"
-"    - Mercurial [hg]\n"
-"    - Subversion [svn] (history on branches is not preserved)\n"
-"\n"
-"    If no revision is given, all revisions will be converted. Otherwise,\n"
-"    convert will only import up to the named revision (given in a format\n"
-"    understood by the source).\n"
-"\n"
-"    If no destination directory name is specified, it defaults to the\n"
-"    basename of the source with '-hg' appended.  If the destination\n"
-"    repository doesn't exist, it will be created.\n"
-"\n"
-"    If <REVMAP> isn't given, it will be put in a default location\n"
-"    (<dest>/.hg/shamap by default).  The <REVMAP> is a simple text\n"
-"    file that maps each source commit ID to the destination ID for\n"
-"    that revision, like so:\n"
-"    <source ID> <destination ID>\n"
-"\n"
-"    If the file doesn't exist, it's automatically created.  It's updated\n"
-"    on each commit copied, so convert-repo can be interrupted and can\n"
-"    be run repeatedly to copy new commits.\n"
-"\n"
-"    The [username mapping] file is a simple text file that maps each source\n"
-"    commit 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 author\n"
-"    mapping and the line format is:\n"
-"    srcauthor=whatever string you want\n"
-"\n"
-"    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:\n"
-"\n"
-"      include path/to/file\n"
-"\n"
-"      exclude path/to/file\n"
-"\n"
-"      rename from/file to/file\n"
-"\n"
-"    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 dirs not explicitely included.\n"
-"    The 'exclude' directive causes files or directories to be omitted.\n"
-"    The 'rename' directive renames a file or directory.  To rename from a\n"
-"    subdirectory into the root of the repository, use '.' as the path to\n"
-"    rename to.\n"
-"\n"
-"    The splicemap is a file that allows insertion of synthetic\n"
-"    history, letting you specify the parents of a revision.  This is\n"
-"    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"
-"    values, separated by spaces.  The key is the revision ID in the\n"
-"    source revision control system whose parents should be modified\n"
-"    (same format as a key in .hg/shamap).  The values are the revision\n"
-"    IDs (in either the source or destination revision control system)\n"
-"    that should be used as the new parents for that node.\n"
-"\n"
-"    Mercurial Source\n"
-"    -----------------\n"
-"\n"
-"    --config convert.hg.ignoreerrors=False (boolean)\n"
-"        ignore integrity errors when reading. Use it to fix Mercurial\n"
-"        repositories with missing revlogs, by converting from and to\n"
-"        Mercurial.\n"
-"    --config convert.hg.saverev=False          (boolean)\n"
-"        store original revision ID in changeset (forces target IDs to "
-"change)\n"
-"    --config convert.hg.startrev=0            (hg revision identifier)\n"
-"        convert start revision and its descendants\n"
-"\n"
-"    CVS Source\n"
-"    ----------\n"
-"\n"
-"    CVS source will use a sandbox (i.e. a checked-out copy) from CVS\n"
-"    to indicate the starting point of what will be converted. Direct\n"
-"    access to the repository files is not needed, unless of course\n"
-"    the repository is :local:. The conversion uses the top level\n"
-"    directory in the sandbox to find the CVS repository, and then uses\n"
-"    CVS rlog commands to find files to convert. This means that unless\n"
-"    a filemap is given, all files under the starting directory will be\n"
-"    converted, and that any directory reorganisation in the CVS\n"
-"    sandbox is ignored.\n"
-"\n"
-"    Because CVS does not have changesets, it is necessary to collect\n"
-"    individual commits to CVS and merge them into changesets. CVS\n"
-"    source uses its internal changeset merging code by default but can\n"
-"    be configured to call the external 'cvsps' program by setting:\n"
-"        --config convert.cvsps='cvsps -A -u --cvs-direct -q'\n"
-"    This is a legacy option and may be removed in future.\n"
-"\n"
-"    The options shown are the defaults.\n"
-"\n"
-"    Internal cvsps is selected by setting\n"
-"        --config convert.cvsps=builtin\n"
-"    and has a few more configurable options:\n"
-"        --config convert.cvsps.fuzz=60   (integer)\n"
-"            Specify the maximum time (in seconds) that is allowed between\n"
-"            commits with identical user and log message in a single\n"
-"            changeset. When very large files were checked in as part\n"
-"            of a changeset then the default may not be long enough.\n"
-"        --config convert.cvsps.mergeto='{{mergetobranch ([-\\w]+)}}'\n"
-"            Specify a regular expression to which commit log messages are\n"
-"            matched. If a match occurs, then the conversion process will\n"
-"            insert a dummy revision merging the branch on which this log\n"
-"            message occurs to the branch indicated in the regex.\n"
-"        --config convert.cvsps.mergefrom='{{mergefrombranch ([-\\w]+)}}'\n"
-"            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.\n"
-"\n"
-"    The hgext/convert/cvsps wrapper script allows the builtin changeset\n"
-"    merging code to be run without doing a conversion. Its parameters and\n"
-"    output are similar to that of cvsps 2.1.\n"
-"\n"
-"    Subversion Source\n"
-"    -----------------\n"
-"\n"
-"    Subversion source detects classical trunk/branches/tags layouts.\n"
-"    By default, the supplied \"svn://repo/path/\" source URL is\n"
-"    converted as a single branch. If \"svn://repo/path/trunk\" exists\n"
-"    it replaces the default branch. If \"svn://repo/path/branches\"\n"
-"    exists, its subdirectories are listed as possible branches. If\n"
-"    \"svn://repo/path/tags\" exists, it is looked for tags referencing\n"
-"    converted branches. Default \"trunk\", \"branches\" and \"tags\" values\n"
-"    can be overriden with following options. Set them to paths\n"
-"    relative to the source URL, or leave them blank to disable\n"
-"    autodetection.\n"
-"\n"
-"    --config convert.svn.branches=branches    (directory name)\n"
-"        specify the directory containing branches\n"
-"    --config convert.svn.tags=tags            (directory name)\n"
-"        specify the directory containing tags\n"
-"    --config convert.svn.trunk=trunk          (directory name)\n"
-"        specify the name of the trunk branch\n"
-"\n"
-"    Source history can be retrieved starting at a specific revision,\n"
-"    instead of being integrally converted. Only single branch\n"
-"    conversions are supported.\n"
-"\n"
-"    --config convert.svn.startrev=0           (svn revision number)\n"
-"        specify start Subversion revision.\n"
-"\n"
-"    Perforce Source\n"
-"    ---------------\n"
-"\n"
-"    The Perforce (P4) importer can be given a p4 depot path or a client\n"
-"    specification as source. It will convert all files in the source to\n"
-"    a flat Mercurial repository, ignoring labels, branches and integrations.\n"
-"    Note that when a depot path is given you then usually should specify a\n"
-"    target directory, because otherwise the target may be named ...-hg.\n"
-"\n"
-"    It is possible to limit the amount of source history to be converted\n"
-"    by specifying an initial Perforce revision.\n"
-"\n"
-"    --config convert.p4.startrev=0           (perforce changelist number)\n"
-"        specify initial Perforce revision.\n"
-"\n"
-"\n"
-"    Mercurial Destination\n"
-"    ---------------------\n"
-"\n"
-"    --config convert.hg.clonebranches=False   (boolean)\n"
-"        dispatch source branches in separate clones.\n"
-"    --config convert.hg.tagsbranch=default    (branch name)\n"
-"        tag revisions branch name\n"
-"    --config convert.hg.usebranchnames=True   (boolean)\n"
-"        preserve branch names\n"
-"\n"
-"    "
-msgstr ""
-
-msgid ""
-"create changeset information from CVS\n"
-"\n"
-"    This command is intended as a debugging tool for the CVS to Mercurial\n"
-"    converter, and can be used as a direct replacement for cvsps.\n"
-"\n"
-"    Hg debugcvsps reads the CVS rlog for current directory (or any named\n"
-"    directory) in the CVS repository, and converts the log to a series of\n"
-"    changesets based on matching commit log entries and dates."
-msgstr ""
-
-msgid "username mapping filename"
-msgstr ""
-
-msgid "destination repository type"
-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 ""
-
-msgid "try to sort changesets by date"
-msgstr ""
-
-msgid "hg convert [OPTION]... SOURCE [DEST [REVMAP]]"
-msgstr ""
-
-msgid "only return changes on specified branches"
-msgstr ""
-
-msgid "prefix to remove from file names"
-msgstr ""
-
-msgid "only return changes after or between specified tags"
-msgstr ""
-
-msgid "update cvs log cache"
-msgstr ""
-
-msgid "create new cvs log cache"
-msgstr ""
-
-msgid "set commit time fuzz in seconds"
-msgstr ""
-
-msgid "specify cvsroot"
-msgstr ""
-
-msgid "show parent changesets"
-msgstr ""
-
-msgid "show current changeset in ancestor branches"
-msgstr ""
-
-msgid "ignored for compatibility"
-msgstr ""
-
-msgid "hg debugcvsps [OPTION]... [PATH]..."
-msgstr ""
-
-#, python-format
-msgid "%s is not a valid revision in current branch"
-msgstr ""
-
-#, python-format
-msgid "%s is not available in %s anymore"
-msgstr ""
-
-#, python-format
-msgid "cannot find required \"%s\" tool"
-msgstr ""
-
-#, python-format
-msgid "running: %s\n"
-msgstr ""
-
-#, python-format
-msgid "%s error:\n"
-msgstr ""
-
-#, python-format
-msgid "%s %s"
-msgstr ""
-
-#, python-format
-msgid "could not open map file %r: %s"
-msgstr ""
-
-#, python-format
-msgid "%s: missing or unsupported repository"
-msgstr ""
-
-#, python-format
-msgid "convert: %s\n"
-msgstr ""
-
-#, python-format
-msgid "%s: unknown repository type"
-msgstr ""
-
-#, python-format
-msgid "cycle detected between %s and %s"
-msgstr ""
-
-msgid "not all revisions were sorted"
-msgstr ""
-
-#, python-format
-msgid "Writing author map file %s\n"
-msgstr ""
-
-#, python-format
-msgid "Overriding mapping for author %s, was %s, will be %s\n"
-msgstr ""
-
-#, python-format
-msgid "mapping author %s to %s\n"
-msgstr ""
-
-#, python-format
-msgid "Ignoring bad line in author map file %s: %s\n"
-msgstr ""
-
-#, python-format
-msgid "spliced in %s as parents of %s\n"
-msgstr ""
-
-msgid "scanning source...\n"
-msgstr ""
-
-msgid "sorting...\n"
-msgstr ""
-
-msgid "converting...\n"
-msgstr ""
-
-#, python-format
-msgid "source: %s\n"
-msgstr ""
-
-#, python-format
-msgid "assuming destination %s\n"
-msgstr ""
-
-#, python-format
-msgid "revision %s is not a patchset number or date"
-msgstr ""
-
-msgid "using builtin cvsps\n"
-msgstr ""
-
-#, python-format
-msgid "connecting to %s\n"
-msgstr ""
-
-msgid "CVS pserver authentication failed"
-msgstr ""
-
-msgid "server sucks"
-msgstr ""
-
-#, python-format
-msgid "%d bytes missing from remote file"
-msgstr ""
-
-#, python-format
-msgid "cvs server: %s\n"
-msgstr ""
-
-#, python-format
-msgid "unknown CVS response: %s"
-msgstr ""
-
-msgid "collecting CVS rlog\n"
-msgstr ""
-
-#, python-format
-msgid "reading cvs log cache %s\n"
-msgstr ""
-
-#, python-format
-msgid "cache has %d log entries\n"
-msgstr ""
-
-#, python-format
-msgid "error reading cache: %r\n"
-msgstr ""
-
-#, python-format
-msgid "running %s\n"
-msgstr ""
-
-#, python-format
-msgid "prefix=%r directory=%r root=%r\n"
-msgstr ""
-
-msgid "RCS file must be followed by working file"
-msgstr ""
-
-msgid "must have at least some revisions"
-msgstr ""
-
-msgid "expected revision number"
-msgstr ""
-
-msgid "revision must be followed by date line"
-msgstr ""
-
-#, python-format
-msgid "writing cvs log cache %s\n"
-msgstr ""
-
-#, python-format
-msgid "%d log entries\n"
-msgstr ""
-
-msgid "creating changesets\n"
-msgstr ""
-
-#, python-format
-msgid "%d changeset entries\n"
-msgstr ""
-
-msgid "Python ElementTree module is not available"
-msgstr ""
-
-#, python-format
-msgid "cleaning up %s\n"
-msgstr ""
-
-msgid "internal calling inconsistency"
-msgstr ""
-
-msgid "errors in filemap"
-msgstr ""
-
-#, python-format
-msgid "%s:%d: %r already in %s list\n"
-msgstr ""
-
-#, python-format
-msgid "%s:%d: unknown directive %r\n"
-msgstr ""
-
-msgid "source repository doesn't support --filemap"
-msgstr ""
-
-#, python-format
-msgid "%s does not look like a GNU Arch repo"
-msgstr ""
-
-msgid "cannot find a GNU Arch tool"
-msgstr ""
-
-#, python-format
-msgid "analyzing tree version %s...\n"
-msgstr ""
-
-#, python-format
-msgid ""
-"tree analysis stopped because it points to an unregistered archive %s...\n"
-msgstr ""
-
-#, python-format
-msgid "applying revision %s...\n"
-msgstr ""
-
-#, python-format
-msgid "computing changeset between %s and %s...\n"
-msgstr ""
-
-#, python-format
-msgid "obtaining revision %s...\n"
-msgstr ""
-
-#, python-format
-msgid "analysing revision %s...\n"
-msgstr ""
-
-#, python-format
-msgid "could not parse cat-log of %s"
-msgstr ""
-
-#, python-format
-msgid "%s is not a local Mercurial repo"
-msgstr "%s 不是本地的水银版本库"
-
-#, python-format
-msgid "initializing destination %s repository\n"
-msgstr "初始化目标版本库 %s\n"
-
-msgid "run hg sink pre-conversion action\n"
-msgstr "执行动作 hg sink pre-conversion\n"
-
-msgid "run hg sink post-conversion action\n"
-msgstr "执行动作 hg sink post-conversion action\n"
-
-#, python-format
-msgid "pulling from %s into %s\n"
-msgstr "自 %s 拉到 %s\n"
-
-msgid "updating tags\n"
-msgstr "正在更新标签\n"
-
-#, python-format
-msgid "%s is not a valid start revision"
-msgstr "%s 不是有效的开始版本"
-
-#, python-format
-msgid "ignoring: %s\n"
-msgstr "忽略: %s\n"
-
-msgid "run hg source pre-conversion action\n"
-msgstr "执行动作 hg source pre-conversion\n"
-
-msgid "run hg source post-conversion action\n"
-msgstr "执行动作 hg source post-conversion\n"
-
-#, python-format
-msgid "%s does not look like a monotone repo"
-msgstr "%s 不像是单纯的 monotone 版本库"
-
-#, python-format
-msgid "copying file in renamed dir from '%s' to '%s'"
-msgstr "从已改名的目录 '%s' 复制文件到 '%s'"
-
-msgid "reading p4 views\n"
-msgstr ""
-
-msgid "collecting p4 changelists\n"
-msgstr "正在搜索 p4 修改集\n"
-
-msgid "Subversion python bindings could not be loaded"
-msgstr "不能加载 svn 的 python 绑定"
-
-#, python-format
-msgid "Subversion python bindings %d.%d found, 1.4 or later required"
-msgstr "发现 svn 的 python 绑定版本 %d.%d,需要 1.4 或更新的版本"
-
-msgid "Subversion python bindings are too old, 1.4 or later required"
-msgstr "svn 的 python 绑定太旧,需要 1.4 或更新的版本"
-
-#, python-format
-msgid "svn: revision %s is not an integer"
-msgstr "svn: 版本 %s 不是整数"
-
-#, python-format
-msgid "svn: start revision %s is not an integer"
-msgstr "svn: 开始版本 %s 不是整数"
-
-#, python-format
-msgid "no revision found in module %s"
-msgstr "没有在模块 %s 中发现版本"
-
-#, python-format
-msgid "expected %s to be at %r, but not found"
-msgstr "期望 %s 位于 %r,但是没有发现"
-
-#, python-format
-msgid "found %s at %r\n"
-msgstr "发现 %s 位于 %r\n"
-
-#, python-format
-msgid "ignoring empty branch %s\n"
-msgstr "忽略空的分支 %s\n"
-
-#, python-format
-msgid "found branch %s at %d\n"
-msgstr "发现分支 %s 位于 %d\n"
-
-msgid "svn: start revision is not supported with with more than one branch"
-msgstr "svn: 在给出多于一个分支时不支持开始版本"
-
-#, python-format
-msgid "svn: no revision found after start revision %d"
-msgstr "svn: 在开始版本 %d 之后没有版本"
-
-#, python-format
-msgid "no tags found at revision %d\n"
-msgstr "在版本 %d 没有发现标签\n"
-
-#, python-format
-msgid "ignoring foreign branch %r\n"
-msgstr "忽略外部分支 %r\n"
-
-#, python-format
-msgid "%s not found up to revision %d"
-msgstr "没有发现 %s,一直到版本 %d"
-
-#, python-format
-msgid "branch renamed from %s to %s at %d\n"
-msgstr "分支从 %s 改名为 %s,在 %d\n"
-
-#, python-format
-msgid "reparent to %s\n"
-msgstr ""
-
-#, python-format
-msgid "copied to %s from %s@%s\n"
-msgstr "复制到 %s,自 %s@%s\n"
-
-#, python-format
-msgid "gone from %s\n"
-msgstr "离开 %s\n"
-
-#, python-format
-msgid "found parent directory %s\n"
-msgstr "发现父目录 %s\n"
-
-#, python-format
-msgid "base, entry %s %s\n"
-msgstr "基本,入口 %s %s\n"
-
-msgid "munge-o-matic\n"
-msgstr ""
-
-#, python-format
-msgid "info: %s %s %s %s\n"
-msgstr "信息: %s %s %s %s\n"
-
-#, python-format
-msgid "unknown path in revision %d: %s\n"
-msgstr "版本 %d 有未知路径: %s\n"
-
-#, python-format
-msgid "mark %s came from %s:%d\n"
-msgstr "标记 %s 来自 %s:%d\n"
-
-#, python-format
-msgid "parsing revision %d (%d changes)\n"
-msgstr "解析版本 %d (%d 个改变)\n"
-
-#, python-format
-msgid "found parent of branch %s at %d: %s\n"
-msgstr "发现分支 %s 的父亲,在 %d: %s\n"
-
-msgid "no copyfrom path, don't know what to do.\n"
-msgstr "没有 copyfrom 路径,不知道该怎么办。\n"
-
-#, python-format
-msgid "fetching revision log for \"%s\" from %d to %d\n"
-msgstr "为 \"%s\" 获取版本日志,自 %d 到 %d\n"
-
-#, python-format
-msgid "skipping blacklisted revision %d\n"
-msgstr "忽略黑名单版本 %d\n"
-
-#, python-format
-msgid "revision %d has no entries\n"
-msgstr "版本 %d 没有入口\n"
-
-#, python-format
-msgid "svn: branch has no revision %s"
-msgstr "svn: 分支没有版本 %s"
-
-#, python-format
-msgid "%r is not under %r, ignoring\n"
-msgstr "%r 不在 %r 之下,忽略之\n"
-
-#, python-format
-msgid "initializing svn repo %r\n"
-msgstr "初始化 svn 版本库 %r\n"
-
-#, python-format
-msgid "initializing svn wc %r\n"
-msgstr "初始化 svn 工作副本 %r\n"
-
-msgid "unexpected svn output:\n"
-msgstr "意外的 svn 输出:\n"
-
-msgid "unable to cope with svn output"
-msgstr "不能处理 svn 的输出"
-
-msgid "XXX TAGS NOT IMPLEMENTED YET\n"
-msgstr ""
-
-msgid ""
-"\n"
-"The `extdiff' Mercurial extension allows you to use external programs\n"
-"to compare revisions, or revision with working dir.  The external diff\n"
-"programs are called with a configurable set of options and two\n"
-"non-option arguments: paths to directories containing snapshots of\n"
-"files to compare.\n"
-"\n"
-"To enable this extension:\n"
-"\n"
-"  [extensions]\n"
-"  hgext.extdiff =\n"
-"\n"
-"The `extdiff' extension also allows to configure new diff commands, so\n"
-"you do not need to type \"hg extdiff -p kdiff3\" always.\n"
-"\n"
-"  [extdiff]\n"
-"  # add new command that runs GNU diff(1) in 'context diff' mode\n"
-"  cdiff = gdiff -Nprc5\n"
-"  ## or the old way:\n"
-"  #cmd.cdiff = gdiff\n"
-"  #opts.cdiff = -Nprc5\n"
-"\n"
-"  # add new command called vdiff, runs kdiff3\n"
-"  vdiff = kdiff3\n"
-"\n"
-"  # add new command called meld, runs meld (no need to name twice)\n"
-"  meld =\n"
-"\n"
-"  # add new command called vimdiff, runs gvimdiff with DirDiff plugin\n"
-"  #(see http://www.vim.org/scripts/script.php?script_id=102)\n"
-"  # Non english user, be sure to put \"let g:DirDiffDynamicDiffText = 1\" in\n"
-"  # your .vimrc\n"
-"  vimdiff = gvim -f '+next' '+execute \"DirDiff\" argv(0) argv(1)'\n"
-"\n"
-"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 ""
-
-msgid "snapshot files as of some revision"
-msgstr ""
-
-#, python-format
-msgid "making snapshot of %d files from rev %s\n"
-msgstr ""
-
-msgid ""
-"snapshot files from working directory.\n"
-"    if not using snapshot, -I/-X does not work and recursive diff\n"
-"    in tools like kdiff3 and meld displays too many files."
-msgstr ""
-
-#, python-format
-msgid "making snapshot of %d files from working dir\n"
-msgstr ""
-
-msgid ""
-"Do the actuall diff:\n"
-"\n"
-"    - copy to a temp structure if diffing 2 internal revisions\n"
-"    - copy to a temp structure if diffing working revision with\n"
-"      another one and more than 1 file is changed\n"
-"    - just invoke the diff for a single file in the working dir\n"
-"    "
-msgstr ""
-
-msgid "cannot specify --rev and --change at the same time"
-msgstr "不能同时指定 '--rev' 和 '--change'"
-
-#, python-format
-msgid "running %r in %s\n"
-msgstr ""
-
-#, python-format
-msgid "file changed while diffing. Overwriting: %s (src: %s)\n"
-msgstr ""
-
-msgid "cleaning up temp directory\n"
-msgstr ""
-
-msgid ""
-"use external program to diff repository (or selected files)\n"
-"\n"
-"    Show differences between revisions for the specified files, using\n"
-"    an external program.  The default program used is diff, with\n"
-"    default options \"-Npru\".\n"
-"\n"
-"    To select a different program, use the -p option.  The program\n"
-"    will be passed the names of two directories to compare.  To pass\n"
-"    additional options to the program, use the -o option.  These will\n"
-"    be passed before the names of the directories to compare.\n"
-"\n"
-"    When two revision arguments are given, then changes are\n"
-"    shown between those revisions. If only one revision is\n"
-"    specified then that revision is compared to the working\n"
-"    directory, and, when no revisions are specified, the\n"
-"    working directory files are compared to its parent."
-msgstr ""
-
-msgid "comparison program to run"
-msgstr ""
-
-msgid "pass option to comparison program"
-msgstr ""
-
-msgid "change made by revision"
-msgstr "此版本的修改"
-
-msgid "hg extdiff [OPT]... [FILE]..."
-msgstr ""
-
-msgid "use closure to save diff command to use"
-msgstr ""
-
-#, python-format
-msgid "hg %s [OPTION]... [FILE]..."
-msgstr ""
-
-msgid "pulling, updating and merging in one command"
-msgstr ""
-
-msgid ""
-"pull changes from a remote repository, merge new changes if needed.\n"
-"\n"
-"    This finds all changes from the repository at the specified path\n"
-"    or URL and adds them to the local repository.\n"
-"\n"
-"    If the pulled changes add a new branch head, the head is automatically\n"
-"    merged, and the result of the merge is committed.  Otherwise, the\n"
-"    working directory is updated to include the new changes.\n"
-"\n"
-"    When a merge occurs, the newly pulled changes are assumed to be\n"
-"    \"authoritative\".  The head of the new changes is used as the first\n"
-"    parent, with local changes as the second.  To switch the merge\n"
-"    order, use --switch-parent.\n"
-"\n"
-"    See 'hg help dates' for a list of formats valid for -d/--date.\n"
-"    "
-msgstr ""
-
-msgid ""
-"working dir not at branch tip (use \"hg update\" to check out branch tip)"
-msgstr ""
-
-msgid "outstanding uncommitted merge"
-msgstr ""
-
-msgid "outstanding uncommitted changes"
-msgstr ""
-
-msgid "working directory is missing some files"
-msgstr ""
-
-msgid ""
-"multiple heads in this branch (use \"hg heads .\" and \"hg merge\" to merge)"
-msgstr ""
-
-#, python-format
-msgid "pulling from %s\n"
-msgstr "正在拉自 %s\n"
-
-msgid "fetch -r doesn't work for remote repositories yet"
-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 ""
-
-#, python-format
-msgid "merging with %d:%s\n"
-msgstr ""
-
-#, python-format
-msgid "Automated merge with %s"
-msgstr ""
-
-#, python-format
-msgid "new changeset %d:%s merges remote changes with local\n"
-msgstr "新修改集 '%d:%s' 将远程修改与本地合并\n"
-
-msgid "a specific revision you would like to pull"
-msgstr "指定取得的版本"
-
-msgid "edit commit message"
-msgstr "编辑提交日志"
-
-msgid "edit commit message (DEPRECATED)"
-msgstr "编辑提交日志(不赞成)"
-
-msgid "switch parents when merging"
-msgstr "当合并时切换父亲"
-
-msgid "hg fetch [SOURCE]"
-msgstr ""
-
-msgid " returns of the good and bad signatures"
-msgstr ""
-
-msgid "error while verifying signature"
-msgstr ""
-
-msgid "create a new gpg instance"
-msgstr ""
-
-msgid ""
-"\n"
-"    walk over every sigs, yields a couple\n"
-"    ((node, version, sig), (filename, linenumber))\n"
-"    "
-msgstr ""
-
-msgid "get the keys who signed a data"
-msgstr ""
-
-#, python-format
-msgid "%s Bad signature from \"%s\"\n"
-msgstr ""
-
-#, python-format
-msgid "%s Note: Signature has expired (signed by: \"%s\")\n"
-msgstr ""
-
-#, python-format
-msgid "%s Note: This key has expired (signed by: \"%s\")\n"
-msgstr ""
-
-msgid "list signed changesets"
-msgstr ""
-
-#, python-format
-msgid "%s:%d node does not exist\n"
-msgstr ""
-
-msgid "verify all the signatures there may be for a particular revision"
-msgstr ""
-
-#, python-format
-msgid "No valid signature for %s\n"
-msgstr ""
-
-msgid "associate a string to a key (username, comment)"
-msgstr ""
-
-msgid ""
-"add a signature for the current or given revision\n"
-"\n"
-"    If no revision is given, the parent of the working directory is used,\n"
-"    or tip if no revision is checked out.\n"
-"\n"
-"    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)"
-msgstr ""
-
-#, python-format
-msgid "Added signature for changeset %s"
-msgstr ""
-
-msgid "map a manifest into some text"
-msgstr ""
-
-msgid "unknown signature version"
-msgstr ""
-
-msgid "make the signature local"
-msgstr ""
-
-msgid "sign even if the sigfile is modified"
-msgstr ""
-
-msgid "do not commit the sigfile after signing"
-msgstr ""
-
-msgid "the key id to sign with"
-msgstr ""
-
-msgid "commit message"
-msgstr ""
-
-msgid "hg sign [OPTION]... [REVISION]..."
-msgstr ""
-
-msgid "hg sigcheck REVISION"
-msgstr ""
-
-msgid "hg sigs"
-msgstr ""
-
-msgid ""
-"show revision graphs in terminal windows\n"
-"\n"
-"This extension adds a --graph option to the incoming, outgoing and log\n"
-"commands. When this options is given, an ascii representation of the\n"
-"revision graph is also shown.\n"
-msgstr ""
-
-msgid ""
-"cset DAG generator yielding (rev, node, [parents]) tuples\n"
-"\n"
-"    This generator function walks through the revision history from revision\n"
-"    start to revision stop (which must be less than or equal to start).\n"
-"    "
-msgstr ""
-
-msgid ""
-"file cset DAG generator yielding (rev, node, [parents]) tuples\n"
-"\n"
-"    This generator function walks through the revision history of a single\n"
-"    file from revision start to revision stop (which must be less than or\n"
-"    equal to start).\n"
-"    "
-msgstr ""
-
-msgid ""
-"grapher for asciigraph on a list of nodes and their parents\n"
-"\n"
-"    nodes must generate tuples (node, parents, char, lines) where\n"
-"     - parents must generate the parents of node, in sorted order,\n"
-"       and max length 2,\n"
-"     - char is the char to print as the node symbol, and\n"
-"     - lines are the lines to display next to the node.\n"
-"    "
-msgstr ""
-
-msgid ""
-"prints an ASCII graph of the DAG returned by the grapher\n"
-"\n"
-"    grapher is a generator that emits tuples with the following elements:\n"
-"\n"
-"      - Character to use as node's symbol.\n"
-"      - List of lines to display as the node's text.\n"
-"      - Column of the current node in the set of ongoing edges.\n"
-"      - Edges; a list of (col, next_col) indicating the edges between\n"
-"        the current node and its parents.\n"
-"      - Number of columns (ongoing edges) in the current revision.\n"
-"      - The difference between the number of columns (ongoing edges)\n"
-"        in the next revision and the number of columns (ongoing edges)\n"
-"        in the current revision. That is: -1 means one column removed;\n"
-"        0 means no columns added or removed; 1 means one column added.\n"
-"    "
-msgstr ""
-
-#, python-format
-msgid "--graph option is incompatible with --%s"
-msgstr ""
-
-msgid ""
-"show revision history alongside an ASCII revision graph\n"
-"\n"
-"    Print a revision history alongside a revision graph drawn with\n"
-"    ASCII characters.\n"
-"\n"
-"    Nodes printed as an @ character are parents of the working\n"
-"    directory.\n"
-"    "
-msgstr ""
-
-msgid ""
-"show the outgoing changesets alongside an ASCII revision graph\n"
-"\n"
-"    Print the outgoing changesets alongside a revision graph drawn with\n"
-"    ASCII characters.\n"
-"\n"
-"    Nodes printed as an @ character are parents of the working\n"
-"    directory.\n"
-"    "
-msgstr ""
-
-#, python-format
-msgid "comparing with %s\n"
-msgstr ""
-
-msgid "no changes found\n"
-msgstr "没有发现修改\n"
-
-msgid ""
-"show the incoming changesets alongside an ASCII revision graph\n"
-"\n"
-"    Print the incoming changesets alongside a revision graph drawn with\n"
-"    ASCII characters.\n"
-"\n"
-"    Nodes printed as an @ character are parents of the working\n"
-"    directory.\n"
-"    "
-msgstr ""
-
-msgid "wrap the command"
-msgstr ""
-
-msgid "show the revision DAG"
-msgstr "显示版本分支图"
-
-msgid "limit number of changes displayed"
-msgstr "限制显示的修改集数量"
-
-msgid "show patch"
-msgstr "显示补丁"
-
-msgid "show the specified revision or range"
-msgstr ""
-
-msgid "hg glog [OPTION]... [FILE]"
-msgstr ""
-
-msgid ""
-"CIA notification\n"
-"\n"
-"This is meant to be run as a changegroup or incoming hook.\n"
-"To configure it, set the following options in your hgrc:\n"
-"\n"
-"[cia]\n"
-"# your registered CIA user name\n"
-"user = foo\n"
-"# the name of the project in CIA\n"
-"project = foo\n"
-"# the module (subproject) (optional)\n"
-"#module = foo\n"
-"# Append a diffstat to the log message (optional)\n"
-"#diffstat = False\n"
-"# Template to use for log messages (optional)\n"
-"#template = {desc}\n"
-"{baseurl}/rev/{node}-- {diffstat}\n"
-"# Style to use (optional)\n"
-"#style = foo\n"
-"# The URL of the CIA notification service (optional)\n"
-"# You can use mailto: URLs to send by email, eg\n"
-"# mailto:cia@cia.vc\n"
-"# Make sure to set email.from if you do this.\n"
-"#url = http://cia.vc/\n"
-"# print message instead of sending it (optional)\n"
-"#test = False\n"
-"\n"
-"[hooks]\n"
-"# one of these:\n"
-"changegroup.cia = python:hgcia.hook\n"
-"#incoming.cia = python:hgcia.hook\n"
-"\n"
-"[web]\n"
-"# If you want hyperlinks (optional)\n"
-"baseurl = http://server/path/to/repo\n"
-msgstr ""
-
-msgid " A CIA message "
-msgstr ""
-
-msgid " CIA notification class "
-msgstr ""
-
-#, python-format
-msgid "hgcia: sending update to %s\n"
-msgstr ""
-
-msgid " send CIA notification "
-msgstr ""
-
-msgid "email.from must be defined when sending by email"
-msgstr ""
-
-msgid "cia: no user specified"
-msgstr ""
-
-msgid "cia: no project specified"
-msgstr ""
-
-msgid ""
-"browsing the repository in a graphical way\n"
-"\n"
-"The hgk extension allows browsing the history of a repository in a\n"
-"graphical way. It requires Tcl/Tk version 8.4 or later. (Tcl/Tk is\n"
-"not distributed with Mercurial.)\n"
-"\n"
-"hgk consists of two parts: a Tcl script that does the displaying and\n"
-"querying of information, and an extension to mercurial named hgk.py,\n"
-"which provides hooks for hgk to get information. hgk can be found in\n"
-"the contrib directory, and hgk.py can be found in the hgext directory.\n"
-"\n"
-"To load the hgext.py extension, add it to your .hgrc file (you have\n"
-"to use your global $HOME/.hgrc file, not one in a repository). You\n"
-"can specify an absolute path:\n"
-"\n"
-"  [extensions]\n"
-"  hgk=/usr/local/lib/hgk.py\n"
-"\n"
-"Mercurial can also scan the default python library path for a file\n"
-"named 'hgk.py' if you set hgk empty:\n"
-"\n"
-"  [extensions]\n"
-"  hgk=\n"
-"\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\n"
-"specify the path to hgk in your .hgrc file:\n"
-"\n"
-"  [hgk]\n"
-"  path=/location/of/hgk\n"
-"\n"
-"hgk can make use of the extdiff extension to visualize revisions.\n"
-"Assuming you had already configured extdiff vdiff command, just add:\n"
-"\n"
-"  [hgk]\n"
-"  vdiff=vdiff\n"
-"\n"
-"Revisions context menu will now display additional entries to fire\n"
-"vdiff on hovered and selected revisions."
-msgstr ""
-
-msgid "diff trees from two commits"
-msgstr ""
-
-msgid "output common ancestor information"
-msgstr ""
-
-msgid "cat a specific revision"
-msgstr ""
-
-msgid "cat-file: type or revision not supplied\n"
-msgstr ""
-
-msgid "aborting hg cat-file only understands commits\n"
-msgstr ""
-
-msgid "parse given revisions"
-msgstr ""
-
-msgid "print revisions"
-msgstr ""
-
-msgid "print extension options"
-msgstr ""
-
-msgid "start interactive history viewer"
-msgstr ""
-
-msgid "hg view [-l LIMIT] [REVRANGE]"
-msgstr ""
-
-msgid "generate patch"
-msgstr ""
-
-msgid "recursive"
-msgstr ""
-
-msgid "pretty"
-msgstr ""
-
-msgid "stdin"
-msgstr ""
-
-msgid "detect copies"
-msgstr ""
-
-msgid "search"
-msgstr ""
-
-msgid "hg git-diff-tree [OPTION]... NODE1 NODE2 [FILE]..."
-msgstr ""
-
-msgid "hg debug-cat-file [OPTION]... TYPE FILE"
-msgstr ""
-
-msgid "hg debug-config"
-msgstr ""
-
-msgid "hg debug-merge-base node node"
-msgstr ""
-
-msgid "ignored"
-msgstr ""
-
-msgid "hg debug-rev-parse REV"
-msgstr ""
-
-msgid "header"
-msgstr ""
-
-msgid "topo-order"
-msgstr ""
-
-msgid "parents"
-msgstr ""
-
-msgid "max-count"
-msgstr ""
-
-msgid "hg debug-rev-list [options] revs"
-msgstr ""
-
-msgid ""
-"syntax highlighting in hgweb, based on Pygments\n"
-"\n"
-"It depends on the pygments syntax highlighting library:\n"
-"http://pygments.org/\n"
-"\n"
-"To enable the extension add this to hgrc:\n"
-"\n"
-"[extensions]\n"
-"hgext.highlight =\n"
-"\n"
-"There is a single configuration option:\n"
-"\n"
-"[web]\n"
-"pygments_style = <style>\n"
-"\n"
-"The default is 'colorful'.\n"
-"\n"
-"-- Adam Hupp <adam@hupp.org>\n"
-msgstr ""
-
-msgid "inotify-based status acceleration for Linux systems\n"
-msgstr ""
-
-msgid "start an inotify server for this repository"
-msgstr "为此版本库启动服务 'inotify'"
-
-msgid "(found dead inotify server socket; removing it)\n"
-msgstr ""
-
-msgid "(starting inotify server)\n"
-msgstr ""
-
-#, python-format
-msgid "could not start inotify server: %s\n"
-msgstr ""
-
-#, python-format
-msgid "could not talk to new inotify server: %s\n"
-msgstr ""
-
-msgid "(inotify server not running)\n"
-msgstr ""
-
-#, python-format
-msgid "failed to contact inotify server: %s\n"
-msgstr ""
-
-msgid "run server in background"
-msgstr "在后台运行服务"
-
-msgid "used internally by daemon mode"
-msgstr "在后台服务模式内部使用"
-
-msgid "minutes to sit idle before exiting"
-msgstr "空闲几分钟后退出"
-
-msgid "name of file to write process ID to"
-msgstr "写入进程标识符的文件名称"
-
-msgid "hg inserve [OPT]..."
-msgstr ""
-
-#, python-format
-msgid "(inotify: received response from incompatible server version %d)\n"
-msgstr ""
-
-msgid "this system does not seem to support inotify"
-msgstr ""
-
-#, python-format
-msgid "*** the current per-user limit on the number of inotify watches is %s\n"
-msgstr ""
-
-msgid "*** this limit is too low to watch every directory in this repository\n"
-msgstr ""
-
-msgid "*** counting directories: "
-msgstr ""
-
-#, python-format
-msgid "found %d\n"
-msgstr ""
-
-#, python-format
-msgid "*** to raise the limit from %d to %d (run as root):\n"
-msgstr ""
-
-#, python-format
-msgid "***  echo %d > %s\n"
-msgstr ""
-
-#, python-format
-msgid "cannot watch %s until inotify watch limit is raised"
-msgstr ""
-
-#, python-format
-msgid "inotify service not available: %s"
-msgstr ""
-
-#, python-format
-msgid "watching %r\n"
-msgstr ""
-
-#, python-format
-msgid "watching directories under %r\n"
-msgstr ""
-
-#, python-format
-msgid "status: %r dir(%d) -> %s\n"
-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 ""
-
-#, python-format
-msgid "%s event: deleted %s\n"
-msgstr ""
-
-#, python-format
-msgid "%s event: modified %s\n"
-msgstr ""
-
-#, python-format
-msgid "filesystem containing %s was unmounted\n"
-msgstr ""
-
-#, python-format
-msgid "%s readable: %d bytes\n"
-msgstr ""
-
-#, python-format
-msgid "%s below threshold - unhooking\n"
-msgstr ""
-
-#, python-format
-msgid "%s reading %d events\n"
-msgstr ""
-
-#, python-format
-msgid "%s hooking back up with %d bytes readable\n"
-msgstr ""
-
-#, python-format
-msgid "%s processing %d deferred events as %d\n"
-msgstr ""
-
-#, python-format
-msgid "could not start server: %s"
-msgstr ""
-
-#, python-format
-msgid "received query from incompatible client version %d\n"
-msgstr ""
-
-#, python-format
-msgid "answering query for %r\n"
-msgstr ""
-
-msgid "finished setup\n"
-msgstr ""
-
-msgid "polling: no timeout\n"
-msgstr ""
-
-#, python-format
-msgid "polling: %sms timeout\n"
-msgstr ""
-
-#, python-format
-msgid "interhg: invalid pattern for %s: %s\n"
-msgstr ""
-
-#, python-format
-msgid "interhg: invalid regexp for %s: %s\n"
-msgstr ""
-
-msgid ""
-"keyword expansion in local repositories\n"
-"\n"
-"This extension expands RCS/CVS-like or self-customized $Keywords$\n"
-"in tracked text files selected by your configuration.\n"
-"\n"
-"Keywords are only expanded in local repositories and not stored in\n"
-"the change history. The mechanism can be regarded as a convenience\n"
-"for the current user or for archive distribution.\n"
-"\n"
-"Configuration is done in the [keyword] and [keywordmaps] sections\n"
-"of hgrc files.\n"
-"\n"
-"Example:\n"
-"\n"
-"    [keyword]\n"
-"    # expand keywords in every python file except those matching \"x*\"\n"
-"    **.py =\n"
-"    x*    = ignore\n"
-"\n"
-"Note: the more specific you are in your filename patterns\n"
-"      the less you lose speed in huge repos.\n"
-"\n"
-"For [keywordmaps] template mapping and expansion demonstration and\n"
-"control run \"hg kwdemo\".\n"
-"\n"
-"An additional date template filter {date|utcdate} is provided.\n"
-"\n"
-"The default template mappings (view with \"hg kwdemo -d\") can be replaced\n"
-"with customized keywords and templates.\n"
-"Again, run \"hg kwdemo\" to control the results of your config changes.\n"
-"\n"
-"Before changing/disabling active keywords, run \"hg kwshrink\" to avoid\n"
-"the risk of inadvertedly storing expanded keywords in the change history.\n"
-"\n"
-"To force expansion after enabling it, or a configuration change, run\n"
-"\"hg kwexpand\".\n"
-"\n"
-"Also, when committing with the record extension or using mq's qrecord, be "
-"aware\n"
-"that keywords cannot be updated. Again, run \"hg kwexpand\" on the files in\n"
-"question to update keyword expansions after all changes have been checked "
-"in.\n"
-"\n"
-"Expansions spanning more than one line and incremental expansions,\n"
-"like CVS' $Log$, are not supported. A keyword template map\n"
-"\"Log = {desc}\" expands to the first line of the changeset description.\n"
-msgstr ""
-
-msgid "Returns hgdate in cvs-like UTC format."
-msgstr ""
-
-msgid ""
-"\n"
-"    Sets up keyword templates, corresponding keyword regex, and\n"
-"    provides keyword substitution functions.\n"
-"    "
-msgstr ""
-
-msgid "Replaces keywords in data with expanded template."
-msgstr ""
-
-msgid "Returns data with keywords expanded."
-msgstr ""
-
-msgid ""
-"Returns true if path matches [keyword] pattern\n"
-"        and is not a symbolic link.\n"
-"        Caveat: localrepository._link fails on Windows."
-msgstr ""
-
-msgid "Overwrites selected files expanding/shrinking keywords."
-msgstr ""
-
-#, python-format
-msgid "overwriting %s %s keywords\n"
-msgstr ""
-
-msgid "Unconditionally removes all keyword substitutions from text."
-msgstr ""
-
-msgid "Returns text with all keyword substitutions removed."
-msgstr ""
-
-msgid "Returns lines with keyword substitutions removed."
-msgstr ""
-
-msgid ""
-"If in restricted mode returns data read from wdir with\n"
-"        keyword substitutions removed."
-msgstr ""
-
-msgid ""
-"\n"
-"    Subclass of filelog to hook into its read, add, cmp methods.\n"
-"    Keywords are \"stored\" unexpanded, and processed on reading.\n"
-"    "
-msgstr ""
-
-msgid "Expands keywords when reading filelog."
-msgstr ""
-
-msgid "Removes keyword substitutions when adding to filelog."
-msgstr ""
-
-msgid "Removes keyword substitutions for comparison."
-msgstr ""
-
-msgid ""
-"Bails out if [keyword] configuration is not active.\n"
-"    Returns status of working directory."
-msgstr ""
-
-msgid "[keyword] patterns cannot match"
-msgstr ""
-
-msgid "no [keyword] patterns configured"
-msgstr ""
-
-msgid "Selects files and passes them to kwtemplater.overwrite."
-msgstr ""
-
-msgid ""
-"print [keywordmaps] configuration and an expansion example\n"
-"\n"
-"    Show current, custom, or default keyword template maps\n"
-"    and their expansion.\n"
-"\n"
-"    Extend current configuration by specifying maps as arguments\n"
-"    and optionally by reading from an additional hgrc file.\n"
-"\n"
-"    Override current keyword template maps with \"default\" option.\n"
-"    "
-msgstr ""
-
-#, python-format
-msgid ""
-"\n"
-"\t%s\n"
-msgstr ""
-
-#, python-format
-msgid "creating temporary repo at %s\n"
-msgstr ""
-
-#, python-format
-msgid ""
-"\n"
-"%s keywords written to %s:\n"
-msgstr ""
-
-msgid "unhooked all commit hooks\n"
-msgstr ""
-
-#, python-format
-msgid ""
-"\n"
-"removing temporary repo %s\n"
-msgstr ""
-"\n"
-"正在删除临时版本库 %s\n"
-
-msgid ""
-"expand keywords in working directory\n"
-"\n"
-"    Run after (re)enabling keyword expansion.\n"
-"\n"
-"    kwexpand refuses to run if given files contain local changes.\n"
-"    "
-msgstr ""
-
-msgid ""
-"print files currently configured for keyword expansion\n"
-"\n"
-"    Crosscheck which files in working directory are potential targets for\n"
-"    keyword expansion.\n"
-"    That is, files matched by [keyword] config patterns but not symlinks.\n"
-"    "
-msgstr ""
-
-msgid ""
-"revert expanded keywords in working directory\n"
-"\n"
-"    Run before changing/disabling active keywords\n"
-"    or if you experience problems with \"hg import\" or \"hg merge\".\n"
-"\n"
-"    kwshrink refuses to run if given files contain local changes.\n"
-"    "
-msgstr ""
-
-msgid ""
-"Collects [keyword] config in kwtools.\n"
-"    Monkeypatches dispatch._parse if needed."
-msgstr ""
-
-msgid "Monkeypatch dispatch._parse to obtain running hg command."
-msgstr ""
-
-msgid ""
-"Sets up repo as kwrepo for keyword substitution.\n"
-"    Overrides file method to return kwfilelog instead of filelog\n"
-"    if file matches user configuration.\n"
-"    Wraps commit to overwrite configured files with updated\n"
-"    keyword substitutions.\n"
-"    Monkeypatches patch and webcommands."
-msgstr ""
-
-msgid ""
-"Monkeypatch/wrap patch.patchfile.__init__ to avoid\n"
-"        rejects or conflicts due to expanded keywords in working dir."
-msgstr ""
-
-msgid ""
-"Monkeypatch patch.diff to avoid expansion except when\n"
-"        comparing against working dir."
-msgstr ""
-
-msgid "Wraps webcommands.x turning off keyword expansion."
-msgstr ""
-
-msgid "show default keyword template maps"
-msgstr ""
-
-msgid "read maps from rcfile"
-msgstr ""
-
-msgid "hg kwdemo [-d] [-f RCFILE] [TEMPLATEMAP]..."
-msgstr ""
-
-msgid "hg kwexpand [OPTION]... [FILE]..."
-msgstr ""
-
-msgid "show keyword status flags of all files"
-msgstr ""
-
-msgid "show files excluded from expansion"
-msgstr ""
-
-msgid "additionally show untracked files"
-msgstr ""
-
-msgid "hg kwfiles [OPTION]... [FILE]..."
-msgstr ""
-
-msgid "hg kwshrink [OPTION]... [FILE]..."
-msgstr ""
-
-msgid ""
-"patch management and development\n"
-"\n"
-"This extension lets you work with a stack of patches in a Mercurial\n"
-"repository.  It manages two stacks of patches - all known patches, and\n"
-"applied patches (subset of known patches).\n"
-"\n"
-"Known patches are represented as patch files in the .hg/patches\n"
-"directory.  Applied patches are both patch files and changesets.\n"
-"\n"
-"Common tasks (use \"hg help command\" for more details):\n"
-"\n"
-"prepare repository to work with patches   qinit\n"
-"create new patch                          qnew\n"
-"import existing patch                     qimport\n"
-"\n"
-"print patch series                        qseries\n"
-"print applied patches                     qapplied\n"
-"print name of top applied patch           qtop\n"
-"\n"
-"add known patch to applied stack          qpush\n"
-"remove patch from applied stack           qpop\n"
-"refresh contents of top applied patch     qrefresh\n"
-msgstr ""
-
-msgid ""
-"Update all references to a field in the patch header.\n"
-"        If none found, add it email style."
-msgstr ""
-
-msgid ""
-"Remove existing message, keeping the rest of the comments fields.\n"
-"        If comments contains 'subject: ', message will prepend\n"
-"        the field and a blank line."
-msgstr ""
-
-#, python-format
-msgid "%s appears more than once in %s"
-msgstr ""
-
-msgid "guard cannot be an empty string"
-msgstr ""
-
-#, python-format
-msgid "guard %r starts with invalid character: %r"
-msgstr ""
-
-#, python-format
-msgid "invalid character in guard %r: %r"
-msgstr ""
-
-#, python-format
-msgid "active guards: %s\n"
-msgstr ""
-
-#, python-format
-msgid "guard %r too short"
-msgstr ""
-
-#, python-format
-msgid "guard %r starts with invalid char"
-msgstr ""
-
-#, python-format
-msgid "allowing %s - no guards in effect\n"
-msgstr ""
-
-#, python-format
-msgid "allowing %s - no matching negative guards\n"
-msgstr ""
-
-#, python-format
-msgid "allowing %s - guarded by %r\n"
-msgstr ""
-
-#, python-format
-msgid "skipping %s - guarded by %r\n"
-msgstr ""
-
-#, python-format
-msgid "skipping %s - no matching guards\n"
-msgstr ""
-
-#, python-format
-msgid "error removing undo: %s\n"
-msgstr ""
-
-#, python-format
-msgid "apply failed for patch %s"
-msgstr ""
-
-#, python-format
-msgid "patch didn't work out, merging %s\n"
-msgstr ""
-
-#, python-format
-msgid "update returned %d"
-msgstr ""
-
-msgid "repo commit failed"
-msgstr ""
-
-#, python-format
-msgid "unable to read %s"
-msgstr ""
-
-#, python-format
-msgid "patch %s does not exist\n"
-msgstr ""
-
-#, python-format
-msgid "patch %s is not applied\n"
-msgstr ""
-
-msgid ""
-"Apply patchfile  to the working directory.\n"
-"        patchfile: file name of patch"
-msgstr ""
-
-msgid "patch failed, unable to continue (try -v)\n"
-msgstr ""
-
-#, python-format
-msgid "applying %s\n"
-msgstr ""
-
-#, 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 ""
-
-msgid "patch failed, rejects left in working dir\n"
-msgstr ""
-
-msgid "fuzz found when applying patch, stopping\n"
-msgstr ""
-
-#, python-format
-msgid "revision %d is not managed"
-msgstr ""
-
-#, python-format
-msgid "cannot delete revision %d above applied patches"
-msgstr ""
-
-msgid "qdelete requires at least one revision or patch name"
-msgstr ""
-
-#, python-format
-msgid "cannot delete applied patch %s"
-msgstr ""
-
-#, python-format
-msgid "patch %s not in series file"
-msgstr ""
-
-msgid "no patches applied"
-msgstr ""
-
-msgid "working directory revision is not qtip"
-msgstr ""
-
-msgid "local changes found, refresh first"
-msgstr ""
-
-msgid "local changes found"
-msgstr ""
-
-#, python-format
-msgid "\"%s\" cannot be used as the name of a patch"
-msgstr ""
-
-msgid ""
-"options:\n"
-"           msg: a string or a no-argument function returning a string\n"
-"        "
-msgstr ""
-
-#, python-format
-msgid "patch \"%s\" already exists"
-msgstr ""
-
-#, python-format
-msgid "error unlinking %s\n"
-msgstr ""
-
-msgid "returns (index, rev, patch)"
-msgstr ""
-
-#, python-format
-msgid "patch name \"%s\" is ambiguous:\n"
-msgstr ""
-
-#, python-format
-msgid "patch %s not in series"
-msgstr ""
-
-msgid "(working directory not at tip)\n"
-msgstr ""
-
-msgid "no patches in series\n"
-msgstr ""
-
-#, python-format
-msgid "cannot push to a previous patch: %s"
-msgstr ""
-
-#, python-format
-msgid "qpush: %s is already at the top\n"
-msgstr ""
-
-#, python-format
-msgid "guarded by %r"
-msgstr ""
-
-msgid "no matching guards"
-msgstr ""
-
-#, python-format
-msgid "cannot push '%s' - %s\n"
-msgstr ""
-
-msgid "all patches are currently applied\n"
-msgstr ""
-
-msgid "patch series already fully applied\n"
-msgstr ""
-
-msgid "cleaning up working directory..."
-msgstr ""
-
-#, python-format
-msgid "errors during apply, please fix and refresh %s\n"
-msgstr ""
-
-#, python-format
-msgid "now at: %s\n"
-msgstr ""
-
-#, python-format
-msgid "patch %s is not applied"
-msgstr ""
-
-msgid "no patches applied\n"
-msgstr ""
-
-#, python-format
-msgid "qpop: %s is already at the top\n"
-msgstr ""
-
-msgid "qpop: forcing dirstate update\n"
-msgstr ""
-
-#, python-format
-msgid "trying to pop unknown node %s"
-msgstr ""
-
-msgid "popping would remove a revision not managed by this patch queue"
-msgstr ""
-
-msgid "deletions found between repo revs"
-msgstr ""
-
-msgid "patch queue now empty\n"
-msgstr ""
-
-msgid "cannot refresh a revision with children"
-msgstr ""
-
-msgid ""
-"refresh interrupted while patch was popped! (revert --all, qpush to recover)\n"
-msgstr ""
-
-msgid "patch queue directory already exists"
-msgstr ""
-
-#, python-format
-msgid "patch %s is not in series file"
-msgstr ""
-
-msgid "No saved patch data found\n"
-msgstr ""
-
-#, python-format
-msgid "restoring status: %s\n"
-msgstr ""
-
-msgid "save entry has children, leaving it alone\n"
-msgstr ""
-
-#, python-format
-msgid "removing save entry %s\n"
-msgstr ""
-
-#, python-format
-msgid "saved queue repository parents: %s %s\n"
-msgstr ""
-
-msgid "queue directory updating\n"
-msgstr ""
-
-msgid "Unable to load queue repository\n"
-msgstr ""
-
-msgid "save: no patches applied, exiting\n"
-msgstr ""
-
-msgid "status is already saved\n"
-msgstr ""
-
-msgid "hg patches saved state"
-msgstr ""
-
-msgid "repo commit failed\n"
-msgstr ""
-
-msgid ""
-"If all_patches is False, return the index of the next pushable patch\n"
-"        in the series, or the series length. If all_patches is True, return "
-"the\n"
-"        index of the first patch past the last applied one.\n"
-"        "
-msgstr ""
-
-#, python-format
-msgid "patch %s is already in the series file"
-msgstr ""
-
-msgid "option \"-r\" not valid when importing files"
-msgstr ""
-
-msgid "option \"-n\" not valid when importing multiple patches"
-msgstr ""
-
-#, python-format
-msgid "revision %d is the root of more than one branch"
-msgstr ""
-
-#, python-format
-msgid "revision %d is already managed"
-msgstr ""
-
-#, python-format
-msgid "revision %d is not the parent of the queue"
-msgstr ""
-
-#, python-format
-msgid "revision %d has unmanaged children"
-msgstr ""
-
-#, python-format
-msgid "cannot import merge revision %d"
-msgstr ""
-
-#, python-format
-msgid "revision %d is not the parent of %d"
-msgstr ""
-
-msgid "-e is incompatible with import from -"
-msgstr ""
-
-#, python-format
-msgid "patch %s does not exist"
-msgstr ""
-
-msgid "need --name to import a patch from -"
-msgstr ""
-
-#, python-format
-msgid "adding %s to series file\n"
-msgstr ""
-
-msgid ""
-"remove patches from queue\n"
-"\n"
-"    The patches must not be applied, unless they are arguments to\n"
-"    the --rev parameter. At least one patch or revision is required.\n"
-"\n"
-"    With --rev, mq will stop managing the named revisions (converting\n"
-"    them to regular mercurial changesets). The qfinish command should be\n"
-"    used as an alternative for qdel -r, as the latter option is deprecated.\n"
-"\n"
-"    With --keep, the patch files are preserved in the patch directory."
-msgstr ""
-
-msgid "print the patches already applied"
-msgstr ""
-
-msgid "print the patches not yet applied"
-msgstr ""
-
-msgid ""
-"import a patch\n"
-"\n"
-"    The patch is inserted into the series after the last applied patch.\n"
-"    If no patches have been applied, qimport prepends the patch\n"
-"    to the series.\n"
-"\n"
-"    The patch will have the same name as its source file unless you\n"
-"    give it a new one with --name.\n"
-"\n"
-"    You can register an existing patch inside the patch directory\n"
-"    with the --existing flag.\n"
-"\n"
-"    With --force, an existing patch of the same name will be overwritten.\n"
-"\n"
-"    An existing changeset may be placed under mq control with --rev\n"
-"    (e.g. qimport --rev tip -n patch will place tip under mq control).\n"
-"    With --git, patches imported with --rev will use the git diff\n"
-"    format. See the diffs help topic for information on why this is\n"
-"    important for preserving rename/copy information and permission changes.\n"
-"    "
-msgstr ""
-"导入补丁\n"
-"\n"
-"    此补丁插入到最近一次应用的补丁序列中。\n"
-"    如果尚无应用补丁,qimport 会插入补丁到序列开始。\n"
-"\n"
-"    除非你使用 '--name' 给出补丁名称,否则就与源文件同名。\n"
-"\n"
-"    你可以使用 '--existing' 注册一个已在补丁目录中的补丁。\n"
-"\n"
-"    使用 '--force' 会覆盖已有的补丁。\n"
-"\n"
-"    可以使用 '--rev' 将已有的修改集置于 mq 控制下(例如 \n"
-"    'qimport --rev tip -n patch' 会将 tip 置于 mq 控制下)。当使用 '--git'\n"
-"    时,'--rev' 导入的补丁将会使用 git 差异格式。参见差异帮助主题,以了解\n"
-"    为什么这对于保留改名/复制信息和权限修改很重要。\n"
-"    "
-
-msgid ""
-"init a new queue repository\n"
-"\n"
-"    The queue repository is unversioned by default. If -c is\n"
-"    specified, qinit will create a separate nested repository\n"
-"    for patches (qinit -c may also be run later to convert\n"
-"    an unversioned patch repository into a versioned one).\n"
-"    You can use qcommit to commit changes to this queue repository."
-msgstr ""
-"初始化队列仓库\n"
-"\n"
-"    默认队列仓库不受版本控制。如果指定了 '-c',那么 qinit 会为补丁创建一个\n"
-"    单独的嵌套版本库(也可以稍后运行 'qinit -c' 来将不受版本控制的补丁仓库\n"
-"    转换成受版本控制)。你可以使用 'qcommit' 提交改变到此队列版本库。"
-
-msgid ""
-"clone main and patch repository at same time\n"
-"\n"
-"    If source is local, destination will have no patches applied.  If\n"
-"    source is remote, this command can not check if patches are\n"
-"    applied in source, so cannot guarantee that patches are not\n"
-"    applied in destination.  If you clone remote repository, be sure\n"
-"    before that it has no patches applied.\n"
-"\n"
-"    Source patch repository is looked for in <src>/.hg/patches by\n"
-"    default.  Use -p <url> to change.\n"
-"\n"
-"    The patch directory must be a nested mercurial repository, as\n"
-"    would be created by qinit -c.\n"
-"    "
-msgstr ""
-
-msgid "versioned patch repository not found (see qinit -c)"
-msgstr ""
-
-msgid "cloning main repo\n"
-msgstr ""
-
-msgid "cloning patch repo\n"
-msgstr ""
-
-msgid "stripping applied patches from destination repo\n"
-msgstr ""
-
-msgid "updating destination repo\n"
-msgstr ""
-
-msgid "commit changes in the queue repository"
-msgstr ""
-
-msgid "print the entire series file"
-msgstr ""
-
-msgid "print the name of the current patch"
-msgstr ""
-
-msgid "print the name of the next patch"
-msgstr ""
-
-msgid "all patches applied\n"
-msgstr ""
-
-msgid "print the name of the previous patch"
-msgstr ""
-
-msgid "only one patch applied\n"
-msgstr ""
-
-msgid ""
-"create a new patch\n"
-"\n"
-"    qnew creates a new patch on top of the currently-applied patch (if any).\n"
-"    It will refuse to run if there are any outstanding changes unless -f is\n"
-"    specified, in which case the patch will be initialized with them. You\n"
-"    may also use -I, -X, 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 as\n"
-"    uncommitted modifications.\n"
-"\n"
-"    -u and -d can be used to set the (given) user and date, respectively.\n"
-"    -U and -D set user to current user and date to current date.\n"
-"\n"
-"    -e, -m or -l set the patch header as well as the commit message. If none\n"
-"    is specified, the header is empty and the commit message is '[mq]: "
-"PATCH'.\n"
-"\n"
-"    Use the --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"
-"    "
-msgstr ""
-
-msgid ""
-"update the current patch\n"
-"\n"
-"    If any file patterns are provided, the refreshed patch will contain only\n"
-"    the modifications that match those patterns; the remaining modifications\n"
-"    will remain in the working directory.\n"
-"\n"
-"    If --short is specified, files currently included in the patch will\n"
-"    be refreshed just like matched files and remain in the patch.\n"
-"\n"
-"    hg add/remove/copy/rename work as usual, though you might want to use\n"
-"    git-style patches (--git or [diff] git=1) to track copies and renames.\n"
-"    See the diffs help topic for more information on the git diff format.\n"
-"    "
-msgstr ""
-"更新当前补丁\n"
-"\n"
-"    如果提供了文件匹配模式,更新后的补丁只包含匹配这些模式的修改,其它\n"
-"    的修改仍旧在工作目录中。\n"
-"\n"
-"    如果指定了 '--short',只更新已经在补丁中的文件,与文件匹配模式类似。\n"
-"\n"
-"    'hg add/remove/copy/rename' 如常工作,你可能想使用 git 格式补丁(使\n"
-"    用选项 '--git' 或在配置文件的 [diff] 区中设置 git=1)以跟踪复制和改\n"
-"    名。请参见差异帮助主题,以了解关于 git 差异格式的更多信息。\n"
-"    "
-
-msgid "option \"-e\" incompatible with \"-m\" or \"-l\""
-msgstr ""
-
-msgid ""
-"diff of the current patch and subsequent modifications\n"
-"\n"
-"    Shows a diff which includes the current patch as well as any changes "
-"which\n"
-"    have been made in the working directory since the last refresh (thus\n"
-"    showing what the current patch would become after a qrefresh).\n"
-"\n"
-"    Use 'hg diff' if you only want to see the changes made since the last\n"
-"    qrefresh, or 'hg export qtip' if you want to see changes made by the\n"
-"    current patch without including changes made since the qrefresh.\n"
-"    "
-msgstr ""
-"显式当前的补丁和后续的修改\n"
-"\n"
-"    显示当前的补丁和最近一次刷新之后的修改(因而在执行 'qrefresh' 之后就只\n"
-"    显示当前的补丁)。\n"
-"\n"
-"    如果你只想看到最近一次刷新之后的修改请使用 'hg diff',如果你只想看到当\n"
-"    前的补丁请使用 'hg export qtip'。\n"
-"    "
-
-msgid ""
-"fold the named patches into the current patch\n"
-"\n"
-"    Patches must not yet be applied. Each patch will be successively\n"
-"    applied to the current patch in the order given. If all the\n"
-"    patches apply successfully, the current patch will be refreshed\n"
-"    with the new cumulative patch, and the folded patches will\n"
-"    be deleted. With -k/--keep, the folded patch files will not\n"
-"    be removed afterwards.\n"
-"\n"
-"    The header for each folded patch will be concatenated with\n"
-"    the 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"
-msgstr ""
-
-#, python-format
-msgid "qfold cannot fold already applied patch %s"
-msgstr ""
-
-#, python-format
-msgid "Error folding patch %s"
-msgstr ""
-
-msgid "push or pop patches until named patch is at top of stack"
-msgstr ""
-
-msgid ""
-"set or print guards for a patch\n"
-"\n"
-"    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"
-"    has activated it.\n"
-"\n"
-"    With no arguments, print the currently active guards.\n"
-"    With arguments, set guards for the named patch.\n"
-"    NOTE: Specifying negative guards now requires '--'.\n"
-"\n"
-"    To set guards on another patch:\n"
-"      hg qguard -- other.patch +2.6.17 -stable\n"
-"    "
-msgstr ""
-
-msgid "cannot mix -l/--list with options or arguments"
-msgstr ""
-
-msgid "no patch to work with"
-msgstr ""
-
-#, python-format
-msgid "no patch named %s"
-msgstr ""
-
-msgid "print the header of the topmost or specified patch"
-msgstr ""
-
-msgid ""
-"push the next patch onto the stack\n"
-"\n"
-"    When --force is applied, all local changes in patched files will be "
-"lost.\n"
-"    "
-msgstr ""
-"将下个补丁压入堆栈\n"
-"\n"
-"    当指定 '--force' 时,所有在补丁文件中的本地修改都会丢失。\n"
-"    "
-
-msgid "no saved queues found, please use -n\n"
-msgstr ""
-
-#, python-format
-msgid "merging with queue at: %s\n"
-msgstr ""
-
-msgid ""
-"pop the current patch off the stack\n"
-"\n"
-"    By default, pops off the top of the patch stack. If given a patch name,\n"
-"    keeps popping off patches until the named patch is at the top of the "
-"stack.\n"
-"    "
-msgstr ""
-"将当前补丁弹出堆栈\n"
-"\n"
-"    默认将补丁堆栈的顶部弹出。如果指定了补丁名称,那么就会一直弹出,直到此\n"
-"    补丁位于堆栈顶部。\n"
-"    "
-
-#, python-format
-msgid "using patch queue: %s\n"
-msgstr ""
-
-msgid ""
-"rename a patch\n"
-"\n"
-"    With one argument, renames the current patch to PATCH1.\n"
-"    With two arguments, renames PATCH1 to PATCH2."
-msgstr ""
-
-#, python-format
-msgid "%s already exists"
-msgstr ""
-
-#, python-format
-msgid "A patch named %s already exists in the series file"
-msgstr ""
-
-msgid "restore the queue state saved by a rev"
-msgstr ""
-
-msgid "save current queue state"
-msgstr ""
-
-#, python-format
-msgid "destination %s exists and is not a directory"
-msgstr ""
-
-#, python-format
-msgid "destination %s exists, use -f to force"
-msgstr ""
-
-#, python-format
-msgid "copy %s to %s\n"
-msgstr ""
-
-msgid ""
-"strip a revision and all its descendants from the repository\n"
-"\n"
-"    If one of the working dir's parent revisions is stripped, the working\n"
-"    directory will be updated to the parent of the stripped revision.\n"
-"    "
-msgstr ""
-"从版本库删除一个版本以及它的子孙\n"
-"\n"
-"    如果有工作目录的父版本被删除,那么此目录会被更新到已删除版本的父版本。\n"
-"    "
-
-msgid ""
-"set or print guarded patches to push\n"
-"\n"
-"    Use the 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 it\n"
-"    has no guards or any positive guards match the currently selected guard,\n"
-"    but will not be pushed if any negative guards match the current guard.\n"
-"    For example:\n"
-"\n"
-"        qguard foo.patch -stable    (negative guard)\n"
-"        qguard bar.patch +stable    (positive guard)\n"
-"        qselect stable\n"
-"\n"
-"    This activates the \"stable\" guard. mq will skip foo.patch (because\n"
-"    it has a negative match) but push bar.patch (because it\n"
-"    has a positive match).\n"
-"\n"
-"    With no arguments, prints the currently active guards.\n"
-"    With one argument, sets the active guard.\n"
-"\n"
-"    Use -n/--none to deactivate guards (no other arguments needed).\n"
-"    When no guards are active, patches with positive guards are skipped\n"
-"    and patches with negative guards are pushed.\n"
-"\n"
-"    qselect can change the guards on applied patches. It does not pop\n"
-"    guarded patches by default. Use --pop to pop back to the last applied\n"
-"    patch that is not guarded. Use --reapply (which implies --pop) to push\n"
-"    back to the current patch afterwards, but skip guarded patches.\n"
-"\n"
-"    Use -s/--series to print a list of all guards in the series file (no\n"
-"    other arguments needed). Use -v for more information."
-msgstr ""
-
-msgid "guards deactivated\n"
-msgstr ""
-
-#, python-format
-msgid "number of unguarded, unapplied patches has changed from %d to %d\n"
-msgstr ""
-
-#, python-format
-msgid "number of guarded, applied patches has changed from %d to %d\n"
-msgstr ""
-
-msgid "guards in series file:\n"
-msgstr ""
-
-msgid "no guards in series file\n"
-msgstr ""
-
-msgid "active guards:\n"
-msgstr ""
-
-msgid "no active guards\n"
-msgstr ""
-
-msgid "popping guarded patches\n"
-msgstr ""
-
-msgid "reapplying unguarded patches\n"
-msgstr ""
-
-msgid ""
-"move applied patches into repository history\n"
-"\n"
-"    Finishes the specified revisions (corresponding to applied patches) by\n"
-"    moving them out of mq control into regular repository history.\n"
-"\n"
-"    Accepts a revision range or the --applied option. If --applied is\n"
-"    specified, all applied mq revisions are removed from mq control.\n"
-"    Otherwise, the given revisions must be at the base of the stack of\n"
-"    applied patches.\n"
-"\n"
-"    This can be especially useful if your changes have been applied to an\n"
-"    upstream repository, or if you are about to push your changes to "
-"upstream.\n"
-"    "
-msgstr ""
-
-msgid "no revisions specified"
-msgstr ""
-
-msgid "cannot commit over an applied mq patch"
-msgstr ""
-
-msgid "source has mq patches applied"
-msgstr ""
-
-#, python-format
-msgid "mq status file refers to unknown node %s\n"
-msgstr ""
-
-#, python-format
-msgid "Tag %s overrides mq patch of the same name\n"
-msgstr ""
-
-msgid "cannot import over an applied patch"
-msgstr ""
-
-msgid "print first line of patch header"
-msgstr ""
-
-msgid "hg qapplied [-s] [PATCH]"
-msgstr ""
-
-msgid "use pull protocol to copy metadata"
-msgstr "数用协议 'pull' 来复制元数据"
-
-msgid "do not update the new working directories"
-msgstr ""
-
-msgid "use uncompressed transfer (fast over LAN)"
-msgstr "使用不压缩的传输(在局域网更快)"
-
-msgid "location of source patch repo"
-msgstr ""
-
-msgid "hg qclone [OPTION]... SOURCE [DEST]"
-msgstr ""
-
-msgid "hg qcommit [OPTION]... [FILE]..."
-msgstr ""
-
-msgid "hg qdiff [OPTION]... [FILE]..."
-msgstr ""
-
-msgid "keep patch file"
-msgstr ""
-
-msgid "stop managing a revision"
-msgstr ""
-
-msgid "hg qdelete [-k] [-r REV]... [PATCH]..."
-msgstr ""
-
-msgid "edit patch header"
-msgstr ""
-
-msgid "keep folded patch files"
-msgstr ""
-
-msgid "hg qfold [-e] [-k] [-m TEXT] [-l FILE] PATCH..."
-msgstr ""
-
-msgid "overwrite any local changes"
-msgstr ""
-
-msgid "hg qgoto [OPTION]... PATCH"
-msgstr ""
-
-msgid "list all patches and guards"
-msgstr ""
-
-msgid "drop all guards"
-msgstr ""
-
-msgid "hg qguard [-l] [-n] -- [PATCH] [+GUARD]... [-GUARD]..."
-msgstr ""
-
-msgid "hg qheader [PATCH]"
-msgstr ""
-
-msgid "import file in patch dir"
-msgstr "从补丁目录导入文件"
-
-msgid "patch file name"
-msgstr "补丁文件名称"
-
-msgid "overwrite existing files"
-msgstr "覆盖已有文件"
-
-msgid "place existing revisions under mq control"
-msgstr "将现有的版本置于 mq 控制下"
-
-msgid "use git extended diff format"
-msgstr "使用 git 扩展差异格式"
-
-msgid "hg qimport [-e] [-n NAME] [-f] [-g] [-r REV]... FILE..."
-msgstr ""
-
-msgid "create queue repository"
-msgstr "创建队列版本库"
-
-msgid "hg qinit [-c]"
-msgstr ""
-
-msgid "import uncommitted changes into patch"
-msgstr ""
-
-msgid "add \"From: <current user>\" to patch"
-msgstr ""
-
-msgid "add \"From: <given 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]..."
-msgstr ""
-
-msgid "hg qnext [-s]"
-msgstr ""
-
-msgid "hg qprev [-s]"
-msgstr ""
-
-msgid "pop all patches"
-msgstr "弹出全部补丁"
-
-msgid "queue name to pop"
-msgstr "操作的队列名称"
-
-msgid "forget any local changes"
-msgstr "丢弃本地修改"
-
-msgid "hg qpop [-a] [-n NAME] [-f] [PATCH | INDEX]"
-msgstr ""
-
-msgid "apply if the patch has rejects"
-msgstr "强制应用补丁"
-
-msgid "list patch name in commit text"
-msgstr "在提交日志中列出补丁名称"
-
-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]"
-msgstr ""
-
-msgid "refresh only files already in the patch and specified files"
-msgstr "仅当文件已经在补丁或指定文件中时才更新"
-
-msgid "add/update \"From: <current user>\" in patch"
-msgstr "在补丁中增加/更新 \"From: <current user>\""
-
-msgid "add/update \"From: <given user>\" in patch"
-msgstr "在补丁中增加/更新 \"From: <given user>\""
-
-msgid "update \"Date: <current date>\" in patch (if present)"
-msgstr "在补丁中更新 \"Date: <current date>\" (如果存在)"
-
-msgid "update \"Date: <given date>\" in patch (if present)"
-msgstr "在补丁中更新 \"Date: <given date>\" (如果存在)"
-
-msgid "hg qrefresh [-I] [-X] [-e] [-m TEXT] [-l FILE] [-s] [FILE]..."
-msgstr ""
-
-msgid "hg qrename PATCH1 [PATCH2]"
-msgstr ""
-
-msgid "delete save entry"
-msgstr ""
-
-msgid "update queue working dir"
-msgstr ""
-
-msgid "hg qrestore [-d] [-u] REV"
-msgstr ""
-
-msgid "copy patch directory"
-msgstr ""
-
-msgid "copy directory name"
-msgstr ""
-
-msgid "clear queue status file"
-msgstr ""
-
-msgid "force copy"
-msgstr ""
-
-msgid "hg qsave [-m TEXT] [-l FILE] [-c] [-n NAME] [-e] [-f]"
-msgstr ""
-
-msgid "disable all guards"
-msgstr ""
-
-msgid "list all guards in series file"
-msgstr ""
-
-msgid "pop to before first guarded applied patch"
-msgstr ""
-
-msgid "pop, then reapply patches"
-msgstr ""
-
-msgid "hg qselect [OPTION]... [GUARD]..."
-msgstr ""
-
-msgid "print patches not in series"
-msgstr ""
-
-msgid "hg qseries [-ms]"
-msgstr ""
-
-msgid "force removal with local changes"
-msgstr "强制删除,纵然有本地修改"
-
-msgid "bundle unrelated changesets"
-msgstr "打包不相关的修改集"
-
-msgid "no backups"
-msgstr "不备份"
-
-msgid "hg strip [-f] [-b] [-n] REV"
-msgstr ""
-
-msgid "hg qtop [-s]"
-msgstr ""
-
-msgid "hg qunapplied [-s] [PATCH]"
-msgstr ""
-
-msgid "finish all applied changesets"
-msgstr ""
-
-msgid "hg qfinish [-a] [REV...]"
-msgstr ""
-
-msgid ""
-"hook extension to email notifications on commits/pushes\n"
-"\n"
-"Subscriptions can be managed through hgrc. Default mode is to print\n"
-"messages to stdout, for testing and configuring.\n"
-"\n"
-"To use, configure notify extension and enable in hgrc like this:\n"
-"\n"
-"   [extensions]\n"
-"   hgext.notify =\n"
-"\n"
-"   [hooks]\n"
-"   # one email for each incoming changeset\n"
-"   incoming.notify = python:hgext.notify.hook\n"
-"   # batch emails when many changesets incoming at one time\n"
-"   changegroup.notify = python:hgext.notify.hook\n"
-"\n"
-"   [notify]\n"
-"   # config items go in here\n"
-"\n"
-" config items:\n"
-"\n"
-" REQUIRED:\n"
-"   config = /path/to/file # file containing subscriptions\n"
-"\n"
-" OPTIONAL:\n"
-"   test = True            # print messages to stdout for testing\n"
-"   strip = 3              # number of slashes to strip for url paths\n"
-"   domain = example.com   # domain to use if committer missing domain\n"
-"   style = ...            # style file to use when formatting email\n"
-"   template = ...         # template to use when formatting email\n"
-"   incoming = ...         # template to use when run as incoming hook\n"
-"   changegroup = ...      # template when run as changegroup hook\n"
-"   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"
-"                          # (serve == ssh or http, push, pull, bundle)\n"
-"   [email]\n"
-"   from = user@host.com   # email address to send as if none given\n"
-"   [web]\n"
-"   baseurl = http://hgserver/... # root of hg web site for browsing commits\n"
-"\n"
-" notify config file has same format as regular hgrc. it has two\n"
-" sections so you can express subscriptions in whatever way is handier\n"
-" for you.\n"
-"\n"
-"   [usersubs]\n"
-"   # key is subscriber email, value is \",\"-separated list of glob patterns\n"
-"   user@host = pattern\n"
-"\n"
-"   [reposubs]\n"
-"   # key is glob pattern, value is \",\"-separated list of subscriber emails\n"
-"   pattern = user@host\n"
-"\n"
-" glob patterns are matched against path to repo root.\n"
-"\n"
-" if you like, you can put notify config file in repo that users can\n"
-" push changes to, they can manage their own subscriptions."
-msgstr ""
-
-msgid "email notification class."
-msgstr ""
-
-msgid "strip leading slashes from local path, turn into web-safe path."
-msgstr ""
-
-msgid "try to clean up email addresses."
-msgstr ""
-
-msgid "return list of email addresses of subscribers to this repo."
-msgstr ""
-
-msgid "format one changeset."
-msgstr ""
-
-msgid "true if incoming changes from this source should be skipped."
-msgstr ""
-
-msgid "send message."
-msgstr ""
-
-#, python-format
-msgid "%s: %d new changesets"
-msgstr ""
-
-#, python-format
-msgid "notify: sending %d subscribers %d changes\n"
-msgstr ""
-
-#, python-format
-msgid ""
-"\n"
-"diffs (truncated from %d to %d lines):\n"
-"\n"
-msgstr ""
-
-#, python-format
-msgid ""
-"\n"
-"diffs (%d lines):\n"
-"\n"
-msgstr ""
-
-msgid ""
-"send email notifications to interested subscribers.\n"
-"\n"
-"    if used as changegroup hook, send one email for all changesets in\n"
-"    changegroup. else send one email per changeset."
-msgstr ""
-
-#, python-format
-msgid "notify: no subscribers to repo %s\n"
-msgstr ""
-
-#, python-format
-msgid "notify: changes have source \"%s\" - skipping\n"
-msgstr ""
-
-msgid ""
-"browse command output with external pager\n"
-"\n"
-"To set the pager that should be used, set the application variable:\n"
-"\n"
-"  [pager]\n"
-"  pager = LESS='FSRX' less\n"
-"\n"
-"If no pager is set, the pager extensions uses the environment\n"
-"variable $PAGER. If neither pager.pager, nor $PAGER is set, no pager\n"
-"is used.\n"
-"\n"
-"If you notice \"BROKEN PIPE\" error messages, you can disable them\n"
-"by setting:\n"
-"\n"
-"  [pager]\n"
-"  quiet = True\n"
-"\n"
-"You can disable the pager for certain commands by adding them to the\n"
-"pager.ignore list:\n"
-"\n"
-"  [pager]\n"
-"  ignore = version, help, update\n"
-"\n"
-"You can also enable the pager only for certain commands using pager.attend:\n"
-"\n"
-"  [pager]\n"
-"  attend = log\n"
-"\n"
-"If pager.attend is present, pager.ignore will be ignored.\n"
-"\n"
-"To ignore global commands like \"hg version\" or \"hg help\", you have to "
-"specify\n"
-"them in the global .hgrc\n"
-msgstr ""
-
-msgid ""
-"use suffixes to refer to ancestor revisions\n"
-"\n"
-"This extension allows you to use git-style suffixes to refer to\n"
-"the ancestors of a specific revision.\n"
-"\n"
-"For example, if you can refer to a revision as \"foo\", then:\n"
-"\n"
-"- foo^N = Nth parent of foo:\n"
-"  foo^0 = foo\n"
-"  foo^1 = first parent of foo\n"
-"  foo^2 = second parent of foo\n"
-"  foo^  = foo^1\n"
-"\n"
-"- foo~N = Nth first grandparent of foo\n"
-"  foo~0 = foo\n"
-"  foo~1 = foo^1 = foo^ = first parent of foo\n"
-"  foo~2 = foo^1^1 = foo^^ = first parent of first parent of foo\n"
-msgstr ""
-
-msgid ""
-"sending Mercurial changesets as a series of patch emails\n"
-"\n"
-"The series is started off with a \"[PATCH 0 of N]\" introduction,\n"
-"which describes the series as a whole.\n"
-"\n"
-"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 body parts:\n"
-"\n"
-"  The remainder of the changeset description.\n"
-"\n"
-"  [Optional] The result of running diffstat on the patch.\n"
-"\n"
-"  The patch itself, as generated by \"hg export\".\n"
-"\n"
-"Each message refers to all of its predecessors using the In-Reply-To\n"
-"and References headers, so they will show up as a sequence in\n"
-"threaded mail and news readers, and in mail archives.\n"
-"\n"
-"For each changeset, you will be prompted with a diffstat summary and\n"
-"the changeset summary, so you can be sure you are sending the right changes.\n"
-"\n"
-"To enable this extension:\n"
-"\n"
-"  [extensions]\n"
-"  hgext.patchbomb =\n"
-"\n"
-"To configure other defaults, add a section like this to your hgrc file:\n"
-"\n"
-"  [email]\n"
-"  from = My Name <my@email>\n"
-"  to = recipient1, recipient2, ...\n"
-"  cc = cc1, cc2, ...\n"
-"  bcc = bcc1, bcc2, ...\n"
-"\n"
-"Then you can use the \"hg email\" command to mail a series of changesets\n"
-"as a patchbomb.\n"
-"\n"
-"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 an an introductory\n"
-"message describing the patches of your patchbomb.  Then when all is\n"
-"done, patchbomb messages are displayed. If PAGER environment variable\n"
-"is set, your pager will be fired up once for each patchbomb message, so\n"
-"you can verify everything is alright.\n"
-"\n"
-"The \"-m\" (mbox) option is also very useful.  Instead of previewing\n"
-"each patchbomb message in a pager or sending the messages directly,\n"
-"it will create a UNIX mailbox file with the patch emails.  This\n"
-"mailbox file can be previewed with any mail user agent which supports\n"
-"UNIX mbox files, e.g. with mutt:\n"
-"\n"
-"  % mutt -R -f mbox\n"
-"\n"
-"When you are previewing the patchbomb messages, you can use `formail'\n"
-"(a utility that is commonly installed as part of the procmail package),\n"
-"to send each message out:\n"
-"\n"
-"  % formail -s sendmail -bm -t < mbox\n"
-"\n"
-"That should be all. Now your patchbomb is on its way out.\n"
-"\n"
-"You can also either configure the method option in the email section\n"
-"to be a sendmail compatable mailer or fill out the [smtp] section so\n"
-"that the patchbomb extension can automatically send patchbombs directly\n"
-"from the commandline. See the [email] and [smtp] sections in hgrc(5)\n"
-"for details."
-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\n"
-"\n"
-"    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.\n"
-"\n"
-"    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 body parts.  First, the rest of\n"
-"    the changeset description.  Next, (optionally) if the diffstat\n"
-"    program is installed, the result of running diffstat on the patch.\n"
-"    Finally, the patch itself, as generated by \"hg export\".\n"
-"\n"
-"    With --outgoing, emails will be generated for patches not\n"
-"    found in the destination repository (or only those which are\n"
-"    ancestors of the specified revisions if any are provided)\n"
-"\n"
-"    With --bundle, changesets are selected as for --outgoing,\n"
-"    but a single email containing a binary Mercurial bundle as an\n"
-"    attachment will be sent.\n"
-"\n"
-"    Examples:\n"
-"\n"
-"    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"
-"    hg email 3000             # send patch 3000 (deprecated)\n"
-"\n"
-"    hg email -o               # send all patches not in default\n"
-"    hg email -o DEST          # send all patches not in DEST\n"
-"    hg email -o -r 3000       # send all ancestors of 3000 not in default\n"
-"    hg email -o -r 3000 DEST  # send all ancestors of 3000 not in DEST\n"
-"\n"
-"    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 DEST  # bundle of all ancestors of 3000 not in DEST\n"
-"\n"
-"    Before using this command, you will need to enable email in your hgrc.\n"
-"    See the [email] section in hgrc(5) for details.\n"
-"    "
-msgstr ""
-
-msgid "Return the revisions present locally but not in dest"
-msgstr ""
-
-msgid "specify at least one changeset with -r or -o"
-msgstr ""
-
-msgid "--outgoing mode always on with --bundle; do not re-specify --outgoing"
-msgstr ""
-
-msgid "too many destinations"
-msgstr ""
-
-msgid "use only one form to specify the revision"
-msgstr ""
-
-msgid ""
-"\n"
-"Write the introductory message for the patch series.\n"
-"\n"
-msgstr ""
-
-#, python-format
-msgid ""
-"This patch series consists of %d patches.\n"
-"\n"
-msgstr ""
-
-msgid "Final summary:\n"
-msgstr ""
-
-msgid "Displaying "
-msgstr ""
-
-msgid "Writing "
-msgstr ""
-
-msgid "Sending "
-msgstr ""
-
-msgid "send patches as attachments"
-msgstr ""
-
-msgid "send patches as inline attachments"
-msgstr ""
-
-msgid "email addresses of blind carbon copy recipients"
-msgstr ""
-
-msgid "email addresses of copy recipients"
-msgstr ""
-
-msgid "add diffstat output to messages"
-msgstr ""
-
-msgid "use the given date as the sending date"
-msgstr ""
-
-msgid "use the given file as the series description"
-msgstr ""
-
-msgid "email address of sender"
-msgstr ""
-
-msgid "print messages that would be sent"
-msgstr ""
-
-msgid "write messages to mbox file instead of sending them"
-msgstr ""
-
-msgid "subject of first message (intro or single patch)"
-msgstr ""
-
-msgid "email addresses of recipients"
-msgstr ""
-
-msgid "omit hg patch header"
-msgstr ""
-
-msgid "send changes not found in the target repository"
-msgstr ""
-
-msgid "send changes not in target as a binary bundle"
-msgstr ""
-
-msgid "a revision to send"
-msgstr ""
-
-msgid "run even when remote repository is unrelated (with -b)"
-msgstr ""
-
-msgid "a base changeset to specify instead of a destination (with -b)"
-msgstr ""
-
-msgid "send an introduction email for a single patch"
-msgstr ""
-
-msgid "hg email [OPTION]... [DEST]..."
-msgstr ""
-
-msgid ""
-"removes files not tracked by Mercurial\n"
-"\n"
-"    Delete files not known to Mercurial. This is useful to test local and\n"
-"    uncommitted changes in an otherwise-clean source tree.\n"
-"\n"
-"    This means that purge will delete:\n"
-"     - Unknown files: files marked with \"?\" by \"hg status\"\n"
-"     - Empty directories: in fact Mercurial ignores directories unless they\n"
-"       contain files under source control managment\n"
-"    But it will leave untouched:\n"
-"     - Modified and unmodified tracked files\n"
-"     - Ignored files (unless --all is specified)\n"
-"     - New files added to the repository (with \"hg add\")\n"
-"\n"
-"    If directories are given on the command line, only files in these\n"
-"    directories are considered.\n"
-"\n"
-"    Be careful with purge, as you could irreversibly delete some files you\n"
-"    forgot to add to the repository. If you only want to print the list of\n"
-"    files that this program would delete, use the --print option.\n"
-"    "
-msgstr ""
-
-#, python-format
-msgid "%s cannot be removed"
-msgstr ""
-
-#, python-format
-msgid "warning: %s\n"
-msgstr ""
-
-#, python-format
-msgid "Removing file %s\n"
-msgstr "正在删除文件 %s\n"
-
-#, python-format
-msgid "Removing directory %s\n"
-msgstr "正在删除目录 %s\n"
-
-msgid "abort if an error occurs"
-msgstr ""
-
-msgid "purge ignored files too"
-msgstr ""
-
-msgid "print the file names instead of deleting them"
-msgstr ""
-
-msgid "end filenames with NUL, for use with xargs (implies -p)"
-msgstr ""
-
-msgid "hg purge [OPTION]... [DIR]..."
-msgstr ""
-
-msgid ""
-"move sets of revisions to a different ancestor\n"
-"\n"
-"This extension lets you rebase changesets in an existing Mercurial "
-"repository.\n"
-"\n"
-"For more information:\n"
-"http://www.selenic.com/mercurial/wiki/index.cgi/RebaseProject\n"
-msgstr ""
-
-msgid "return the correct ancestor"
-msgstr ""
-
-msgid "first revision, do not change ancestor\n"
-msgstr ""
-
-msgid ""
-"move changeset (and descendants) to a different branch\n"
-"\n"
-"    Rebase uses repeated merging to graft changesets from one part of "
-"history\n"
-"    onto another. This can be useful for linearizing local changes relative "
-"to\n"
-"    a master development tree.\n"
-"\n"
-"    If a rebase is interrupted to manually resolve a merge, it can be "
-"continued\n"
-"    with --continue or aborted with --abort.\n"
-"    "
-msgstr ""
-
-msgid "cannot use both keepbranches and extrafn"
-msgstr ""
-
-msgid "cannot use both abort and continue"
-msgstr ""
-
-msgid "cannot use collapse 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 "nothing to rebase\n"
-msgstr ""
-
-msgid "rebase merging completed\n"
-msgstr ""
-
-msgid "warning: new changesets detected on source branch, not stripping\n"
-msgstr ""
-
-msgid "rebase completed\n"
-msgstr ""
-
-#, python-format
-msgid "%d revisions have been skipped\n"
-msgstr ""
-
-msgid ""
-"Skip commit if collapsing has been required and rev is not the last\n"
-"    revision, commit otherwise\n"
-"    "
-msgstr ""
-
-msgid " set parents\n"
-msgstr ""
-
-msgid "Rebase a single revision"
-msgstr ""
-
-#, python-format
-msgid "rebasing %d:%s\n"
-msgstr ""
-
-#, python-format
-msgid " future parents are %d and %d\n"
-msgstr ""
-
-#, python-format
-msgid " update to %d:%s\n"
-msgstr ""
-
-msgid " already in target\n"
-msgstr ""
-
-#, python-format
-msgid " merge against %d:%s\n"
-msgstr ""
-
-msgid "fix unresolved conflicts with hg resolve then run hg rebase --continue"
-msgstr ""
-
-msgid "resuming interrupted rebase\n"
-msgstr ""
-
-#, python-format
-msgid "no changes, revision %d skipped\n"
-msgstr ""
-
-#, python-format
-msgid "next revision set to %s\n"
-msgstr ""
-
-msgid "Return the new parent relationship of the revision that will be rebased"
-msgstr ""
-
-#, python-format
-msgid "cannot use revision %d as base, result would have 3 parents"
-msgstr ""
-
-msgid "Update rebased mq patches - finalize and then import them"
-msgstr ""
-
-#, python-format
-msgid "revision %d is an mq patch (%s), finalize it.\n"
-msgstr ""
-
-#, python-format
-msgid "import mq patch %d (%s)\n"
-msgstr ""
-
-msgid "Store the current status to allow recovery"
-msgstr ""
-
-msgid "rebase status stored\n"
-msgstr ""
-
-msgid "Remove the status files"
-msgstr ""
-
-msgid "Restore a previously stored status"
-msgstr ""
-
-msgid "rebase status resumed\n"
-msgstr ""
-
-msgid "no rebase in progress"
-msgstr ""
-
-msgid "Restore the repository to its original state"
-msgstr ""
-
-msgid "warning: new changesets detected on target branch, not stripping\n"
-msgstr ""
-
-msgid "rebase aborted\n"
-msgstr ""
-
-msgid "Define which revisions are going to be rebased and where"
-msgstr ""
-
-msgid "cannot rebase onto an applied mq patch"
-msgstr ""
-
-msgid "cannot rebase an ancestor"
-msgstr ""
-
-msgid "cannot rebase a descendant"
-msgstr ""
-
-msgid "already working on current\n"
-msgstr ""
-
-msgid "already working on the current branch\n"
-msgstr ""
-
-#, python-format
-msgid "rebase onto %d starting from %d\n"
-msgstr ""
-
-msgid "unable to collapse, there is more than one external parent"
-msgstr ""
-
-msgid "Call rebase after pull if the latter has been invoked with --rebase"
-msgstr ""
-
-msgid "--update and --rebase are not compatible, ignoring the update flag\n"
-msgstr ""
-
-msgid "Replace pull with a decorator to provide --rebase option"
-msgstr ""
-
-msgid "rebase working directory to branch head"
-msgstr ""
-
-msgid "keep original revisions"
-msgstr ""
-
-msgid "keep original branches"
-msgstr ""
-
-msgid "rebase from a given revision"
-msgstr ""
-
-msgid "rebase from the base of a given revision"
-msgstr ""
-
-msgid "rebase onto a given revision"
-msgstr ""
-
-msgid "collapse the rebased revisions"
-msgstr ""
-
-msgid "continue an interrupted rebase"
-msgstr ""
-
-msgid "abort an interrupted rebase"
-msgstr ""
-
-msgid ""
-"hg rebase [-s rev | -b rev] [-d rev] [--collapse] | [-c] | [-a] | [--keep]"
-msgstr ""
-
-msgid "interactive change selection during commit or qrefresh"
-msgstr ""
-
-msgid ""
-"like patch.iterhunks, but yield different events\n"
-"\n"
-"    - ('file',    [header_lines + fromfile + tofile])\n"
-"    - ('context', [context_lines])\n"
-"    - ('hunk',    [hunk_lines])\n"
-"    - ('range',   (-start,len, +start,len, diffp))\n"
-"    "
-msgstr ""
-
-msgid "scan lr while predicate holds"
-msgstr ""
-
-msgid ""
-"patch header\n"
-"\n"
-"    XXX shoudn't we move this to mercurial/patch.py ?\n"
-"    "
-msgstr ""
-
-msgid "this modifies a binary file (all or nothing)\n"
-msgstr ""
-
-msgid "this is a binary file\n"
-msgstr ""
-
-#, python-format
-msgid "%d hunks, %d lines changed\n"
-msgstr ""
-
-msgid "hunk -> (n+,n-)"
-msgstr ""
-
-msgid ""
-"patch hunk\n"
-"\n"
-"    XXX shouldn't we merge this with patch.hunk ?\n"
-"    "
-msgstr ""
-
-msgid "patch -> [] of hunks "
-msgstr ""
-
-msgid "patch parsing state machine"
-msgstr ""
-
-msgid "Interactively filter patch chunks into applied-only chunks"
-msgstr ""
-
-msgid ""
-"fetch next portion from chunks until a 'header' is seen\n"
-"        NB: header == new-file mark\n"
-"        "
-msgstr ""
-
-msgid ""
-"prompt query, and process base inputs\n"
-"\n"
-"        - y/n for the rest of file\n"
-"        - y/n for the rest\n"
-"        - ? (help)\n"
-"        - q (quit)\n"
-"\n"
-"        else, input is returned to the caller.\n"
-"        "
-msgstr ""
-
-msgid "[Ynsfdaq?]"
-msgstr ""
-
-msgid "y"
-msgstr ""
-
-msgid "?"
-msgstr ""
-
-msgid "y - record this change"
-msgstr ""
-
-msgid "s"
-msgstr ""
-
-msgid "f"
-msgstr ""
-
-msgid "d"
-msgstr ""
-
-msgid "a"
-msgstr ""
-
-msgid "q"
-msgstr ""
-
-msgid "user quit"
-msgstr "用户退出"
-
-#, python-format
-msgid "examine changes to %s?"
-msgstr ""
-
-msgid " and "
-msgstr ""
-
-#, python-format
-msgid "record this change to %r?"
-msgstr ""
-
-msgid ""
-"interactively select changes to commit\n"
-"\n"
-"    If a list of files is omitted, all changes reported by \"hg status\"\n"
-"    will be candidates for recording.\n"
-"\n"
-"    See 'hg help dates' for a list of formats valid for -d/--date.\n"
-"\n"
-"    You will be prompted for whether to record changes to each\n"
-"    modified file, and for files with multiple changes, for each\n"
-"    change to use.  For each query, the following responses are\n"
-"    possible:\n"
-"\n"
-"    y - record this change\n"
-"    n - skip this change\n"
-"\n"
-"    s - skip remaining changes to this file\n"
-"    f - record remaining changes to this file\n"
-"\n"
-"    d - done, skip remaining changes and files\n"
-"    a - record all changes to all remaining files\n"
-"    q - quit, recording no changes\n"
-"\n"
-"    ? - display help"
-msgstr ""
-
-msgid ""
-"interactively record a new patch\n"
-"\n"
-"    see 'hg help qnew' & 'hg help record' for more information and usage\n"
-"    "
-msgstr ""
-
-msgid "'mq' extension not loaded"
-msgstr ""
-
-msgid "running non-interactively, use commit instead"
-msgstr ""
-
-msgid ""
-"This is generic record driver.\n"
-"\n"
-"        It's job is to interactively filter local changes, and accordingly\n"
-"        prepare working dir into a state, where the job can be delegated to\n"
-"        non-interactive commit command such as 'commit' or 'qrefresh'.\n"
-"\n"
-"        After the actual job is done by non-interactive command, working dir\n"
-"        state is restored to original.\n"
-"\n"
-"        In the end we'll record intresting changes, and everything else will "
-"be\n"
-"        left in place, so the user can continue his work.\n"
-"        "
-msgstr ""
-
-msgid "no changes to record\n"
-msgstr ""
-
-#, python-format
-msgid "backup %r as %r\n"
-msgstr ""
-
-msgid "applying patch\n"
-msgstr ""
-
-msgid "patch failed to apply"
-msgstr ""
-
-#, python-format
-msgid "restoring %r to %r\n"
-msgstr ""
-
-msgid "hg record [OPTION]... [FILE]..."
-msgstr ""
-
-msgid "hg qrecord [OPTION]... PATCH [FILE]..."
-msgstr ""
-
-msgid ""
-"patch transplanting tool\n"
-"\n"
-"This extension allows you to transplant patches from another branch.\n"
-"\n"
-"Transplanted patches are recorded in .hg/transplant/transplants, as a map\n"
-"from a changeset hash to its hash in the source repository.\n"
-msgstr ""
-
-msgid ""
-"returns True if a node is already an ancestor of parent\n"
-"        or has already been transplanted"
-msgstr ""
-
-msgid "apply the revisions in revmap one by one in revision order"
-msgstr ""
-
-#, python-format
-msgid "skipping already applied revision %s\n"
-msgstr ""
-
-#, python-format
-msgid "skipping merge changeset %s:%s\n"
-msgstr ""
-
-#, python-format
-msgid "%s merged at %s\n"
-msgstr ""
-
-#, python-format
-msgid "%s transplanted to %s\n"
-msgstr ""
-
-msgid "arbitrarily rewrite changeset before applying it"
-msgstr ""
-
-#, python-format
-msgid "filtering %s\n"
-msgstr ""
-
-msgid "filter failed"
-msgstr ""
-
-msgid "apply the patch in patchfile to the repository as a transplant"
-msgstr ""
-
-msgid "can only omit patchfile if merging"
-msgstr ""
-
-#, python-format
-msgid "%s: empty changeset"
-msgstr ""
-
-msgid "Fix up the merge and run hg transplant --continue"
-msgstr ""
-
-msgid "recover last transaction and apply remaining changesets"
-msgstr ""
-
-#, python-format
-msgid "%s transplanted as %s\n"
-msgstr ""
-
-msgid "commit working directory using journal metadata"
-msgstr ""
-
-msgid "transplant log file is corrupt"
-msgstr ""
-
-#, python-format
-msgid "working dir not at transplant parent %s"
-msgstr ""
-
-msgid "commit failed"
-msgstr ""
-
-msgid "journal changelog metadata for later recover"
-msgstr ""
-
-msgid "remove changelog journal"
-msgstr ""
-
-msgid "interactively transplant changesets"
-msgstr ""
-
-msgid "apply changeset? [ynmpcq?]:"
-msgstr ""
-
-msgid ""
-"transplant changesets from another branch\n"
-"\n"
-"    Selected changesets will be applied on top of the current working\n"
-"    directory with the log of the original changeset. If --log is\n"
-"    specified, log messages will have a comment appended of the form:\n"
-"\n"
-"    (transplanted from CHANGESETHASH)\n"
-"\n"
-"    You can rewrite the changelog message with the --filter option.\n"
-"    Its argument will be invoked with the current changelog message\n"
-"    as $1 and the patch as $2.\n"
-"\n"
-"    If --source is specified, selects changesets from the named\n"
-"    repository. If --branch is specified, selects changesets from the\n"
-"    branch holding the named revision, up to that revision. If --all\n"
-"    is specified, all changesets on the branch will be transplanted,\n"
-"    otherwise you will be prompted to select the changesets you want.\n"
-"\n"
-"    hg transplant --branch REVISION --all will rebase the selected branch\n"
-"    (up to the named revision) onto your current working directory.\n"
-"\n"
-"    You can optionally mark selected transplanted changesets as\n"
-"    merge changesets. You will not be prompted to transplant any\n"
-"    ancestors of a merged transplant, and you can merge descendants\n"
-"    of them normally instead of transplanting them.\n"
-"\n"
-"    If no merges or revisions are provided, hg transplant will start\n"
-"    an interactive changeset browser.\n"
-"\n"
-"    If a changeset application fails, you can fix the merge by hand and\n"
-"    then resume where you left off by calling hg transplant --continue.\n"
-"    "
-msgstr ""
-
-msgid "--continue is incompatible with branch, all or merge"
-msgstr ""
-
-msgid "no source URL, branch tag or revision list provided"
-msgstr ""
-
-msgid "--all requires a branch revision"
-msgstr ""
-
-msgid "--all is incompatible with a revision list"
-msgstr ""
-
-msgid "no revision checked out"
-msgstr ""
-
-msgid "outstanding uncommitted merges"
-msgstr ""
-
-msgid "outstanding local changes"
-msgstr ""
-
-msgid "pull patches from REPOSITORY"
-msgstr ""
-
-msgid "pull patches from branch BRANCH"
-msgstr ""
-
-msgid "pull all changesets up to BRANCH"
-msgstr ""
-
-msgid "skip over REV"
-msgstr ""
-
-msgid "merge at REV"
-msgstr ""
-
-msgid "append transplant info to log message"
-msgstr ""
-
-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]..."
-msgstr ""
-
-msgid ""
-"allow to use MBCS path with problematic encoding.\n"
-"\n"
-"Some MBCS encodings are not good for some path operations\n"
-"(i.e. splitting path, case conversion, etc.) with its encoded bytes.\n"
-"We call such a encoding (i.e. shift_jis and big5) as \"problematic\n"
-"encoding\".  This extension can be used to fix the issue with those\n"
-"encodings by wrapping some functions to convert to unicode string\n"
-"before path operation.\n"
-"\n"
-"This extension is usefull for:\n"
-" * Japanese Windows users using shift_jis encoding.\n"
-" * Chinese Windows users using big5 encoding.\n"
-" * All users who use a repository with one of problematic encodings\n"
-"   on case-insensitive file system.\n"
-"\n"
-"This extension is not needed for:\n"
-" * Any user who use only ascii chars in path.\n"
-" * Any user who do not use any of problematic encodings.\n"
-"\n"
-"Note that there are some limitations on using this extension:\n"
-" * You should use single encoding in one repository.\n"
-" * You should set same encoding for the repository by locale or HGENCODING.\n"
-"\n"
-"To use this extension, enable the extension in .hg/hgrc or ~/.hgrc:\n"
-"\n"
-"  [extensions]\n"
-"  hgext.win32mbcs =\n"
-"\n"
-"Path encoding conversion are done between unicode and util._encoding\n"
-"which is decided by mercurial from current locale setting or HGENCODING.\n"
-"\n"
-msgstr ""
-
-#, python-format
-msgid "[win32mbcs] filename conversion fail with %s encoding\n"
-msgstr ""
-
-msgid "[win32mbcs] cannot activate on this platform.\n"
-msgstr ""
-
-#, python-format
-msgid "[win32mbcs] activated with encoding: %s\n"
-msgstr ""
-
-#, python-format
-msgid ""
-"WARNING: %s already has %s line endings\n"
-"and does not need EOL conversion by the win32text plugin.\n"
-"Before your next commit, please reconsider your encode/decode settings in \n"
-"Mercurial.ini or %s.\n"
-msgstr ""
-
-#, python-format
-msgid "Attempt to commit or push text file(s) using %s line endings\n"
-msgstr ""
-
-#, python-format
-msgid "in %s: %s\n"
-msgstr ""
-
-#, python-format
-msgid ""
-"\n"
-"To prevent this mistake in your local repository,\n"
-"add to Mercurial.ini or .hg/hgrc:\n"
-"\n"
-"[hooks]\n"
-"pretxncommit.%s = python:hgext.win32text.forbid%s\n"
-"\n"
-"and also consider adding:\n"
-"\n"
-"[extensions]\n"
-"hgext.win32text =\n"
-"[encode]\n"
-"** = %sencode:\n"
-"[decode]\n"
-"** = %sdecode:\n"
-msgstr ""
-
-msgid ""
-"zeroconf support for mercurial repositories\n"
-"\n"
-"Zeroconf enabled repositories will be announced in a network without the "
-"need\n"
-"to configure a server or a service. They can be discovered without knowing\n"
-"their actual IP address.\n"
-"\n"
-"To use the zeroconf extension add the following entry to your hgrc file:\n"
-"\n"
-"[extensions]\n"
-"hgext.zeroconf =\n"
-"\n"
-"To allow other people to discover your repository using run \"hg serve\" in "
-"your\n"
-"repository.\n"
-"\n"
-" $ cd test\n"
-" $ hg serve\n"
-"\n"
-"You can discover zeroconf enabled repositories by running \"hg paths\".\n"
-"\n"
-" $ hg paths\n"
-" zc-test = http://example.com:8000/test\n"
-msgstr ""
-
-msgid "archive prefix contains illegal components"
-msgstr ""
-
-msgid "cannot give prefix when archiving to files"
-msgstr ""
-
-#, python-format
-msgid "unknown archive type '%s'"
-msgstr ""
-
-msgid "invalid changegroup"
-msgstr ""
-
-msgid "unknown parent"
-msgstr ""
-
-#, python-format
-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 ""
-
-#, python-format
-msgid "premature EOF reading chunk (got %d bytes, expected %d)"
-msgstr ""
-
-#, python-format
-msgid "username %s contains a newline"
-msgstr ""
-
-msgid "options --message and --logfile are mutually exclusive"
-msgstr ""
-
-#, python-format
-msgid "can't read commit message '%s': %s"
-msgstr ""
-
-msgid "limit must be a positive integer"
-msgstr ""
-
-msgid "limit must be positive"
-msgstr ""
-
-msgid "too many revisions specified"
-msgstr ""
-
-#, python-format
-msgid "invalid format spec '%%%s' in output file name"
-msgstr ""
-
-#, python-format
-msgid "adding %s\n"
-msgstr ""
-
-#, python-format
-msgid "removing %s\n"
-msgstr "正在删除 %s\n"
-
-#, python-format
-msgid "recording removal of %s as rename to %s (%d%% similar)\n"
-msgstr ""
-
-#, python-format
-msgid "%s: not copying - file is not managed\n"
-msgstr ""
-
-#, python-format
-msgid "%s: not copying - file has been marked for remove\n"
-msgstr ""
-
-#, python-format
-msgid "%s: not overwriting - %s collides with %s\n"
-msgstr ""
-
-#, python-format
-msgid "%s: not overwriting - file exists\n"
-msgstr ""
-
-#, python-format
-msgid "%s: deleted in working copy\n"
-msgstr ""
-
-#, python-format
-msgid "%s: cannot copy - %s\n"
-msgstr ""
-
-#, python-format
-msgid "%s %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 ""
-
-msgid "no source or destination specified"
-msgstr ""
-
-msgid "no destination specified"
-msgstr ""
-
-msgid "with multiple sources, destination must be an existing directory"
-msgstr ""
-
-#, python-format
-msgid "destination %s is not a directory"
-msgstr ""
-
-msgid "no files to copy"
-msgstr ""
-
-msgid "(consider using --after)\n"
-msgstr "(考虑使用 --after)\n"
-
-#, python-format
-msgid "changeset:   %d:%s\n"
-msgstr "修改集:      %d:%s\n"
-
-#, python-format
-msgid "branch:      %s\n"
-msgstr "分支:        %s\n"
-
-#, python-format
-msgid "tag:         %s\n"
-msgstr "标签:        %s\n"
-
-#, python-format
-msgid "parent:      %d:%s\n"
-msgstr "父亲:        %d:%s\n"
-
-#, python-format
-msgid "manifest:    %d:%s\n"
-msgstr "清单:        %d:%s\n"
-
-#, python-format
-msgid "user:        %s\n"
-msgstr "用户:        %s\n"
-
-#, python-format
-msgid "date:        %s\n"
-msgstr "日期:        %s\n"
-
-msgid "files+:"
-msgstr "文件+:"
-
-msgid "files-:"
-msgstr "文件-:"
-
-msgid "files:"
-msgstr "文件:"
-
-#, python-format
-msgid "files:       %s\n"
-msgstr "文件:        %s\n"
-
-#, python-format
-msgid "copies:      %s\n"
-msgstr "复制:        %s\n"
-
-#, python-format
-msgid "extra:       %s=%s\n"
-msgstr "额外:        %s=%s\n"
-
-msgid "description:\n"
-msgstr "描述:\n"
-
-#, python-format
-msgid "summary:     %s\n"
-msgstr "摘要:        %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 ""
-
-msgid "revision matching date not found"
-msgstr ""
-
-#, python-format
-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 file names"
-msgstr ""
-
-#, python-format
-msgid "file %s not found!"
-msgstr ""
-
-#, python-format
-msgid "no match under directory %s!"
-msgstr ""
-
-#, python-format
-msgid "can't commit %s: unsupported file type!"
-msgstr ""
-
-#, python-format
-msgid "file %s not tracked!"
-msgstr ""
-
-msgid ""
-"add the specified files on the next commit\n"
-"\n"
-"    Schedule files to be version controlled and added to the repository.\n"
-"\n"
-"    The files will be added to the repository at the next commit. To\n"
-"    undo an add before that, see hg revert.\n"
-"\n"
-"    If no names are given, add all files to the repository.\n"
-"    "
-msgstr ""
-"增加指定文件用于下次提交\n"
-"\n"
-"    调度文件受版本控制,增加到版本库。\n"
-"\n"
-"    这些文件将于下次提交时增加到版本库。需要在提交前撤销增加,\n"
-"    参见 'hg revert'。\n"
-"\n"
-"    如果没有给出文件名称,就增加所有文件到版本库。\n"
-"    "
-
-msgid ""
-"add all new files, delete all missing files\n"
-"\n"
-"    Add all new files and remove all missing files from the repository.\n"
-"\n"
-"    New files are ignored if they match any of the patterns in .hgignore. As\n"
-"    with add, these changes take effect at the next commit.\n"
-"\n"
-"    Use the -s option to detect renamed files. With a parameter > 0,\n"
-"    this compares every removed file with every added file and records\n"
-"    those similar enough as renames. This option takes a percentage\n"
-"    between 0 (disabled) and 100 (files must be identical) as its\n"
-"    parameter. Detecting renamed files this way can be expensive.\n"
-"    "
-msgstr ""
-
-msgid "similarity must be a number"
-msgstr ""
-
-msgid "similarity must be between 0 and 100"
-msgstr ""
-
-msgid ""
-"show changeset information per file line\n"
-"\n"
-"    List changes in files, showing the revision id responsible for each line\n"
-"\n"
-"    This command is useful to discover who did a change or when a change "
-"took\n"
-"    place.\n"
-"\n"
-"    Without the -a option, annotate will avoid processing files it\n"
-"    detects as binary. With -a, annotate will generate an annotation\n"
-"    anyway, probably with undesirable results.\n"
-"    "
-msgstr ""
-"显示指定文件每行的修改集信息\n"
-"\n"
-"    列出文件中的修改,为每行显示版本标识\n"
-"\n"
-"    此命令用于查找谁做出的修改,或者什么时候发生的修改\n"
-"\n"
-"    当没有选项 '-a' 时,annotate 会避免处理检测为二进制的文件\n"
-"    当使用选项 '-a' 时,annotate 会直接产生追溯,可能会有不合需要的结果\n"
-"    "
-
-msgid "at least one file name or pattern required"
-msgstr ""
-
-msgid "at least one of -n/-c is required for -l"
-msgstr ""
-
-#, python-format
-msgid "%s: binary file\n"
-msgstr ""
-
-msgid ""
-"create unversioned archive of a repository revision\n"
-"\n"
-"    By default, the revision used is the parent of the working\n"
-"    directory; use \"-r\" to specify a different revision.\n"
-"\n"
-"    To specify the type of archive to create, use \"-t\". Valid\n"
-"    types are:\n"
-"\n"
-"    \"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\n"
-"\n"
-"    The exact name of the destination archive or directory is given\n"
-"    using a format string; see \"hg help export\" for details.\n"
-"\n"
-"    Each member added to an archive file has a directory prefix\n"
-"    prepended. Use \"-p\" to specify a format string for the prefix.\n"
-"    The default is the basename of the archive, with suffixes removed.\n"
-"    "
-msgstr ""
-
-msgid "no working directory: please specify a revision"
-msgstr ""
-
-msgid "repository root cannot be destination"
-msgstr ""
-
-msgid "cannot archive plain files to stdout"
-msgstr ""
-
-msgid ""
-"reverse effect of earlier changeset\n"
-"\n"
-"    Commit the backed out changes as a new changeset. The new\n"
-"    changeset is a child of the backed out changeset.\n"
-"\n"
-"    If you back out 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 (current one by default).\n"
-"\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\n"
-"    hand. The result of this merge is not committed, as with a normal\n"
-"    merge.\n"
-"\n"
-"    See 'hg help dates' for a list of formats valid for -d/--date.\n"
-"    "
-msgstr ""
-
-msgid "please specify just one revision"
-msgstr ""
-
-msgid "please specify a revision to backout"
-msgstr ""
-
-msgid "cannot back out change on a different branch"
-msgstr ""
-
-msgid "cannot back out a change with no parents"
-msgstr ""
-
-msgid "cannot back out a merge changeset without --parent"
-msgstr ""
-
-#, python-format
-msgid "%s is not a parent of %s"
-msgstr ""
-
-msgid "cannot use --parent on non-merge changeset"
-msgstr ""
-
-#, python-format
-msgid "Backed out changeset %s"
-msgstr ""
-
-#, python-format
-msgid "changeset %s backs out changeset %s\n"
-msgstr ""
-
-#, python-format
-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\n"
-"\n"
-"    This command helps to find changesets which introduce problems.\n"
-"    To use, mark the earliest changeset you know exhibits the problem\n"
-"    as bad, then mark the latest changeset which is free from the\n"
-"    problem as good. Bisect will update your working directory to a\n"
-"    revision for testing (unless the --noupdate option is specified).\n"
-"    Once you have performed tests, mark the working directory as bad\n"
-"    or good and bisect will either update to another candidate changeset\n"
-"    or announce that it has found the bad revision.\n"
-"\n"
-"    As a shortcut, you can also use the revision argument to mark a\n"
-"    revision as good or bad without checking it out first.\n"
-"\n"
-"    If you supply a command it will be used for automatic bisection. Its "
-"exit\n"
-"    status will be used as flag to mark revision as bad or good. In case "
-"exit\n"
-"    status is 0 the revision is marked as good, 125 - skipped, 127 (command "
-"not\n"
-"    found) - bisection will be aborted; any other status bigger than 0 will\n"
-"    mark revision as bad.\n"
-"    "
-msgstr ""
-
-#, python-format
-msgid "The first %s revision is:\n"
-msgstr ""
-
-#, python-format
-msgid "Due to skipped revisions, the first %s revision could be any of:\n"
-msgstr ""
-
-msgid "cannot bisect (no known good revisions)"
-msgstr ""
-
-msgid "cannot bisect (no known bad revisions)"
-msgstr ""
-
-msgid "(use of 'hg bisect <cmd>' is deprecated)\n"
-msgstr ""
-
-msgid "incompatible arguments"
-msgstr ""
-
-#, python-format
-msgid "failed to execute %s"
-msgstr ""
-
-#, python-format
-msgid "%s killed"
-msgstr ""
-
-#, python-format
-msgid "Changeset %s: %s\n"
-msgstr ""
-
-#, python-format
-msgid "Testing changeset %s:%s (%s changesets remaining, ~%s tests)\n"
-msgstr ""
-
-msgid ""
-"set or show the current branch name\n"
-"\n"
-"    With no argument, show the current branch name. With one argument,\n"
-"    set the working directory branch name (the branch does not exist in\n"
-"    the repository until the next commit).\n"
-"\n"
-"    Unless --force is specified, branch will not let you set a\n"
-"    branch name that shadows an existing branch.\n"
-"\n"
-"    Use --clean to reset the working directory branch to that of the\n"
-"    parent of the working directory, negating a previous branch change.\n"
-"\n"
-"    Use the command 'hg update' to switch to an existing branch.\n"
-"    "
-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 ""
-
-#, python-format
-msgid "marked working directory as branch %s\n"
-msgstr ""
-
-msgid ""
-"list repository named branches\n"
-"\n"
-"    List the repository's named branches, indicating which ones are\n"
-"    inactive. If active is specified, only show active branches.\n"
-"\n"
-"    A branch is considered active if it contains repository heads.\n"
-"\n"
-"    Use the command 'hg update' to switch to an existing branch.\n"
-"    "
-msgstr ""
-
-msgid ""
-"create a changegroup file\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"
-"    --all (or --base null). To change the compression method applied,\n"
-"    use the -t option (by default, bundles are compressed using bz2).\n"
-"\n"
-"    The bundle file can then be transferred using conventional means and\n"
-"    applied to another repository with the unbundle or pull command.\n"
-"    This is useful when direct push and pull are not available or when\n"
-"    exporting an entire repository is undesirable.\n"
-"\n"
-"    Applying bundles preserves all changeset contents including\n"
-"    permissions, copy/rename information, and revision history.\n"
-"    "
-msgstr ""
-
-msgid "--base is incompatible with specifiying a destination"
-msgstr ""
-
-msgid "unknown bundle type specified with --type"
-msgstr ""
-
-msgid ""
-"output the current or given revision of files\n"
-"\n"
-"    Print the specified files as they were at the given revision.\n"
-"    If no revision is given, the parent of the working directory is used,\n"
-"    or tip if no revision is checked out.\n"
-"\n"
-"    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:\n"
-"\n"
-"    %s   basename of file being printed\n"
-"    %d   dirname of file being printed, or '.' if in repo root\n"
-"    %p   root-relative path name of file being printed\n"
-"    "
-msgstr ""
-
-msgid ""
-"make a copy of an existing 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"
-"    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"
-"    If you use the -r option to clone up to a specific revision, no\n"
-"    subsequent revisions will be present in the cloned repository.\n"
-"    This option implies --pull, even on local repositories.\n"
-"\n"
-"    If the -U option is used, the new clone will contain only a repository\n"
-"    (.hg) and no working copy (the working copy 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"
-"    Look at the help text for urls for important details about ssh:// URLs.\n"
-"    "
-msgstr ""
-"复制现有版本库\n"
-"\n"
-"    在新目录创建现有版本库的副本。\n"
-"\n"
-"    如果没有指定目标目录,默认使用源版本库的基本名称。\n"
-"\n"
-"    源版本库的位置增加到新版本库的文件 .hg/hgrc 中,作为未来更新时的默认\n"
-"    位置。\n"
-"\n"
-"    为了效率,在复制时,只要源版本库和目标版本库位于同一文件系统,就会使\n"
-"    用硬链接(注意这只适用于版本库中的数据,不适用于检出的文件)。某些文件\n"
-"    系统,例如 AFS,没有正确实现硬链接,还不报告错误。在这些情况下,请使\n"
-"    用选项 '--pull'来避免硬链接。\n"
-"\n"
-"    在某些情况下,你可以通过下述命令用硬链接复制且检出文件:\n"
-"\n"
-"      $ cp -al REPO REPOCLONE\n"
-"\n"
-"    这是最快速的复制方法,但是不见得总是安全。此操作不是原子的(请确认在你\n"
-"    操作期间版本库未修改),还要确认你的编辑器会破坏硬链接。还有,它与将元\n"
-"    数据放到目录 .hg 中的某些扩展不兼容,例如 mq。\n"
-"\n"
-"    如果你使用选项 '-r' 复制指定版本,那么后来的版本不会在新版本库中出现。\n"
-"    此选项暗示 '--pull',纵然是操作本地版本库。\n"
-"\n"
-"    如果你使用了选项 '-U',那么新仓库只包含版本库(.hg),没有工作副本。\n"
-"\n"
-"    参见 'hg help urls' 以了解有效源格式的详情。\n"
-"\n"
-"    也可以指定位置 'ssh://' 作为目标,但是不会创建文件 .hg/hgrc,并且工作\n"
-"    副本将会创建在远程。参见主题 'urls' 的帮助信息,以了解位置 'ssh://'\n"
-"    的重要详情。\n"
-"    "
-
-msgid ""
-"commit the specified files or all outstanding changes\n"
-"\n"
-"    Commit changes to the given files into the repository.\n"
-"\n"
-"    If a list of files is omitted, all changes reported by \"hg status\"\n"
-"    will be committed.\n"
-"\n"
-"    If you are committing the result of a merge, do not provide any\n"
-"    file names or -I/-X filters.\n"
-"\n"
-"    If no commit message is specified, the configured editor is started to\n"
-"    prompt you for a message.\n"
-"\n"
-"    See 'hg help dates' for a list of formats valid for -d/--date.\n"
-"    "
-msgstr ""
-"提交指定文件的修改或全部修改\n"
-"\n"
-"    将指定文件的修改提交到版本库。\n"
-"\n"
-"    如果省略了文件列表,那么 \"hg status\" 报告的所有修改都被提交。\n"
-"\n"
-"    如果你要提交合并结果,请不要提供任何文件名称或过滤器 '-I/-X'。\n"
-"\n"
-"    如果没有指定提交日志,将会启动配置的编辑器,让你输入信息。\n"
-"\n"
-"    参见 'hg help dates' 以获得 '-d/--date' 的有效格式列表。\n"
-"    "
-
-msgid "created new head\n"
-msgstr "已经创建新顶点\n"
-
-#, python-format
-msgid "committed changeset %d:%s\n"
-msgstr "提交修改集 %d:%s\n"
-
-msgid ""
-"mark files as copied for the next commit\n"
-"\n"
-"    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.\n"
-"\n"
-"    By default, this command copies the contents of files as they\n"
-"    stand in the working directory. If invoked with --after, the\n"
-"    operation is recorded, but no copying is performed.\n"
-"\n"
-"    This command takes effect with the next commit. To undo a copy\n"
-"    before that, see hg revert.\n"
-"    "
-msgstr ""
-
-msgid "find the ancestor revision of two revisions in a given index"
-msgstr ""
-
-msgid "There is no Mercurial repository here (.hg not found)"
-msgstr "此处没有水银版本库(没有找到 .hg)"
-
-msgid "either two or three arguments required"
-msgstr "需要两个或三个参数"
-
-msgid "returns the completion list associated with the given command"
-msgstr ""
-
-msgid "rebuild the dirstate as it would look like for the given revision"
-msgstr ""
-
-msgid "validate the correctness of the current dirstate"
-msgstr ""
-
-#, python-format
-msgid "%s in state %s, but not in manifest1\n"
-msgstr ""
-
-#, python-format
-msgid "%s in state %s, but also in manifest1\n"
-msgstr ""
-
-#, python-format
-msgid "%s in state %s, but not in either manifest\n"
-msgstr ""
-
-#, python-format
-msgid "%s in manifest1, but listed as state %s"
-msgstr ""
-
-msgid ".hg/dirstate inconsistent with current parent's manifest"
-msgstr ""
-
-msgid ""
-"show combined config settings from all hgrc files\n"
-"\n"
-"    With no args, print names and values of all config items.\n"
-"\n"
-"    With one arg of the form section.name, print just the value of\n"
-"    that config item.\n"
-"\n"
-"    With multiple args, print names and values of all config items\n"
-"    with matching section names."
-msgstr ""
-
-msgid "only one config item permitted"
-msgstr ""
-
-msgid ""
-"manually set the parents of the current working directory\n"
-"\n"
-"    This is useful for writing repository conversion tools, but should\n"
-"    be used with care.\n"
-"    "
-msgstr ""
-
-msgid "show the contents of the current dirstate"
-msgstr ""
-
-#, python-format
-msgid "copy: %s -> %s\n"
-msgstr ""
-
-msgid "dump the contents of a data file revision"
-msgstr ""
-
-#, python-format
-msgid "invalid revision identifier %s"
-msgstr ""
-
-msgid "parse and display a date"
-msgstr ""
-
-msgid "dump the contents of an index file"
-msgstr ""
-
-msgid "dump an index DAG as a .dot file"
-msgstr ""
-
-msgid "test Mercurial installation"
-msgstr ""
-
-#, python-format
-msgid "Checking encoding (%s)...\n"
-msgstr ""
-
-msgid " (check that your locale is properly set)\n"
-msgstr ""
-
-msgid "Checking extensions...\n"
-msgstr ""
-
-msgid " One or more extensions could not be found"
-msgstr ""
-
-msgid " (check that you compiled the extensions)\n"
-msgstr ""
-
-msgid "Checking templates...\n"
-msgstr ""
-
-msgid " (templates seem to have been installed incorrectly)\n"
-msgstr ""
-
-msgid "Checking patch...\n"
-msgstr ""
-
-msgid " patch call failed:\n"
-msgstr ""
-
-msgid " unexpected patch output!\n"
-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://www.selenic.com/"
-"mercurial/bts\n"
-msgstr ""
-
-msgid "Checking commit editor...\n"
-msgstr ""
-
-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 ""
-
-#, python-format
-msgid " Can't find editor '%s' in PATH\n"
-msgstr ""
-
-msgid "Checking username...\n"
-msgstr ""
-
-msgid " (specify a username in your .hgrc file)\n"
-msgstr ""
-
-msgid "No problems detected\n"
-msgstr ""
-
-#, python-format
-msgid "%s problems detected, please check your install!\n"
-msgstr ""
-
-msgid "dump rename information"
-msgstr ""
-
-#, python-format
-msgid "%s renamed from %s:%s\n"
-msgstr ""
-
-#, python-format
-msgid "%s not renamed\n"
-msgstr ""
-
-msgid "show how files match on given patterns"
-msgstr ""
-
-msgid ""
-"diff repository (or selected files)\n"
-"\n"
-"    Show differences between revisions for the specified files.\n"
-"\n"
-"    Differences between files are shown using the unified diff format.\n"
-"\n"
-"    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.\n"
-"\n"
-"    When two revision arguments are given, then changes are shown\n"
-"    between those revisions. If only one revision is specified then\n"
-"    that revision is compared to the working directory, and, when no\n"
-"    revisions are specified, the working directory files are compared\n"
-"    to its parent.\n"
-"\n"
-"    Without the -a option, diff will avoid generating diffs of files\n"
-"    it detects as binary. With -a, diff will generate a diff anyway,\n"
-"    probably with undesirable results.\n"
-"\n"
-"    Use the --git option to generate diffs in the git extended diff\n"
-"    format. For more information, read hg help diffs.\n"
-"    "
-msgstr ""
-"在版本库中比较(指定的文件)\n"
-"\n"
-"    显示指定文件在版本间的差异。\n"
-"\n"
-"    文件间的差异使用同一差异格式显示。\n"
-"\n"
-"    注意: 对合并的比较可能会产生不期望的结果,因为没有指定版本时,默认\n"
-"    与工作目录的直接父亲比较。\n"
-"\n"
-"    当给出两个版本参数时,会显示在这些版本间的修改。如果只给出一个版本,\n"
-"    那么它将与工作目录比较。当没有指定版本时,将比较工作目录中的文件与\n"
-"    它的直接父亲。\n"
-"\n"
-"    当没有选项 '-a' 时,将会避免处理检测为二进制的文件。当使用选项 '-a'\n"
-"    时,可能会有不合需要的结果。\n"
-"\n"
-"    使用选项 '--git' 会使用 git 扩展差异格式。请阅读 'hg help diffs' 以\n"
-"    了解更多信息。\n"
-"    "
-
-msgid ""
-"dump the header and diffs for one or more changesets\n"
-"\n"
-"    Print the changeset header and diffs for one or more revisions.\n"
-"\n"
-"    The information shown in the changeset header is: author,\n"
-"    changeset hash, parent(s) and commit comment.\n"
-"\n"
-"    NOTE: export may generate unexpected diff output for merge changesets,\n"
-"    as it will compare the merge changeset against its first parent only.\n"
-"\n"
-"    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:\n"
-"\n"
-"    %%   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\n"
-"\n"
-"    Without the -a option, export will avoid generating diffs of files\n"
-"    it detects as binary. With -a, export will generate a diff anyway,\n"
-"    probably with undesirable results.\n"
-"\n"
-"    Use the --git option to generate diffs in the git extended diff\n"
-"    format. Read the diffs help topic for more information.\n"
-"\n"
-"    With the --switch-parent option, the diff will be against the second\n"
-"    parent. It can be useful to review a merge.\n"
-"    "
-msgstr ""
-"为一个或多个修改集输出标题和差异\n"
-"\n"
-"    为一个或多个版本输出标题和差异。\n"
-"\n"
-"    在修改集标题中显示的信息是: 作者,修改集哈希,父亲和提交日志。\n"
-"\n"
-"    注意: 对于合并修改集,导出可能产生不期望的差异输出,因为它只会将合并\n"
-"    修改集与其第一个父亲比较。\n"
-"\n"
-"    可以输出到文件,这时会使用指定的格式化字符串构造文件名称。格式化规则\n"
-"    如下:\n"
-"\n"
-"    %%   字符 \"%\"\n"
-"    %H   修改集哈希 (40 位十六进制数字)\n"
-"    %N   产生的补丁号\n"
-"    %R   修改集版本号\n"
-"    %b   待导出的版本库的基本名称\n"
-"    %h   短修改集哈希(12 位十六进制数字)\n"
-"    %n   从 1 开始补 0 的序列号\n"
-"    %r   补 0 的修改集版本号\n"
-"\n"
-"    当没有选项 '-a' 时,将会避免处理检测为二进制的文件。当使用选项 '-a'\n"
-"    时,可能会有不合需要的结果。\n"
-"\n"
-"    使用选项 '--git' 会使用 git 扩展差异格式。请阅读差异帮助主题以了解\n"
-"    更多信息。\n"
-"\n"
-"    使用选项 '--switch-parent',将会与第二个父亲比较。对于复审合并很有用。\n"
-"    "
-
-msgid "export requires at least one changeset"
-msgstr ""
-
-msgid "exporting patches:\n"
-msgstr ""
-
-msgid "exporting patch:\n"
-msgstr ""
-
-msgid ""
-"search for a pattern in specified files and revisions\n"
-"\n"
-"    Search revisions of files for a regular expression.\n"
-"\n"
-"    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\n"
-"    a match appears.\n"
-"\n"
-"    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"
-"    "
-msgstr ""
-
-#, python-format
-msgid "grep: invalid match pattern: %s\n"
-msgstr ""
-
-msgid ""
-"show current repository heads or show branch heads\n"
-"\n"
-"    With no arguments, show all repository head changesets.\n"
-"\n"
-"    If branch or revisions names are given this will show the heads of\n"
-"    the specified branches or the branches those revisions are tagged\n"
-"    with.\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"
-"    Branch heads are changesets that have a given branch tag, but have\n"
-"    no child changesets with that tag. They are usually where\n"
-"    development on the given branch takes place.\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 ""
-
-msgid ""
-"show help for a given topic or a help overview\n"
-"\n"
-"    With no arguments, print a list of commands and short help.\n"
-"\n"
-"    Given a topic, extension, or command name, print help for that topic."
-msgstr ""
-
-msgid "global options:"
-msgstr "全局选项:"
-
-msgid "use \"hg help\" for the full list of commands"
-msgstr "使用 \"hg help\" 获得全部命令的列表"
-
-msgid "use \"hg help\" for the full list of commands or \"hg -v\" for details"
-msgstr "使用 \"hg help\" 获得全部命令的列表,或 \"hg -v\" 获得详细信息"
-
-#, python-format
-msgid "use \"hg -v help%s\" to show aliases and global options"
-msgstr "使用 \"hg -v help%s\" 显示别名和全局选项"
-
-#, python-format
-msgid "use \"hg -v help %s\" to show global options"
-msgstr "使用 \"hg -v help %s\" 显示全局选项"
-
-msgid ""
-"list of commands:\n"
-"\n"
-msgstr ""
-"命令列表:\n"
-"\n"
-
-#, python-format
-msgid ""
-"\n"
-"aliases: %s\n"
-msgstr ""
-"\n"
-"别名: %s\n"
-
-msgid "(no help text available)"
-msgstr "(没有可用的帮助信息)"
-
-msgid "options:\n"
-msgstr "选项:\n"
-
-msgid "no commands defined\n"
-msgstr ""
-
-msgid ""
-"\n"
-"enabled extensions:\n"
-"\n"
-msgstr ""
-"\n"
-"启用的扩展:\n"
-"\n"
-
-#, python-format
-msgid " %s   %s\n"
-msgstr ""
-
-msgid "no help text available"
-msgstr "没有可用的帮助信息"
-
-#, python-format
-msgid "%s extension - %s\n"
-msgstr ""
-
-msgid "Mercurial Distributed SCM\n"
-msgstr "分布式软件配置管理工具 - 水银\n"
-
-msgid ""
-"basic commands:\n"
-"\n"
-msgstr ""
-"基本命令:\n"
-"\n"
-
-msgid ""
-"\n"
-"additional help topics:\n"
-"\n"
-msgstr ""
-"\n"
-"额外的帮助主题:\n"
-"\n"
-
-msgid ""
-"identify the working copy or specified revision\n"
-"\n"
-"    With no revision, print a summary of the current state of the repo.\n"
-"\n"
-"    With a path, do a lookup in another repository.\n"
-"\n"
-"    This summary identifies the repository state using one or two parent\n"
-"    hash identifiers, followed by a \"+\" if there are uncommitted changes\n"
-"    in the working directory, a list of tags for this revision and a branch\n"
-"    name for non-default branches.\n"
-"    "
-msgstr ""
-
-msgid ""
-"import an ordered set of patches\n"
-"\n"
-"    Import a list of patches and commit them individually.\n"
-"\n"
-"    If there are outstanding changes in the working directory, import\n"
-"    will abort unless given the -f flag.\n"
-"\n"
-"    You can import a patch straight from a mail message. Even patches\n"
-"    as attachments work (body part must be type text/plain or\n"
-"    text/x-patch to be used). 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.\n"
-"\n"
-"    If the imported patch was generated by hg export, user and description\n"
-"    from patch override values from message headers and body. Values\n"
-"    given on command line with -m and -u override these.\n"
-"\n"
-"    If --exact is specified, import will set the working directory\n"
-"    to the parent of each patch before applying it, and will abort\n"
-"    if the resulting changeset has a different ID than the one\n"
-"    recorded in the patch. This may happen due to character set\n"
-"    problems or other deficiencies in the text patch format.\n"
-"\n"
-"    With --similarity, hg will attempt to discover renames and copies\n"
-"    in the patch in the same way as 'addremove'.\n"
-"\n"
-"    To read a patch from standard input, use patch name \"-\".\n"
-"    See 'hg help dates' for a list of formats valid for -d/--date.\n"
-"    "
-msgstr ""
-
-msgid "applying patch from stdin\n"
-msgstr ""
-
-msgid "no diffs found"
-msgstr ""
-
-#, python-format
-msgid ""
-"message:\n"
-"%s\n"
-msgstr ""
-
-msgid "not a mercurial patch"
-msgstr ""
-
-msgid "patch is damaged or loses information"
-msgstr ""
-
-msgid ""
-"show new changesets found in source\n"
-"\n"
-"    Show new changesets found in the specified path/URL or the default\n"
-"    pull location. These are the changesets that would be pulled if a pull\n"
-"    was requested.\n"
-"\n"
-"    For remote repository, using --bundle avoids downloading the changesets\n"
-"    twice if the incoming is followed by a pull.\n"
-"\n"
-"    See pull for valid source format details.\n"
-"    "
-msgstr ""
-
-msgid ""
-"create a new repository in the given directory\n"
-"\n"
-"    Initialize a new repository in the given directory. If the given\n"
-"    directory does not exist, it is created.\n"
-"\n"
-"    If no directory is given, the current directory is used.\n"
-"\n"
-"    It is possible to specify an ssh:// URL as the destination.\n"
-"    See 'hg help urls' for more information.\n"
-"    "
-msgstr ""
-"在指定目录创建新版本库\n"
-"\n"
-"    在指定目录初始化新版本库。如果指定的目录不存在,那么会被创建。\n"
-"\n"
-"    如果没有指定目录,就使用当前目录。\n"
-"\n"
-"    可以指定位置 'ssh://' 作为目标。参见命令 'hg help urls' 的帮助信息,\n"
-"    以了解位置 'ssh://' 的重要详情。\n"
-"    "
-
-msgid ""
-"locate files matching specific patterns\n"
-"\n"
-"    Print all files under Mercurial control whose names match the\n"
-"    given patterns.\n"
-"\n"
-"    This command searches the entire repository by default. To search\n"
-"    just the current directory and its subdirectories, use\n"
-"    \"--include .\".\n"
-"\n"
-"    If no patterns are given to match, this command prints all file\n"
-"    names.\n"
-"\n"
-"    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\".\n"
-"    This will avoid the problem of \"xargs\" treating single filenames\n"
-"    that contain white space as multiple filenames.\n"
-"    "
-msgstr ""
-
-msgid ""
-"show revision history of entire repository or files\n"
-"\n"
-"    Print the revision history of the specified files or the entire\n"
-"    project.\n"
-"\n"
-"    File history is shown without following rename or copy history of\n"
-"    files. Use -f/--follow with a file name to follow history across\n"
-"    renames and copies. --follow without a file name will only show\n"
-"    ancestors or descendants of the starting revision. --follow-first\n"
-"    only follows the first parent of merge revisions.\n"
-"\n"
-"    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.\n"
-"\n"
-"    See 'hg help dates' for a list of formats valid for -d/--date.\n"
-"\n"
-"    By default this command outputs: changeset id and hash, tags,\n"
-"    non-trivial parents, user, date and time, and a summary for each\n"
-"    commit. When the -v/--verbose switch is used, the list of changed\n"
-"    files and full commit message is shown.\n"
-"\n"
-"    NOTE: log -p may generate unexpected diff output for merge\n"
-"    changesets, as it will only compare the merge changeset against\n"
-"    its first parent. Also, the files: list will only reflect files\n"
-"    that are different from BOTH parents.\n"
-"\n"
-"    "
-msgstr ""
-"显示全部版本库或指定文件的版本历史\n"
-"\n"
-"    显示全部版本库或指定文件的版本历史。\n"
-"\n"
-"    显示文件历史的时候不跟踪改名或复制。对文件名称使用 '-f/--follow'\n"
-"    会跟踪改名或复制的历史。当不给出文件名称时,使用 '--follow' 只显\n"
-"    示开始版本的直系祖先。使用 '--follow-first' 只显示合并版本的第一\n"
-"    个父亲。\n"
-"\n"
-"    如果没有指定版本范围,默认是 'tip:0'。当使用 '--follow' 时,使用\n"
-"    工作目录的父亲作为开始版本。\n"
-"\n"
-"    参见 'hg help dates' 以获得 '-d/--date' 的有效格式列表。\n"
-"\n"
-"    此命令缺省输出: 修改集标识和哈希,标签,父亲,提交者,日期和时间,\n"
-"    以及每次提交的概要信息。当使用选项 '-v/--verbose' 时,会显示文件\n"
-"    变更列表和完整的提交信息。\n"
-"\n"
-"    注意: 对于合并修改集,'log -p' 可能产生不期望的差异输出,因为它只\n"
-"    会将合并修改集与其第一个父亲比较。而且,只显示对所有父亲都不同的\n"
-"    文件列表。\n"
-"\n"
-"    "
-
-msgid ""
-"looks up all renames for a file (up to endrev) the first\n"
-"        time the file is given. It indexes on the changerev and only\n"
-"        parses the manifest if linkrev != changerev.\n"
-"        Returns rename info for fn at changerev rev."
-msgstr ""
-
-msgid ""
-"output the current or given revision of the project manifest\n"
-"\n"
-"    Print a list of version controlled files for the given revision.\n"
-"    If no revision is given, the parent of the working directory is used,\n"
-"    or tip if no revision is checked out.\n"
-"\n"
-"    The manifest is the list of files being version controlled. If no "
-"revision\n"
-"    is given then the first parent of the working directory is used.\n"
-"\n"
-"    With -v flag, print file permissions, symlink and executable bits. With\n"
-"    --debug flag, print file revision hashes.\n"
-"    "
-msgstr ""
-
-msgid ""
-"merge working directory with another revision\n"
-"\n"
-"    Merge the contents of the current working directory and the\n"
-"    requested revision. Files that changed between either parent are\n"
-"    marked as changed for the next commit and a commit must be\n"
-"    performed before any further updates are allowed.\n"
-"\n"
-"    If no revision is specified, the working directory's parent is a\n"
-"    head revision, and the current branch contains exactly one other head,\n"
-"    the other head is merged with by default. Otherwise, an explicit\n"
-"    revision to merge with must be provided.\n"
-"    "
-msgstr ""
-"将工作目录与其它版本合并\n"
-"\n"
-"    将当前工作目录中的内容与指定版本合并。对任一父亲而言改变的文件都会对\n"
-"    下次提交标记为已修改,在提交之前不允许再执行更新。\n"
-"\n"
-"    如果没有指定版本,那么工作目录的父亲是一个合并顶点,另一个在当前分支\n"
-"    中,合并后的内容是新的顶点。否则,必须明确的指定要合并的版本。\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 ""
-
-msgid "there is nothing to merge"
-msgstr ""
-
-#, python-format
-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\n"
-"\n"
-"    Show changesets not found in the specified destination repository or\n"
-"    the default push location. These are the changesets that would be pushed\n"
-"    if a push was requested.\n"
-"\n"
-"    See pull for valid destination format details.\n"
-"    "
-msgstr ""
-
-msgid ""
-"show the parents of the working dir or revision\n"
-"\n"
-"    Print the working directory's parent revisions. If a\n"
-"    revision is given via --rev, the parent of that revision\n"
-"    will be printed. If a file argument is given, revision in\n"
-"    which the file was last changed (before the working directory\n"
-"    revision or the argument to --rev if given) is printed.\n"
-"    "
-msgstr ""
-"显示工作目录或指定版本的父亲\n"
-"\n"
-"    显示工作目录的父亲版本。如果使用 '--rev' 指定版本,就显示此版本的\n"
-"    父亲。如果指定了文件,那么使用此文件最后修改的版本(工作目录的起源\n"
-"    版本,或 '--rev' 指定的版本)。\n"
-"    "
-
-msgid "can only specify an explicit file name"
-msgstr ""
-
-#, python-format
-msgid "'%s' not found in manifest!"
-msgstr ""
-
-msgid ""
-"show aliases for remote repositories\n"
-"\n"
-"    Show definition of symbolic path name NAME. If no name is given, show\n"
-"    definition of available names.\n"
-"\n"
-"    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.\n"
-"\n"
-"    See 'hg help urls' for more information.\n"
-"    "
-msgstr ""
-
-msgid "not found!\n"
-msgstr ""
-
-msgid "not updating, since new heads added\n"
-msgstr ""
-
-msgid "(run 'hg heads' to see heads, 'hg merge' to merge)\n"
-msgstr ""
-
-msgid "(run 'hg update' to get a working copy)\n"
-msgstr ""
-
-msgid ""
-"pull changes from the specified source\n"
-"\n"
-"    Pull changes from a remote repository to a local one.\n"
-"\n"
-"    This finds all changes from the repository at the specified path\n"
-"    or URL and adds them to the local repository. By default, this\n"
-"    does not update the copy of the project in the working directory.\n"
-"\n"
-"    If SOURCE is omitted, the 'default' path will be used.\n"
-"    See 'hg help urls' for more information.\n"
-"    "
-msgstr ""
-"从指定版本库取得修改集\n"
-"\n"
-"    从远程版本库取得修改集到本地版本库。\n"
-"\n"
-"    查找位于指定路径或位置的版本库的全部修改,增加到版本版本库。默认不\n"
-"    更新工作目录。\n"
-"\n"
-"    如果没有指定位置,就使用路径 'default'。参见 'hg help urls' 以了解\n"
-"    更多信息。\n"
-"    "
-
-msgid ""
-"Other repository doesn't support revision lookup, so a rev cannot be "
-"specified."
-msgstr ""
-
-msgid ""
-"push changes to the specified destination\n"
-"\n"
-"    Push changes from the local repository to the given destination.\n"
-"\n"
-"    This is the symmetrical operation for pull. It helps to move\n"
-"    changes from the current repository to a different one. If the\n"
-"    destination is local this is identical to a pull in that directory\n"
-"    from the current one.\n"
-"\n"
-"    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"
-"    the client has forgotten to pull and merge before pushing.\n"
-"\n"
-"    If -r is used, the named changeset and all its ancestors will be pushed\n"
-"    to the remote repository.\n"
-"\n"
-"    Look at the help text for urls for important details about ssh:// URLs.\n"
-"    If DESTINATION is omitted, a default path will be used.\n"
-"    See 'hg help urls' for more information.\n"
-"    "
-msgstr ""
-"推送改变到指定位置\n"
-"\n"
-"    从本地版本库推送改变到指定位置。\n"
-"\n"
-"    这是 'pull' 的对称操作。它从当前版本库推送改变到其它版本库。如果目标\n"
-"    是本地版本库,那么此操作与在目标版本库从当前版本库执行 'pull' 操作等\n"
-"    同。\n"
-"\n"
-"    推送默认拒绝导致增加远程版本库顶点数目的操作。这通常表明客户端在推送\n"
-"    之前忘记取得远程版本库的修改,并且合并。\n"
-"\n"
-"    如果使用了选项 '-r',此命名修改集以及其祖先都会被推送到远程版本库。\n"
-"    \n"
-"\n"
-"    参见主题 'urls' 的帮助信息,以了解位置 'ssh://' 的重要详情。如果没有\n"
-"    给出目标位置,那么使用默认路径。参见 'hg help urls' 以了解更多信息。\n"
-"    "
-
-#, python-format
-msgid "pushing to %s\n"
-msgstr "正在推到 %s\n"
-
-msgid ""
-"raw commit interface (DEPRECATED)\n"
-"\n"
-"    (DEPRECATED)\n"
-"    Lowlevel commit, for use in helper scripts.\n"
-"\n"
-"    This command is not intended to be used by normal users, as it is\n"
-"    primarily useful for importing from other SCMs.\n"
-"\n"
-"    This command is now deprecated and will be removed in a future\n"
-"    release, please use debugsetparents and commit instead.\n"
-"    "
-msgstr ""
-
-msgid "(the rawcommit command is deprecated)\n"
-msgstr ""
-
-msgid ""
-"roll back an interrupted transaction\n"
-"\n"
-"    Recover from an interrupted commit or pull.\n"
-"\n"
-"    This command tries to fix the repository status after an interrupted\n"
-"    operation. It should only be necessary when Mercurial suggests it.\n"
-"    "
-msgstr ""
-
-msgid ""
-"remove the specified files on the next commit\n"
-"\n"
-"    Schedule the indicated files for removal from the repository.\n"
-"\n"
-"    This only removes files from the current branch, not from the entire\n"
-"    project history. -A can be used to remove only files that have already\n"
-"    been deleted, -f can be used to force deletion, and -Af can be used\n"
-"    to remove files from the next revision without deleting them.\n"
-"\n"
-"    The following table details the behavior of remove for different file\n"
-"    states (columns) and option combinations (rows). The file states are\n"
-"    Added, Clean, Modified and Missing (as reported by hg status). The\n"
-"    actions are Warn, Remove (from branch) and Delete (from disk).\n"
-"\n"
-"           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\n"
-"\n"
-"    This command schedules the files to be removed at the next commit.\n"
-"    To undo a remove before that, see hg revert.\n"
-"    "
-msgstr ""
-"在下次提交时删除指定文件\n"
-"\n"
-"    调度从版本库删除指定文件。\n"
-"\n"
-"    它只从当前分支删除文件,不删除历史。'-A' 用于只移除已经删除的文\n"
-"    件,'-f' 用于强制删除,'-Af' 用于从下个版本移除文件,但是不删除\n"
-"    它们。\n"
-"\n"
-"    下表给出了删除不同状态(列)文件的行为和可选的组合(行)。文件状态\n"
-"    ('hg status' 报告的状态)是增加(A),干净(C),已修改(M),丢失(!)。\n"
-"    动作是警告(W),移除(R,从分支),以及删除(D,从磁盘)。\n"
-"\n"
-"           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\n"
-"\n"
-"    此命令调度下次提交时删除文件。\n"
-"    要在此之前撤销删除,请参见 'hg revert'。\n"
-"    "
-
-msgid "no files specified"
-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"
-msgstr ""
-
-msgid ""
-"rename files; equivalent of copy + remove\n"
-"\n"
-"    Mark dest as copies of sources; mark sources for deletion. If\n"
-"    dest is a directory, copies are put in that directory. If dest is\n"
-"    a file, there can only be one source.\n"
-"\n"
-"    By default, this command copies the contents of files as they\n"
-"    exist in the working directory. If invoked with --after, the\n"
-"    operation is recorded, but no copying is performed.\n"
-"\n"
-"    This command takes effect at the next commit. To undo a rename\n"
-"    before that, see hg revert.\n"
-"    "
-msgstr ""
-
-msgid ""
-"retry file merges from a merge or 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 switch.\n"
-"\n"
-"    This command will also allow listing resolved files and manually\n"
-"    marking and unmarking files as resolved.\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 ""
-
-msgid "can't specify --all and patterns"
-msgstr ""
-
-msgid "no files or directories specified; use --all to remerge all files"
-msgstr ""
-
-msgid ""
-"restore individual files or dirs to an earlier state\n"
-"\n"
-"    (use update -r to check out earlier revisions, revert does not\n"
-"    change the working dir parents)\n"
-"\n"
-"    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.\n"
-"\n"
-"    Using the -r option, revert the given files or directories to their\n"
-"    contents as of a specific revision. This can be helpful to \"roll\n"
-"    back\" some or all of an earlier change.\n"
-"    See 'hg help dates' for a list of formats valid for -d/--date.\n"
-"\n"
-"    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.\n"
-"\n"
-"    If a file has been deleted, it is restored. If the executable\n"
-"    mode of a file was changed, it is reset.\n"
-"\n"
-"    If names are given, all files matching the names are reverted.\n"
-"    If no arguments are given, no files are reverted.\n"
-"\n"
-"    Modified files are saved with a .orig suffix before reverting.\n"
-"    To disable these backups, use --no-backup.\n"
-"    "
-msgstr ""
-
-msgid "you can't specify a revision and a date"
-msgstr ""
-
-msgid "no files or directories specified; use --all to revert the whole repo"
-msgstr ""
-
-#, python-format
-msgid "forgetting %s\n"
-msgstr ""
-
-#, python-format
-msgid "reverting %s\n"
-msgstr "正在恢复 %s\n"
-
-#, python-format
-msgid "undeleting %s\n"
-msgstr "正在撤销删除 %s\n"
-
-#, python-format
-msgid "saving current version of %s as %s\n"
-msgstr "保存当前版本的 %s 为 %s\n"
-
-#, python-format
-msgid "file not managed: %s\n"
-msgstr "文件未被控制: %s\n"
-
-#, python-format
-msgid "no changes needed to %s\n"
-msgstr "不需要改变 %s\n"
-
-msgid ""
-"roll back the last transaction\n"
-"\n"
-"    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.\n"
-"\n"
-"    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:\n"
-"\n"
-"      commit\n"
-"      import\n"
-"      pull\n"
-"      push (with this repository as destination)\n"
-"      unbundle\n"
-"\n"
-"    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"
-"    "
-msgstr ""
-
-msgid ""
-"print the root (top) of the current working dir\n"
-"\n"
-"    Print the root directory of the current repository.\n"
-"    "
-msgstr ""
-
-msgid ""
-"export the repository via HTTP\n"
-"\n"
-"    Start a local HTTP repository browser and pull server.\n"
-"\n"
-"    By default, the server logs accesses to stdout and errors to\n"
-"    stderr. Use the \"-A\" and \"-E\" options to log to files.\n"
-"    "
-msgstr ""
-"通过 HTTP 发布版本库\n"
-"\n"
-"    启动本地 HTTP 版本库浏览器和发布服务器。\n"
-"\n"
-"    默认服务器访问日志输出到 stdout,错误日志输出到 stderr。\n"
-"    可以使用选项 \"-A\" 和 \"-E\",将这些日志输出到文件。\n"
-"    "
-
-#, python-format
-msgid "listening at http://%s%s/%s (bound to %s:%d)\n"
-msgstr ""
-
-msgid ""
-"show changed files in the 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"
-"    source of a copy/move operation, are not listed unless -c (clean),\n"
-"    -i (ignored), -C (copies) or -A is given. Unless options described\n"
-"    with \"show only ...\" are given, the 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 difference between them is 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"
-"    ! = deleted, but still tracked\n"
-"    ? = not tracked\n"
-"    I = ignored\n"
-"      = the previous added file was copied from here\n"
-"    "
-msgstr ""
-"显示工作目录中已改变的文件\n"
-"\n"
-"    显示版本库中的文件状态。如果指定文件名称,只显示匹配的文件。干净的\n"
-"    文件,被忽略的文件,复制/移动的源文件,不会被显示,除非使用了选项\n"
-"    '-c' (干净的),'-i' (被忽略的),'-C' (复制源) 或者 '-A' (全部)。除\n"
-"    非使用了选项 \"只显示 ...\",否则就使用选项 '-mardu'。\n"
-"\n"
-"    选项 '-q/--quiet' 隐藏未跟踪(未知或被忽略)的文件,除非明确地使用选\n"
-"    项 '-u/--unknown' 或 ‘-i/-ignored’。\n"
-"\n"
-"    注意: 如果修改了权限或者执行了合并,'status' 与 'diff' 的显示可能\n"
-"    不一致。标准差异格式不报告权限的改变,'diff' 只报告相对于一个合并\n"
-"    父亲的改变。\n"
-"\n"
-"    如果给出 1 个版本,就用于基础版本。如果给出 2 个版本,就显示其差异。\n"
-"\n"
-"    显示文件状态的代码是:\n"
-"    M = 已修改\n"
-"    A = 已增加\n"
-"    R = 已移除\n"
-"    C = 干净的\n"
-"    ! = 已删除,仍旧被跟踪\n"
-"    ? = 未跟踪\n"
-"    I = 已忽略\n"
-"      = 早先增加的文件自此复制\n"
-"    "
-
-msgid ""
-"add one or more tags for the current or given revision\n"
-"\n"
-"    Name a particular revision using <name>.\n"
-"\n"
-"    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.\n"
-"\n"
-"    If no revision is given, the parent of the working directory is used,\n"
-"    or tip if no revision is checked out.\n"
-"\n"
-"    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).\n"
-"\n"
-"    See 'hg help dates' for a list of formats valid for -d/--date.\n"
-"    "
-msgstr ""
-
-msgid "tag names must be unique"
-msgstr ""
-
-#, python-format
-msgid "the name '%s' is reserved"
-msgstr ""
-
-msgid "--rev and --remove are incompatible"
-msgstr ""
-
-#, python-format
-msgid "tag '%s' does not exist"
-msgstr ""
-
-#, python-format
-msgid "tag '%s' is not a %s tag"
-msgstr ""
-
-#, python-format
-msgid "Removed tag %s"
-msgstr ""
-
-#, python-format
-msgid "tag '%s' already exists (use -f to force)"
-msgstr ""
-
-#, python-format
-msgid "Added tag %s for changeset %s"
-msgstr ""
-
-msgid ""
-"list repository tags\n"
-"\n"
-"    This lists both regular and local tags. When the -v/--verbose switch\n"
-"    is used, a third column \"local\" is printed for local tags.\n"
-"    "
-msgstr ""
-
-msgid ""
-"show the tip revision\n"
-"\n"
-"    The tip revision (usually just called the tip) is the most\n"
-"    recently added changeset in the repository, the most recently\n"
-"    changed head.\n"
-"\n"
-"    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 ""
-
-msgid ""
-"apply one or more changegroup files\n"
-"\n"
-"    Apply one or more compressed changegroup files generated by the\n"
-"    bundle command.\n"
-"    "
-msgstr ""
-
-msgid ""
-"update working directory\n"
-"\n"
-"    Update the repository's working directory to the specified revision,\n"
-"    or the tip of the current branch if none is specified. Use null as\n"
-"    the revision to remove the working copy (like 'hg clone -U').\n"
-"\n"
-"    When the working dir contains no uncommitted changes, it will be\n"
-"    replaced by the state of the requested revision from the repo.  When\n"
-"    the requested revision is on a different branch, the working dir\n"
-"    will additionally be switched to that branch.\n"
-"\n"
-"    When there are uncommitted changes, use option -C to discard them,\n"
-"    forcibly replacing the state of the working dir with the requested\n"
-"    revision.\n"
-"\n"
-"    When there are uncommitted changes and option -C is not used, and\n"
-"    the parent revision and requested revision are on the same branch,\n"
-"    and one of them is an ancestor of the other, then the new working\n"
-"    directory will contain the requested revision merged with the\n"
-"    uncommitted changes.  Otherwise, the update will fail with a\n"
-"    suggestion to use 'merge' or 'update -C' instead.\n"
-"\n"
-"    If you want to update just one file to an older revision, use revert.\n"
-"\n"
-"    See 'hg help dates' for a list of formats valid for --date.\n"
-"    "
-msgstr ""
-"更新工作目录\n"
-"\n"
-"    更新工作目录到指定版本,或者到当前分支的顶点。使用 'null' 作为版本可以\n"
-"    删除工作副本(类似于 'hg clone -U')。\n"
-"\n"
-"    当工作目录包含未提交的修改时,它会被版本库中指定版本的状态替换。当请求\n"
-"    的版本位于不同分支时,工作目录会被切换到此分支。\n"
-"\n"
-"    可以使用选项 '-C' 来丢弃未提交的修改,强制使用请求的版本替换工作目录的\n"
-"    状态。\n"
-"\n"
-"    当有未提交的修改,没有使用选项 '-C',父版本和请求版本位于不同分支,并且\n"
-"    其中一个是另一个的祖先时,那么新的工作目录包含请求版本与未提交的修改的\n"
-"    合并结果。否则,更新会失败,建议使用 'merge' 或 'update -C'。\n"
-"\n"
-"    如果你只想更新一个文件到旧版本,请使用 'revert'。\n"
-"\n"
-"    参见 'hg help dates' 以获得 '-d/--date' 的有效格式列表。\n"
-"    "
-
-msgid ""
-"verify the integrity of the repository\n"
-"\n"
-"    Verify the integrity of the current repository.\n"
-"\n"
-"    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 ""
-
-msgid "output version and copyright information"
-msgstr "输出版本和版权信息"
-
-#, python-format
-msgid "Mercurial Distributed SCM (version %s)\n"
-msgstr "分布式软件配置管理工具 - 水银 (版本 %s)\n"
-
-msgid ""
-"\n"
-"Copyright (C) 2005-2009 Matt Mackall <mpm@selenic.com> 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 ""
-"\n"
-"版权所有 (C) 2005-2009 Matt Mackall <mpm@selenic.com> 和其他人。\n"
-"这是自由软件,具体参见版权条款。这里没有任何担保,甚至没有适合\n"
-"特定目的的隐含的担保。\n"
-
-msgid "repository root directory or symbolic path name"
-msgstr "版本库的根目录或符号路径名称"
-
-msgid "change working directory"
-msgstr "改变工作目录"
-
-msgid "do not prompt, assume 'yes' for any required answers"
-msgstr "不再询问,假定所有答案都是 'yes'"
-
-msgid "suppress output"
-msgstr "抑制输出"
-
-msgid "enable additional output"
-msgstr "启用额外的输出"
-
-msgid "set/override config option"
-msgstr "设置/覆盖配置选项"
-
-msgid "enable debugging output"
-msgstr "启用调试输出"
-
-msgid "start debugger"
-msgstr "启动调试器"
-
-msgid "set the charset encoding"
-msgstr "设置字符集编码"
-
-msgid "set the charset encoding mode"
-msgstr "设置字符集编码模式"
-
-msgid "print improved command execution profile"
-msgstr "显示改良的命令执行剖析"
-
-msgid "print traceback on exception"
-msgstr "显示异常的跟踪"
-
-msgid "time how long the command takes"
-msgstr "为命令计时"
-
-msgid "print command execution profile"
-msgstr "显示命令执行的剖析"
-
-msgid "output version information and exit"
-msgstr "显示版本信息后退出"
-
-msgid "display help and exit"
-msgstr "显示帮助后退出"
-
-msgid "do not perform actions, just print output"
-msgstr "不执行操作,只打印输出"
-
-msgid "specify ssh command to use"
-msgstr "指定要使用的 'ssh' 命令"
-
-msgid "specify hg command to run on the remote side"
-msgstr "指定要在远程运行的 'hg' 命令"
-
-msgid "include names matching the given patterns"
-msgstr "包含匹配指定模式的名称"
-
-msgid "exclude names matching the given patterns"
-msgstr "拒绝匹配指定模式的名称"
-
-msgid "use <text> as commit message"
-msgstr "使用 <text> 作为提交日志"
-
-msgid "read commit message from <file>"
-msgstr "从 <file> 读取提交日志"
-
-msgid "record datecode as commit date"
-msgstr "将提供的日期作为提交日期"
-
-msgid "record user as committer"
-msgstr "将提供的用户作为提交者"
-
-msgid "display using template map file"
-msgstr "使用指定的样式显示"
-
-msgid "display with template"
-msgstr "使用指定的模板显示"
-
-msgid "do not show merges"
-msgstr "不显示合并"
-
-msgid "treat all files as text"
-msgstr "将所有文件视为文本文件"
-
-msgid "don't include dates in diff headers"
-msgstr "不要的差异头中包含日期"
-
-msgid "show which function each change is in"
-msgstr "为每个修改显示在什么函数中"
-
-msgid "ignore white space when comparing lines"
-msgstr "当比较行时忽略空白"
-
-msgid "ignore changes in the amount of white space"
-msgstr "忽略空白数量的改变"
-
-msgid "ignore changes whose lines are all blank"
-msgstr "忽略空行的改变"
-
-msgid "number of lines of context to show"
-msgstr "显示几行上下文"
-
-msgid "guess renamed files by similarity (0<=s<=100)"
-msgstr ""
-
-msgid "[OPTION]... [FILE]..."
-msgstr ""
-
-msgid "annotate the specified revision"
-msgstr "追溯指定版本"
-
-msgid "follow file copies and renames"
-msgstr "处理文件复制与改名"
-
-msgid "list the author (long with -v)"
-msgstr "列出作者 (增加 '-v' 会以长格式显示)"
-
-msgid "list the date (short with -q)"
-msgstr "列出日期 (增加 '-q' 会以短格式显示)"
-
-msgid "list the revision number (default)"
-msgstr "列出版本号 (默认)"
-
-msgid "list the changeset"
-msgstr "列出修改集"
-
-msgid "show line number at the first appearance"
-msgstr "列出首次出现时的行号"
-
-msgid "[-r REV] [-f] [-a] [-u] [-d] [-n] [-c] [-l] FILE..."
-msgstr ""
-
-msgid "do not pass files through decoders"
-msgstr ""
-
-msgid "directory prefix for files in archive"
-msgstr ""
-
-msgid "revision to distribute"
-msgstr ""
-
-msgid "type of distribution to create"
-msgstr ""
-
-msgid "[OPTION]... DEST"
-msgstr ""
-
-msgid "merge with old dirstate parent after backout"
-msgstr ""
-
-msgid "parent to choose when backing out merge"
-msgstr ""
-
-msgid "revision to backout"
-msgstr ""
-
-msgid "[OPTION]... [-r] REV"
-msgstr ""
-
-msgid "reset bisect state"
-msgstr ""
-
-msgid "mark changeset good"
-msgstr ""
-
-msgid "mark changeset bad"
-msgstr ""
-
-msgid "skip testing changeset"
-msgstr ""
-
-msgid "use command to check changeset state"
-msgstr ""
-
-msgid "do not update to target"
-msgstr ""
-
-msgid "[-gbsr] [-c CMD] [REV]"
-msgstr ""
-
-msgid "set branch name even if it shadows an existing branch"
-msgstr ""
-
-msgid "reset branch name to parent branch name"
-msgstr ""
-
-msgid "[-fC] [NAME]"
-msgstr ""
-
-msgid "show only branches that have unmerged heads"
-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"
-msgstr ""
-
-msgid "bundle all changesets in the repository"
-msgstr ""
-
-msgid "bundle compression type to use"
-msgstr ""
-
-msgid "[-f] [-a] [-r REV]... [--base REV]... FILE [DEST]"
-msgstr ""
-
-msgid "print output to file with formatted name"
-msgstr "输出到使用格式化名称的文件中"
-
-msgid "print the given revision"
-msgstr ""
-
-msgid "apply any matching decode filter"
-msgstr ""
-
-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"
-msgstr "复制后你期望有的修改集"
-
-msgid "[OPTION]... SOURCE [DEST]"
-msgstr ""
-
-msgid "mark new/missing files as added/removed before committing"
-msgstr "在提交之前将'新的/丢失的'文件标记为'已增加/已删除'"
-
-msgid "mark a branch as closed, hiding it from the branch list"
-msgstr "标记一个分支已关闭,不在分支列表中显示"
-
-msgid "record a copy that has already occurred"
-msgstr ""
-
-msgid "forcibly copy over an existing managed file"
-msgstr ""
-
-msgid "[OPTION]... [SOURCE]... DEST"
-msgstr ""
-
-msgid "[INDEX] REV1 REV2"
-msgstr ""
-
-msgid "show the command options"
-msgstr ""
-
-msgid "[-o] CMD"
-msgstr ""
-
-msgid "try extended date formats"
-msgstr ""
-
-msgid "[-e] DATE [RANGE]"
-msgstr ""
-
-msgid "FILE REV"
-msgstr ""
-
-msgid "[PATH]"
-msgstr ""
-
-msgid "FILE"
-msgstr ""
-
-msgid "parent"
-msgstr ""
-
-msgid "file list"
-msgstr ""
-
-msgid "revision to rebuild to"
-msgstr ""
-
-msgid "[-r REV] [REV]"
-msgstr ""
-
-msgid "revision to debug"
-msgstr ""
-
-msgid "[-r REV] FILE"
-msgstr ""
-
-msgid "REV1 [REV2]"
-msgstr ""
-
-msgid "do not display the saved mtime"
-msgstr ""
-
-msgid "[OPTION]..."
-msgstr ""
-
-msgid "[OPTION]... [-r REV1 [-r REV2]] [FILE]..."
-msgstr ""
-
-msgid "diff against the second parent"
-msgstr "与第二个父亲比较"
-
-msgid "[OPTION]... [-o OUTFILESPEC] REV..."
-msgstr ""
-
-msgid "end fields with NUL"
-msgstr ""
-
-msgid "print all revisions that match"
-msgstr ""
-
-msgid "follow changeset history, or file history across copies and renames"
-msgstr "跟踪修改集历史,或者跟踪文件的复制与改名操作"
-
-msgid "ignore case when matching"
-msgstr ""
-
-msgid "print only filenames and revs that match"
-msgstr ""
-
-msgid "print matching line numbers"
-msgstr ""
-
-msgid "search in given revision range"
-msgstr ""
-
-msgid "[OPTION]... PATTERN [FILE]..."
-msgstr ""
-
-msgid "show only heads which are descendants of rev"
-msgstr ""
-
-msgid "show only the active heads from open branches"
-msgstr ""
-
-msgid "[-r REV] [REV]..."
-msgstr ""
-
-msgid "[TOPIC]"
-msgstr ""
-
-msgid "identify the specified rev"
-msgstr ""
-
-msgid "show local revision number"
-msgstr ""
-
-msgid "show global revision id"
-msgstr ""
-
-msgid "show branch"
-msgstr ""
-
-msgid "show tags"
-msgstr ""
-
-msgid "[-nibt] [-r REV] [SOURCE]"
-msgstr ""
-
-msgid ""
-"directory strip option for patch. This has the same\n"
-"meaning as the corresponding patch option"
-msgstr ""
-
-msgid "base path"
-msgstr ""
-
-msgid "skip check for outstanding uncommitted changes"
-msgstr ""
-
-msgid "don't commit, just update the working directory"
-msgstr ""
-
-msgid "apply patch to the nodes from which it was generated"
-msgstr ""
-
-msgid "Use any branch information in patch (implied by --exact)"
-msgstr ""
-
-msgid "[OPTION]... PATCH..."
-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"
-msgstr "指定要取得的最高版本"
-
-msgid "[-p] [-n] [-M] [-f] [-r REV]... [--bundle FILENAME] [SOURCE]"
-msgstr ""
-
-msgid "[-e CMD] [--remotecmd CMD] [DEST]"
-msgstr ""
-
-msgid "search the repository as it stood at rev"
-msgstr ""
-
-msgid "end filenames with NUL, for use with xargs"
-msgstr "在文件名称结尾增加 NUL,用于 xargs"
-
-msgid "print complete paths from the filesystem root"
-msgstr ""
-
-msgid "[OPTION]... [PATTERN]..."
-msgstr ""
-
-msgid "only follow the first parent of merge changesets"
-msgstr "只跟踪修改集的第一个父亲"
-
-msgid "show revs matching date spec"
-msgstr "显示匹配日期的版本"
-
-msgid "show copied files"
-msgstr "显示复制的文件"
-
-msgid "do case-insensitive search for a keyword"
-msgstr "对关键字执行不区分大小写的搜索"
-
-msgid "include revs where files were removed"
-msgstr "包含删除文件的版本"
-
-msgid "show only merges"
-msgstr "只显示合并"
-
-msgid "revs committed by user"
-msgstr "指定用户提交的版本"
-
-msgid "show only changesets within the given named branch"
-msgstr "只显示位于指定命名分支中的修改集"
-
-msgid "do not display revision or any of its ancestors"
-msgstr "不显示指定版本或其祖先"
-
-msgid "[OPTION]... [FILE]"
-msgstr ""
-
-msgid "revision to display"
-msgstr ""
-
-msgid "[-r REV]"
-msgstr ""
-
-msgid "force a merge with outstanding changes"
-msgstr "强制与已有修改合并"
-
-msgid "revision to merge"
-msgstr "要合并的版本"
-
-msgid "[-f] [[-r] REV]"
-msgstr ""
-
-msgid "a specific revision up to which you would like to push"
-msgstr "指定你要推送的最高版本"
-
-msgid "[-M] [-p] [-n] [-f] [-r REV]... [DEST]"
-msgstr ""
-
-msgid "show parents from the specified rev"
-msgstr "从指定的版本显示父亲"
-
-msgid "hg parents [-r REV] [FILE]"
-msgstr ""
-
-msgid "[NAME]"
-msgstr ""
-
-msgid "update to new tip if changesets were pulled"
-msgstr "如果有新的修改集,就更新到最新版本"
-
-msgid "[-u] [-f] [-r REV]... [-e CMD] [--remotecmd CMD] [SOURCE]"
-msgstr ""
-
-msgid "force push"
-msgstr "强制推送"
-
-msgid "[-f] [-r REV]... [-e CMD] [--remotecmd CMD] [DEST]"
-msgstr ""
-
-msgid "record delete for missing files"
-msgstr "将丢失的文件视为删除"
-
-msgid "remove (and delete) file even if added or modified"
-msgstr "删除文件,纵然它已被增加或修改"
-
-msgid "record a rename that has already occurred"
-msgstr "记录已经发生的改名"
-
-msgid "[OPTION]... SOURCE... DEST"
-msgstr ""
-
-msgid "remerge all unresolved files"
-msgstr ""
-
-msgid "list state of files needing merge"
-msgstr ""
-
-msgid "mark files as resolved"
-msgstr ""
-
-msgid "unmark files as resolved"
-msgstr ""
-
-msgid "revert all changes when no arguments given"
-msgstr ""
-
-msgid "tipmost revision matching date"
-msgstr "匹配最接近顶点的日期"
-
-msgid "revision to revert to"
-msgstr ""
-
-msgid "do not save backup copies of files"
-msgstr ""
-
-msgid "[OPTION]... [-r REV] [NAME]..."
-msgstr ""
-
-msgid "name of access log file to write to"
-msgstr "记录访问日志的文件名称"
-
-msgid "name of error log file to write to"
-msgstr "记录错误日志的文件名称"
-
-msgid "port to listen on (default: 8000)"
-msgstr "监听的端口(默认: 8000)"
-
-msgid "address to listen on (default: all interfaces)"
-msgstr "监听地址(默认: 所有地址)"
-
-msgid "prefix path to serve from (default: server root)"
-msgstr "服务路径前缀(默认: 服务器根)"
-
-msgid "name to show in web pages (default: working dir)"
-msgstr "在 WEB 页面中显示的名称(默认: 工作目录)"
-
-msgid "name of the webdir config file (serve more than one repo)"
-msgstr "webdir 配置文件的名称(发布多个版本库)"
-
-msgid "for remote clients"
-msgstr "针对远程客户端"
-
-msgid "web templates to use"
-msgstr "使用的 WEB 模板"
-
-msgid "template style to use"
-msgstr "使用的显示样式"
-
-msgid "use IPv6 in addition to IPv4"
-msgstr "同时使用 IPv6 和 IPv4"
-
-msgid "SSL certificate file"
-msgstr "SSL 证书文件"
-
-msgid "show untrusted configuration options"
-msgstr "显示不能信赖的配置选项"
-
-msgid "[-u] [NAME]..."
-msgstr ""
-
-msgid "show status of all files"
-msgstr "显示全部文件的状态"
-
-msgid "show only modified files"
-msgstr "只显示已修改文件的状态"
-
-msgid "show only added files"
-msgstr "只显示已增加文件的状态"
-
-msgid "show only removed files"
-msgstr "只显示已移除文件的状态"
-
-msgid "show only deleted (but tracked) files"
-msgstr "只显示已删除(但被跟踪)文件的状态"
-
-msgid "show only files without changes"
-msgstr "只显示无改动文件的状态"
-
-msgid "show only unknown (not tracked) files"
-msgstr "只显示未知(未被跟踪)文件的状态"
-
-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 "replace existing tag"
-msgstr "替换已有的标签"
-
-msgid "make the tag local"
-msgstr "标记标签为本地"
-
-msgid "revision to tag"
-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 "[-u] FILE..."
-msgstr ""
-
-msgid "overwrite locally modified files (no backup)"
-msgstr "覆盖本地修改的文件(不备份)"
-
-msgid "[-C] [-d DATE] [[-r] REV]"
-msgstr ""
-
-msgid "not found in manifest"
-msgstr ""
-
-msgid "branch name not in UTF-8!"
-msgstr ""
-
-#, python-format
-msgid "  searching for copies back to rev %d\n"
-msgstr ""
-
-#, python-format
-msgid ""
-"  unmatched files in local:\n"
-"   %s\n"
-msgstr ""
-
-#, python-format
-msgid ""
-"  unmatched files in other:\n"
-"   %s\n"
-msgstr ""
-
-msgid "  all copies found (* = to merge, ! = divergent):\n"
-msgstr ""
-
-#, python-format
-msgid "   %s -> %s %s\n"
-msgstr ""
-
-msgid "  checking for directory renames\n"
-msgstr ""
-
-#, python-format
-msgid "  dir %s -> %s\n"
-msgstr ""
-
-#, python-format
-msgid "  file %s -> %s\n"
-msgstr ""
-
-#, python-format
-msgid "'\\n' and '\\r' disallowed in filenames: %r"
-msgstr ""
-
-#, python-format
-msgid "directory %r already in dirstate"
-msgstr ""
-
-#, python-format
-msgid "file %r in dirstate clashes with %r"
-msgstr ""
-
-#, python-format
-msgid "not in dirstate: %s\n"
-msgstr ""
-
-msgid "character device"
-msgstr ""
-
-msgid "block device"
-msgstr ""
-
-msgid "fifo"
-msgstr ""
-
-msgid "socket"
-msgstr ""
-
-msgid "directory"
-msgstr ""
-
-#, python-format
-msgid "%s: unsupported file type (type is %s)\n"
-msgstr ""
-
-#, python-format
-msgid "abort: %s\n"
-msgstr "中止: %s\n"
-
-#, python-format
-msgid ""
-"hg: command '%s' is ambiguous:\n"
-"    %s\n"
-msgstr ""
-
-#, python-format
-msgid "timed out waiting for lock held by %s"
-msgstr ""
-
-#, python-format
-msgid "lock held by %s"
-msgstr ""
-
-#, python-format
-msgid "abort: %s: %s\n"
-msgstr "中止: %s: %s\n"
-
-#, python-format
-msgid "abort: could not lock %s: %s\n"
-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 "中止: %s!\n"
-
-#, python-format
-msgid "abort: %s"
-msgstr "中止: %s"
-
-msgid " empty string\n"
-msgstr ""
-
-msgid "killed!\n"
-msgstr ""
-
-#, python-format
-msgid "hg: unknown command '%s'\n"
-msgstr "hg: 未知命令 '%s'\n"
-
-#, python-format
-msgid "abort: could not import module %s!\n"
-msgstr "中止: 不能导入模块 %s!\n"
-
-msgid "(did you forget to compile extensions?)\n"
-msgstr "(你是否忘记了编译扩展?)\n"
-
-msgid "(is your Python install correct?)\n"
-msgstr "(你的 Python 安装正确吗?)\n"
-
-#, python-format
-msgid "abort: error: %s\n"
-msgstr "中止: 失败: %s\n"
-
-msgid "broken pipe\n"
-msgstr "坏掉的管道\n"
-
-msgid "interrupted!\n"
-msgstr "中断!\n"
-
-msgid ""
-"\n"
-"broken pipe\n"
-msgstr ""
-"\n"
-"坏掉的管道\n"
-
-msgid "abort: out of memory\n"
-msgstr "中止: 内存不足\n"
-
-msgid "** unknown exception encountered, details follow\n"
-msgstr "** 遇到了未知异常,详细信息如下\n"
-
-msgid "** report bug details to http://www.selenic.com/mercurial/bts\n"
-msgstr "** 报告问题详情到 http://www.selenic.com/mercurial/bts\n"
-
-msgid "** or mercurial@selenic.com\n"
-msgstr "** 或 mercurial@selenic.com\n"
-
-#, python-format
-msgid "** Mercurial Distributed SCM (version %s)\n"
-msgstr "** 分布式软件配置管理工具 - 水银 (版本 %s)\n"
-
-#, python-format
-msgid "** Extensions loaded: %s\n"
-msgstr "** 已加载的扩展: %s\n"
-
-#, python-format
-msgid "malformed --config option: %s"
-msgstr "非法 '--config' 选项: %s"
-
-#, python-format
-msgid "extension '%s' overrides commands: %s\n"
-msgstr "扩展 '%s' 覆盖了命令: %s\n"
-
-msgid "Option --config may not be abbreviated!"
-msgstr "选项 '--config' 不能简短!"
-
-msgid "Option --cwd may not be abbreviated!"
-msgstr "选项 '--cwd' 不能简短!"
-
-msgid ""
-"Option -R has to be separated from other options (i.e. not -qR) and --"
-"repository may only be abbreviated as --repo!"
-msgstr ""
-"选项 -R 必须隔离使用(也就是不能 -qR),并且 --repository 只能简短为 --repo!"
-
-#, python-format
-msgid "Time: real %.3f secs (user %.3f+%.3f sys %.3f+%.3f)\n"
-msgstr "时间: 实际 %.3f 秒(用户 %.3f+%.3f 系统 %.3f+%.3f)\n"
-
-#, python-format
-msgid "repository '%s' is not local"
-msgstr "非本地版本库 '%s'"
-
-msgid "invalid arguments"
-msgstr "非法参数"
-
-msgid "exception raised - generating profile anyway\n"
-msgstr ""
-
-msgid ""
-"lsprof not available - install from http://codespeak.net/svn/user/arigo/hack/"
-"misc/lsprof/"
-msgstr ""
-"lsprof 不可用 - 从 http://codespeak.net/svn/user/arigo/hack/misc/lsprof/ 安装"
-
-#, python-format
-msgid "*** failed to import extension %s from %s: %s\n"
-msgstr "*** 加载扩展 '%s',自 '%s': %s\n"
-
-#, python-format
-msgid "*** failed to import extension %s: %s\n"
-msgstr "*** 加载扩展 '%s' 失败: %s\n"
-
-#, python-format
-msgid "couldn't find merge tool %s\n"
-msgstr "不能找到合并工具 '%s'\n"
-
-#, python-format
-msgid "tool %s can't handle symlinks\n"
-msgstr "工具 '%s' 不能处理符号链接\n"
-
-#, python-format
-msgid "tool %s can't handle binary\n"
-msgstr "工具 '%s' 不能处理二进制\n"
-
-#, python-format
-msgid "tool %s requires a GUI\n"
-msgstr "工具 '%s' 需要 GUI\n"
-
-#, python-format
-msgid "picked tool '%s' for %s (binary %s symlink %s)\n"
-msgstr "选择工具 '%s',用于 %s(二进制 %s 符号链接 %s)\n"
-
-#, python-format
-msgid ""
-" no tool found to merge %s\n"
-"keep (l)ocal or take (o)ther?"
-msgstr ""
-" 没有找到工具合并 %s\n"
-"使用本地(l)或者他人(o)的内容?"
-
-msgid "[lo]"
-msgstr ""
-
-msgid "l"
-msgstr ""
-
-#, python-format
-msgid "merging %s and %s to %s\n"
-msgstr ""
-
-#, python-format
-msgid "merging %s\n"
-msgstr ""
-
-#, python-format
-msgid "my %s other %s ancestor %s\n"
-msgstr ""
-
-msgid " premerge successful\n"
-msgstr ""
-
-#, python-format
-msgid ""
-" output file %s appears unchanged\n"
-"was merge successful (yn)?"
-msgstr ""
-
-msgid "[yn]"
-msgstr ""
-
-msgid "n"
-msgstr ""
-
-#, python-format
-msgid "merging %s failed!\n"
-msgstr ""
-
-#, python-format
-msgid "Inconsistent state, %s:%s is good and bad"
-msgstr ""
-
-#, python-format
-msgid "unknown bisect kind %s"
-msgstr ""
-
-msgid "Date Formats"
-msgstr ""
-
-msgid ""
-"\n"
-"    Some commands allow the user to specify a date, e.g.:\n"
-"    * backout, commit, import, tag: Specify the commit date.\n"
-"    * log, revert, update: Select revision(s) by date.\n"
-"\n"
-"    Many date formats are valid. Here are some examples:\n"
-"\n"
-"    \"Wed Dec 6 13:18:29 2006\" (local timezone assumed)\n"
-"    \"Dec 6 13:18 -0600\" (year assumed, time offset provided)\n"
-"    \"Dec 6 13:18 UTC\" (UTC and GMT are aliases for +0000)\n"
-"    \"Dec 6\" (midnight)\n"
-"    \"13:18\" (today assumed)\n"
-"    \"3:39\" (3:39AM assumed)\n"
-"    \"3:39pm\" (15:39)\n"
-"    \"2006-12-06 13:18:29\" (ISO 8601 format)\n"
-"    \"2006-12-6 13:18\"\n"
-"    \"2006-12-6\"\n"
-"    \"12-6\"\n"
-"    \"12/6\"\n"
-"    \"12/6/6\" (Dec 6 2006)\n"
-"\n"
-"    Lastly, there is Mercurial's internal format:\n"
-"\n"
-"    \"1165432709 0\" (Wed Dec 6 13:18:29 2006 UTC)\n"
-"\n"
-"    This is the internal representation format for dates. unixtime is\n"
-"    the number of seconds since the epoch (1970-01-01 00:00 UTC). offset\n"
-"    is the offset of the local timezone, in seconds west of UTC (negative\n"
-"    if the timezone is east of UTC).\n"
-"\n"
-"    The log command also accepts date ranges:\n"
-"\n"
-"    \"<{datetime}\" - at or before a given date/time\n"
-"    \">{datetime}\" - on or after a given date/time\n"
-"    \"{datetime} to {datetime}\" - a date range, inclusive\n"
-"    \"-{days}\" - within a given number of days of today\n"
-"    "
-msgstr ""
-
-msgid "File Name Patterns"
-msgstr ""
-
-msgid ""
-"\n"
-"    Mercurial accepts several notations for identifying one or more\n"
-"    files at a time.\n"
-"\n"
-"    By default, Mercurial treats filenames as shell-style extended\n"
-"    glob patterns.\n"
-"\n"
-"    Alternate pattern notations must be specified explicitly.\n"
-"\n"
-"    To use a plain path name without any pattern matching, start it\n"
-"    with \"path:\". These path names must completely match starting at\n"
-"    the current repository root.\n"
-"\n"
-"    To use an extended glob, start a name with \"glob:\". Globs are\n"
-"    rooted at the current directory; a glob such as \"*.c\" will only\n"
-"    match files in the current directory ending with \".c\".\n"
-"\n"
-"    The supported glob syntax extensions are \"**\" to match any string\n"
-"    across path separators and \"{a,b}\" to mean \"a or b\".\n"
-"\n"
-"    To use a Perl/Python regular expression, start a name with \"re:\".\n"
-"    Regexp pattern matching is anchored at the root of the repository.\n"
-"\n"
-"    Plain examples:\n"
-"\n"
-"    path:foo/bar   a name bar in a directory named foo in the root of\n"
-"                   the repository\n"
-"    path:path:name a file or directory named \"path:name\"\n"
-"\n"
-"    Glob examples:\n"
-"\n"
-"    glob:*.c       any name ending in \".c\" in the current directory\n"
-"    *.c            any name ending in \".c\" in the current directory\n"
-"    **.c           any name ending in \".c\" in any subdirectory of the\n"
-"                   current directory including itself.\n"
-"    foo/*.c        any name ending in \".c\" in the directory foo\n"
-"    foo/**.c       any name ending in \".c\" in any subdirectory of foo\n"
-"                   including itself.\n"
-"\n"
-"    Regexp examples:\n"
-"\n"
-"    re:.*\\.c$      any name ending in \".c\", anywhere in the repository\n"
-"\n"
-"    "
-msgstr ""
-
-msgid "Environment Variables"
-msgstr ""
-
-msgid ""
-"\n"
-"HG::\n"
-"    Path to the 'hg' executable, automatically passed when running hooks,\n"
-"    extensions or external tools. If unset or empty, this is the hg\n"
-"    executable's name if it's frozen, or an executable named 'hg'\n"
-"    (with %PATHEXT% [defaulting to COM/EXE/BAT/CMD] extensions on\n"
-"    Windows) is searched.\n"
-"\n"
-"HGEDITOR::\n"
-"    This is the name of the editor to run when committing. See EDITOR.\n"
-"\n"
-"    (deprecated, use .hgrc)\n"
-"\n"
-"HGENCODING::\n"
-"    This overrides the default locale setting detected by Mercurial.\n"
-"    This setting is used to convert data including usernames,\n"
-"    changeset descriptions, tag names, and branches. This setting can\n"
-"    be overridden with the --encoding command-line option.\n"
-"\n"
-"HGENCODINGMODE::\n"
-"    This sets Mercurial's behavior for handling unknown characters\n"
-"    while transcoding user input. The default is \"strict\", which\n"
-"    causes Mercurial to abort if it can't map a character. Other\n"
-"    settings include \"replace\", which replaces unknown characters, and\n"
-"    \"ignore\", which drops them. This setting can be overridden with\n"
-"    the --encodingmode command-line option.\n"
-"\n"
-"HGMERGE::\n"
-"    An executable to use for resolving merge conflicts. The program\n"
-"    will be executed with three arguments: local file, remote file,\n"
-"    ancestor file.\n"
-"\n"
-"    (deprecated, use .hgrc)\n"
-"\n"
-"HGRCPATH::\n"
-"    A list of files or directories to search for hgrc files. Item\n"
-"    separator is \":\" on Unix, \";\" on Windows. If HGRCPATH is not set,\n"
-"    platform default search path is used. If empty, only the .hg/hgrc\n"
-"    from the current repository is read.\n"
-"\n"
-"    For each element in HGRCPATH:\n"
-"    * if it's a directory, all directories ending with .rc are added\n"
-"    * otherwise, the directory itself will be added\n"
-"\n"
-"HGUSER::\n"
-"    This is the string used as the author of a commit. If not set,\n"
-"    available values will be considered in this order:\n"
-"\n"
-"    * HGUSER (deprecated)\n"
-"    * hgrc files from the HGRCPATH\n"
-"    * EMAIL\n"
-"    * interactive prompt\n"
-"    * LOGNAME (with '@hostname' appended)\n"
-"\n"
-"    (deprecated, use .hgrc)\n"
-"\n"
-"EMAIL::\n"
-"    May be used as the author of a commit; see HGUSER.\n"
-"\n"
-"LOGNAME::\n"
-"    May be used as the author of a commit; see HGUSER.\n"
-"\n"
-"VISUAL::\n"
-"    This is the name of the editor to use when committing. See EDITOR.\n"
-"\n"
-"EDITOR::\n"
-"    Sometimes Mercurial needs to open a text file in an editor\n"
-"    for a user to modify, for example when writing commit messages.\n"
-"    The editor it uses is determined by looking at the environment\n"
-"    variables HGEDITOR, VISUAL and EDITOR, in that order. The first\n"
-"    non-empty one is chosen. If all of them are empty, the editor\n"
-"    defaults to 'vi'.\n"
-"\n"
-"PYTHONPATH::\n"
-"    This is used by Python to find imported modules and may need to be set\n"
-"    appropriately if this Mercurial is not installed system-wide.\n"
-"    "
-msgstr ""
-
-msgid "Specifying Single Revisions"
-msgstr ""
-
-msgid ""
-"\n"
-"    Mercurial supports several ways to specify individual\n"
-"    revisions.\n"
-"\n"
-"    A plain integer is treated as a revision number. Negative\n"
-"    integers are treated as toplogical offsets from the tip, with\n"
-"    -1 denoting the tip. As such, negative numbers are only useful\n"
-"    if you've memorized your local tree numbers and want to save\n"
-"    typing a single digit. This editor suggests copy and paste.\n"
-"\n"
-"    A 40-digit hexadecimal string is treated as a unique revision\n"
-"    identifier.\n"
-"\n"
-"    A hexadecimal string less than 40 characters long is treated as a\n"
-"    unique revision identifier, and referred to as a short-form\n"
-"    identifier. A short-form identifier is only valid if it is the\n"
-"    prefix of exactly one full-length identifier.\n"
-"\n"
-"    Any other string is treated as a tag name, which is a symbolic\n"
-"    name associated with a revision identifier. Tag names may not\n"
-"    contain the \":\" character.\n"
-"\n"
-"    The reserved name \"tip\" is a special tag that always identifies\n"
-"    the most recent revision.\n"
-"\n"
-"    The reserved name \"null\" indicates the null revision. This is the\n"
-"    revision of an empty repository, and the parent of revision 0.\n"
-"\n"
-"    The reserved name \".\" indicates the working directory parent. If\n"
-"    no working directory is checked out, it is equivalent to null.\n"
-"    If an uncommitted merge is in progress, \".\" is the revision of\n"
-"    the first parent.\n"
-"    "
-msgstr ""
-
-msgid "Specifying Multiple Revisions"
-msgstr "指定多个版本"
-
-msgid ""
-"\n"
-"    When Mercurial accepts more than one revision, they may be\n"
-"    specified individually, or provided as a topologically continuous\n"
-"    range, separated by the \":\" character.\n"
-"\n"
-"    The syntax of range notation is [BEGIN]:[END], where BEGIN and END\n"
-"    are revision identifiers. Both BEGIN and END are optional. If\n"
-"    BEGIN is not specified, it defaults to revision number 0. If END\n"
-"    is not specified, it defaults to the tip. The range \":\" thus\n"
-"    means \"all revisions\".\n"
-"\n"
-"    If BEGIN is greater than END, revisions are treated in reverse\n"
-"    order.\n"
-"\n"
-"    A range acts as a closed interval. This means that a range of 3:5\n"
-"    gives 3, 4 and 5. Similarly, a range of 9:6 gives 9, 8, 7, and 6.\n"
-"    "
-msgstr ""
-"\n"
-"    当水银接受多个版本时,它们可以单独给出,或者以字符 \":\" 分割的拓扑连续\n"
-"    范围格式提供。\n"
-"\n"
-"    范围的语法是 '[BEGIN]:[END]',其中 'BEGIN' 和 'END' 是版本标识。'BEGIN'\n"
-"    和 'END' 都是可选的。'BEGIN' 默认是 0,'END' 默认是 'tip'。因此范围 \":"
-"\"\n"
-"    意味着全部版本。\n"
-"\n"
-"    如果 'BEGIN' 大于 'END',版本视为反序。\n"
-"\n"
-"    范围是闭区间。即范围 '3:5' 是 '3','4','5'。同样,范围 '9:6' 是 '9',\n"
-"    '8','7' 和 '6'。\n"
-"    "
-
-msgid "Diff Formats"
-msgstr "差异格式"
-
-msgid ""
-"\n"
-"    Mercurial's default format for showing changes between two versions\n"
-"    of a file is compatible with the unified format of GNU diff, which\n"
-"    can be used by GNU patch and many other standard tools.\n"
-"\n"
-"    While this standard format is often enough, it does not encode the\n"
-"    following information:\n"
-"\n"
-"     - executable status and other permission bits\n"
-"     - copy or rename information\n"
-"     - changes in binary files\n"
-"     - creation or deletion of empty files\n"
-"\n"
-"    Mercurial also supports the extended diff format from the git VCS\n"
-"    which addresses these limitations. The git diff format is not\n"
-"    produced by default because a few widespread tools still do not\n"
-"    understand this format.\n"
-"\n"
-"    This means that when generating diffs from a Mercurial repository\n"
-"    (e.g. with \"hg export\"), you should be careful about things like\n"
-"    file copies and renames or other things mentioned above, because\n"
-"    when applying a standard diff to a different repository, this extra\n"
-"    information is lost. Mercurial's internal operations (like push and\n"
-"    pull) are not affected by this, because they use an internal binary\n"
-"    format for communicating changes.\n"
-"\n"
-"    To make Mercurial produce the git extended diff format, use the\n"
-"    --git option available for many commands, or set 'git = True' in the\n"
-"    [diff] section of your hgrc. You do not need to set this option when\n"
-"    importing diffs in this format or using them in the mq extension.\n"
-"    "
-msgstr ""
-"\n"
-"    水银显示文件不同版本之间差异的格式与 GNU diff 标准格式兼容,可用于\n"
-"    GNU patch 和许多标准工具。\n"
-"\n"
-"    虽然标准格式在大多数情况下都能满足要求,但是它不包含下述信息:\n"
-"\n"
-"     - 可执行状态和其它权限位\n"
-"     - 复制或改名信息\n"
-"     - 二进制文件的修改\n"
-"     - 创建或删除空文件\n"
-"\n"
-"    水银也支持解决这些限制的 git 扩展差异格式。由于一些常用的工具还不支持\n"
-"    此格式,所以它不是默认格式。\n"
-"\n"
-"    这意味着当从水银版本库(例如 \"hg export\")产生差异时,在其它版本库应用标\n"
-"    准差异时,会丢失文件复制或改名等额外信息,所以你要小心处理。水银的内部\n"
-"    操作(例如 push 和 pull)在传达改变时,使用内部的二进制格式,所以不受影\n"
-"    响。\n"
-"\n"
-"    要让水银产生 git 扩展差异格式,可以对许多命令使用选项 '--git',或者在\n"
-"    你的 hgrc 文件中的节 '[diff]' 中增加 'git = True'。当你从此格式导入时,\n"
-"    或在 mq 扩展中使用时,不需要设置此选项。\n"
-"    "
-
-msgid "Template Usage"
-msgstr "模版用法"
-
-msgid ""
-"\n"
-"    Mercurial allows you to customize output of commands through\n"
-"    templates. You can either pass in a template from the command line,\n"
-"    via the --template option, or select an existing template-style (--"
-"style).\n"
-"\n"
-"    You can customize output for any \"log-like\" command: log, outgoing,\n"
-"    incoming, tip, parents, heads and glog.\n"
-"\n"
-"    Three styles are packaged with Mercurial: default (the style used\n"
-"    when no explicit preference is passed), compact and changelog. Usage:\n"
-"\n"
-"        $ hg log -r1 --style changelog\n"
-"\n"
-"    A template is a piece of text, with markup to invoke variable expansion:\n"
-"\n"
-"        $ hg log -r1 --template \"{node}\\n\"\n"
-"        b56ce7b07c52de7d5fd79fb89701ea538af65746\n"
-"\n"
-"    Strings in curly braces are called keywords. The availability of\n"
-"    keywords depends on the exact context of the templater. These keywords\n"
-"    are usually available for templating a log-like command:\n"
-"\n"
-"    - author: String. The unmodified author of the changeset.\n"
-"    - branches: String. The name of the branch on which the changeset\n"
-"          was committed. Will be empty if the branch name was default.\n"
-"    - date: Date information. The date when the changeset was committed.\n"
-"    - desc: String. The text of the changeset description.\n"
-"    - files: List of strings. All files modified, added, or removed by\n"
-"          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 40-character\n"
-"          hexadecimal string.\n"
-"    - parents: List of strings. The parents of the changeset.\n"
-"    - rev: Integer. The repository-local changeset revision number.\n"
-"    - tags: List of strings. Any tags associated with the changeset.\n"
-"\n"
-"    The \"date\" keyword does not produce human-readable output. If you\n"
-"    want to use a date in your output, you can use a filter to process it.\n"
-"    Filters are functions which return a string based on the input variable.\n"
-"    You can also use a chain of filters to get the desired output:\n"
-"\n"
-"       $ hg tip --template \"{date|isodate}\\n\"\n"
-"       2008-08-21 18:22 +0000\n"
-"\n"
-"    List of filters:\n"
-"\n"
-"    - addbreaks: Any text. Add an XHTML \"<br />\" tag before the end of\n"
-"          every line except the last.\n"
-"    - age: Date. Returns a human-readable date/time difference between\n"
-"          the given date/time and the current 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 path\n"
-"          separator (ignoring trailing seprators). For example,\n"
-"          \"foo/bar/baz\" becomes \"baz\" and \"foo/bar//\" becomes \"bar\".\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 email\n"
-"          address, and extracts just the domain component.\n"
-"          Example: 'User <user@example.com>' becomes 'example.com'.\n"
-"    - email: Any text. Extracts the first string that looks like an email\n"
-"          address. Example: 'User <user@example.com>' becomes\n"
-"          '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"
-"    - 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"
-"    - obfuscate: Any text. Returns the input text rendered as a sequence\n"
-"          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\n"
-"          in email headers.\n"
-"    - short: Changeset hash. Returns the short form of a changeset hash,\n"
-"          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 the\n"
-"          first starting with a tab character.\n"
-"    - urlescape: Any text. Escapes all \"special\" characters. For example,\n"
-"          \"foo bar\" becomes \"foo%20bar\".\n"
-"    - user: Any text. Returns the user portion of an email address.\n"
-"    "
-msgstr ""
-"\n"
-"    水银允许你通过模版定制命令的输出。你可以通过命令行选项 '--template'\n"
-"    来使用模版,或者选择已有的模版样式(--style)。\n"
-"\n"
-"    你可以定制任意输出与日志信息类似的命令,即: log,outgoing,incoming,\n"
-"    tip,parents,heads 和 glog。\n"
-"\n"
-"    水银中内置了 3 种样式: default (默认), compact 和 changelog。用法:\n"
-"\n"
-"        $ hg log -r1 --style changelog\n"
-"\n"
-"    模版是文本片断,其中的标记用于变量扩展:\n"
-"\n"
-"        $ hg log -r1 --template \"{node}\\n\"\n"
-"        b56ce7b07c52de7d5fd79fb89701ea538af65746\n"
-"\n"
-"    花括号中的字符串称为关键字。可用的关键字依赖于模版的上下文。下述关键字\n"
-"    可用于输出与日志信息类似的命令:\n"
-"\n"
-"    - author: 字符串。修改集的作者。\n"
-"    - branches: 字符串。修改集的分支。如果分支名称为 'default' 则为空。\n"
-"    - date: 日期信息。修改集的日期。\n"
-"    - desc: 字符串。修改集的描述。\n"
-"    - files: 字符串列表。修改集中被修改、增加和删除的全部文件。\n"
-"    - file_adds: 字符串列表。修改集中被增加的文件。\n"
-"    - file_mods: 字符串列表。修改集中被修改的文件\n"
-"    - file_dels: 字符串列表。修改集中被删除的文件\n"
-"    - node: 字符串。修改集的哈系标识,40 个字符的 16 进制字符串。\n"
-"    - parents: 字符串列表。修改集的父亲。\n"
-"    - rev: 整数。本地版本库的修改集的版本号。\n"
-"    - tags: 字符串列表。修改集的标签。\n"
-"\n"
-"    关键字 \"date\" 不产生人工可读的输出。如果你想在输出中使用日期,可以使用\n"
-"    过滤器来处理它。过滤器是根据输入变量返回字符串的函数。你还可以使用过滤\n"
-"    链来产生理想的输出:\n"
-"\n"
-"       $ hg tip --template \"{date|isodate}\\n\"\n"
-"       2008-08-21 18:22 +0000\n"
-"\n"
-"    过滤器列表:\n"
-"\n"
-"    - addbreaks: 输入任意文本。除了最后一行,在每行的结尾增加 XHTML 标签\n"
-"          \"<br />\"。\n"
-"    - age: 输入日期。返回指定日期与当前日期差异的人工可读的字符串。\n"
-"    - basename: 输入任意文本。将输入视为路径,返回被路径分隔符隔开的最后\n"
-"          一个组件的名称(忽略结尾的分隔符)。例如 \"foo/bar/baz\" 成为 \"baz"
-"\",\n"
-"          \"foo/bar//\" 成为 \"bar\"。\n"
-"    - date: 输入日期。返回指定日期的 Unix 日期格式字符串,包含时区,例如: \n"
-"          \"Mon Sep 04 15:13:13 2006 0700\"。\n"
-"    - domain: 输入任意文本。找到第一个 email 地址,返回其域名。例如: \n"
-"          'User <user@example.com>' 成为 'example.com'。\n"
-"    - email: 输入任意文本。返回第一个 email 地址。例如: \n"
-"          'User <user@example.com>' 成为 'user@example.com'。\n"
-"    - escape: 输入任意文本。用 XML 实体来封装 XML/XHTML 的特殊字符 \"&\",\n"
-"          \"<\" 和 \">\"。\n"
-"    - fill68: 输入任意文本。格式化为 68 列文本。\n"
-"    - fill76: 输入任意文本。格式化为 76 列文本。\n"
-"    - firstline: 输入任意文本。返回首行。\n"
-"    - hgdate: 输入日期。返回一对数字:\n"
-"          \"1157407993 25200\" (Unix 时戳,时区偏移)。\n"
-"    - isodate: 输入日期。返回 ISO 8601 格式的日期。\n"
-"    - obfuscate: 输入任意文本。返回其 XML 实体序列。\n"
-"    - person: 输入任意文本。返回 email 地址前的文本。\n"
-"    - rfc822date: 输入日期。返回 email 头部使用的日期格式。\n"
-"    - short: 修改集哈系。返回修改集哈系的短格式。例如 12 字符的 16 进制\n"
-"          字符串。\n"
-"    - shortdate: 输入日期。返回格式类似于 \"2006-09-18\"。\n"
-"    - strip: 输入任意文本。删除全部行首与行尾空白。\n"
-"    - tabindent: 输入任意文本。除了首行,在每行的开始增加制表符号。\n"
-"    - urlescape: 输入任意文本。封装全部特殊字符。例如\n"
-"          \"foo bar\" 成为 \"foo%20bar\"。\n"
-"    - user: 输入任意文本。返回 email 地址中的用户名称部分。\n"
-"    "
-
-msgid "Url Paths"
-msgstr "统一资源定位路径"
-
-msgid ""
-"\n"
-"    Valid URLs are of the form:\n"
-"\n"
-"      local/filesystem/path (or file://local/filesystem/path)\n"
-"      http://[user[:pass]@]host[:port]/[path]\n"
-"      https://[user[:pass]@]host[:port]/[path]\n"
-"      ssh://[user[:pass]@]host[:port]/[path]\n"
-"\n"
-"    Paths in the local filesystem can either point to Mercurial\n"
-"    repositories or to bundle files (as created by 'hg bundle' or\n"
-"    'hg incoming --bundle').\n"
-"\n"
-"    An optional identifier after # indicates a particular branch, tag,\n"
-"    or changeset to use from the remote repository.\n"
-"\n"
-"    Some features, such as pushing to http:// and https:// URLs are\n"
-"    only possible if the feature is explicitly enabled on the\n"
-"    remote Mercurial server.\n"
-"\n"
-"    Some notes about using SSH with Mercurial:\n"
-"    - SSH requires an accessible shell account on the destination machine\n"
-"      and a copy of hg in the remote path or specified with as remotecmd.\n"
-"    - path is relative to the remote user's home directory by default.\n"
-"      Use an extra slash at the start of a path to specify an absolute path:\n"
-"        ssh://example.com//tmp/repository\n"
-"    - Mercurial doesn't use its own compression via SSH; the right thing\n"
-"      to do is to configure it in your ~/.ssh/config, e.g.:\n"
-"        Host *.mylocalnetwork.example.com\n"
-"          Compression no\n"
-"        Host *\n"
-"          Compression yes\n"
-"      Alternatively specify \"ssh -C\" as your ssh command in your hgrc or\n"
-"      with the --ssh command line option.\n"
-"\n"
-"    These urls can all be stored in your hgrc with path aliases under the\n"
-"    [paths] section like so:\n"
-"    [paths]\n"
-"    alias1 = URL1\n"
-"    alias2 = URL2\n"
-"    ...\n"
-"\n"
-"    You can then use the alias for any command that uses a url (for example\n"
-"    'hg pull alias1' would pull from the 'alias1' path).\n"
-"\n"
-"    Two path aliases are special because they are used as defaults\n"
-"    when you do not provide the url to a command:\n"
-"\n"
-"    default:\n"
-"      When you create a repository with hg clone, the clone command 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-\n"
-"      and pull-like commands (including in and out).\n"
-"\n"
-"    default-push:\n"
-"      The push command will look for a path named 'default-push', and\n"
-"      prefer it over 'default' if both are defined.\n"
-"    "
-msgstr ""
-"\n"
-"    有效的位置格式:\n"
-"\n"
-"      local/filesystem/path (or file://local/filesystem/path)\n"
-"      http://[user[:pass]@]host[:port]/[path]\n"
-"      https://[user[:pass]@]host[:port]/[path]\n"
-"      ssh://[user[:pass]@]host[:port]/[path]\n"
-"\n"
-"    位于本地文件系统中的路径可以指向版本库,也可以指向打包的文件(被\n"
-"    'hg bundle' 或 'hg incoming --bundle' 创建)。\n"
-"\n"
-"    在 '#' 后面可选的标识符用于指定要取得的远程版本库的分支,标签或\n"
-"    修改集。\n"
-"\n"
-"    仅当远程水银服务器显式启用时,才能推到 'http://' 和 'https://'。\n"
-"\n"
-"    在水银中使用 SSH 的一些提示:\n"
-"    - 使用 SSH 时,需要在远程主机上有可登录帐号,远程路径中还需要有\n"
-"      hg,或者有指定的远程命令。\n"
-"    - 默认 'path' 是相对于远程主机上的用户家目录。\n"
-"      可以在路径前增加一个斜线指定绝对路径:\n"
-"        ssh://example.com//tmp/repository\n"
-"    - 水银使用 SSH 时不使用压缩,所以你可以在 ~/.ssh/config 中配置\n"
-"      SSH 执行压缩,例如:\n"
-"        Host *.mylocalnetwork.example.com\n"
-"          Compression no\n"
-"        Host *\n"
-"          Compression yes\n"
-"      另一个方法是在你的 hgrc 中将 \"ssh -C\" 作为你的 ssh 命令,或\n"
-"      用于命令行参数 '--ssh' 中。\n"
-"\n"
-"    这些路径可以在你的 'hgrc' 中的节 '[paths]' 中定义别名:\n"
-"    [paths]\n"
-"    alias1 = URL1\n"
-"    alias2 = URL2\n"
-"    ...\n"
-"\n"
-"    然后你就可以在任意命令中使用这些别名作为路径(例如 'hg pull alias1'\n"
-"    会从 'alias1' 定义的路径取得指定版本)。\n"
-"\n"
-"    因为用于默认路径,所以这 2 个路径别名比较特殊:\n"
-"\n"
-"    default:\n"
-"      当你使用 'hg clone' 创建版本库时,此命令会将源版本库的位置保存\n"
-"      为新版本库的 'default' 路径,然后你可以对类似 'push' 和 'pull'\n"
-"      的命令省略路径(包含进和出)。\n"
-"\n"
-"    default-push:\n"
-"      命令 'push' 会查找别名是 'default-push' 的路径,它覆盖定义 'default'。\n"
-"    "
-
-#, python-format
-msgid "destination directory: %s\n"
-msgstr "目标目录: %s\n"
-
-#, python-format
-msgid "destination '%s' already exists"
-msgstr ""
-
-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 ""
-
-msgid "updating working directory\n"
-msgstr "正在更新工作目录\n"
-
-msgid "updated"
-msgstr "已更新"
-
-msgid "merged"
-msgstr "已合并"
-
-msgid "removed"
-msgstr "已删除"
-
-msgid "unresolved"
-msgstr "未解决"
-
-#, python-format
-msgid "%d files %s"
-msgstr "%d 个文件%s"
-
-msgid "use 'hg resolve' to retry unresolved file merges\n"
-msgstr ""
-
-msgid ""
-"use 'hg resolve' to retry unresolved file merges or 'hg up --clean' to "
-"abandon\n"
-msgstr ""
-
-msgid "(branch merge, don't forget to commit)\n"
-msgstr ""
-
-#, python-format
-msgid "error reading %s/.hg/hgrc: %s\n"
-msgstr ""
-
-msgid "SSL support is unavailable"
-msgstr ""
-
-msgid "IPv6 not available on this system"
-msgstr ""
-
-#, python-format
-msgid "cannot start server at '%s:%d': %s"
-msgstr ""
-
-#, python-format
-msgid "calling hook %s: %s\n"
-msgstr ""
-
-#, python-format
-msgid "%s hook is invalid (\"%s\" not in a module)"
-msgstr ""
-
-#, python-format
-msgid "%s hook is invalid (import of \"%s\" failed)"
-msgstr ""
-
-#, python-format
-msgid "%s hook is invalid (\"%s\" is not defined)"
-msgstr ""
-
-#, python-format
-msgid "%s hook is invalid (\"%s\" is not callable)"
-msgstr ""
-
-#, python-format
-msgid "error: %s hook failed: %s\n"
-msgstr ""
-
-#, python-format
-msgid "error: %s hook raised an exception: %s\n"
-msgstr ""
-
-#, python-format
-msgid "%s hook failed"
-msgstr ""
-
-#, python-format
-msgid "warning: %s hook failed\n"
-msgstr ""
-
-#, python-format
-msgid "running hook %s: %s\n"
-msgstr ""
-
-#, python-format
-msgid "%s hook %s"
-msgstr ""
-
-#, python-format
-msgid "warning: %s hook %s\n"
-msgstr ""
-
-msgid "connection ended unexpectedly"
-msgstr ""
-
-#, python-format
-msgid "unsupported URL component: \"%s\""
-msgstr ""
-
-#, python-format
-msgid "using %s\n"
-msgstr "使用 %s\n"
-
-#, python-format
-msgid "capabilities: %s\n"
-msgstr ""
-
-msgid "operation not supported over http"
-msgstr ""
-
-#, python-format
-msgid "sending %s command\n"
-msgstr "发送命令 '%s'\n"
-
-#, python-format
-msgid "sending %s bytes\n"
-msgstr "发送 %s 字节\n"
-
-msgid "authorization failed"
-msgstr "授权失败"
-
-#, python-format
-msgid "http error while sending %s command\n"
-msgstr ""
-
-msgid "http error, possibly caused by proxy setting"
-msgstr ""
-
-#, python-format
-msgid "real URL is %s\n"
-msgstr "实际 URL 是 '%s'\n"
-
-#, python-format
-msgid "Requested URL: '%s'\n"
-msgstr "请求的 URL: '%s'\n"
-
-#, python-format
-msgid "'%s' does not appear to be an hg repository"
-msgstr "'%s' 似乎不是水银版本库"
-
-#, python-format
-msgid "'%s' sent a broken Content-Type header (%s)"
-msgstr ""
-
-#, 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 ""
-
-#, python-format
-msgid "push failed: %s"
-msgstr ""
-
-msgid "Python support for SSL and HTTPS is not installed"
-msgstr ""
-
-msgid "cannot create new http repository"
-msgstr ""
-
-#, python-format
-msgid "%s: ignoring invalid syntax '%s'\n"
-msgstr ""
-
-#, python-format
-msgid "skipping unreadable ignore file '%s': %s\n"
-msgstr ""
-
-#, python-format
-msgid "repository %s not found"
-msgstr ""
-
-#, python-format
-msgid "repository %s already exists"
-msgstr "版本库 %s 已存在"
-
-#, python-format
-msgid "requirement '%s' not supported"
-msgstr ""
-
-#, python-format
-msgid "%r cannot be used in a tag name"
-msgstr ""
-
-msgid "working copy of .hgtags is changed (please commit .hgtags manually)"
-msgstr ""
-
-#, python-format
-msgid "%s, line %s: %s\n"
-msgstr ""
-
-msgid "cannot parse entry"
-msgstr ""
-
-#, python-format
-msgid "node '%s' is not well formed"
-msgstr ""
-
-#, python-format
-msgid "tag '%s' refers to unknown node"
-msgstr ""
-
-#, python-format
-msgid "unknown revision '%s'"
-msgstr ""
-
-#, python-format
-msgid "filtering %s through %s\n"
-msgstr ""
-
-msgid "journal already exists - run hg recover"
-msgstr ""
-
-msgid "rolling back interrupted transaction\n"
-msgstr "回滚中断的事务\n"
-
-msgid "no interrupted transaction available\n"
-msgstr ""
-
-msgid "rolling back last transaction\n"
-msgstr "回滚最近的事务\n"
-
-#, python-format
-msgid "Named branch could not be reset, current branch still is: %s\n"
-msgstr ""
-
-msgid "no rollback information available\n"
-msgstr "没有回滚信息可用\n"
-
-#, python-format
-msgid "waiting for lock on %s held by %r\n"
-msgstr ""
-
-#, python-format
-msgid "repository %s"
-msgstr ""
-
-#, python-format
-msgid "working directory of %s"
-msgstr ""
-
-#, python-format
-msgid " %s: searching for copy revision for %s\n"
-msgstr ""
-
-#, python-format
-msgid " %s: copy %s:%s\n"
-msgstr ""
-
-msgid "cannot partially commit a merge (do not specify files or patterns)"
-msgstr ""
-
-#, python-format
-msgid "%s not tracked!\n"
-msgstr "%s 没有被跟踪!\n"
-
-msgid "unresolved merge conflicts (see hg resolve)"
-msgstr "未解决的合并冲突(参见 'hg resolve')"
-
-msgid "nothing changed\n"
-msgstr "没有改变\n"
-
-#, python-format
-msgid "trouble committing %s!\n"
-msgstr "提交 '%s' 出错!\n"
-
-msgid "HG: Enter commit message.  Lines beginning with 'HG:' are removed."
-msgstr "HG: 请输入提交日志。以 'HG:' 开始的行会被删除。"
-
-msgid "empty commit message"
-msgstr "空的提交日志"
-
-#, python-format
-msgid "%s does not exist!\n"
-msgstr "%s 不存在!\n"
-
-#, 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 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 "正在搜索修改\n"
-
-#, python-format
-msgid "examining %s:%s\n"
-msgstr ""
-
-msgid "branch already found\n"
-msgstr ""
-
-#, python-format
-msgid "found incomplete branch %s:%s\n"
-msgstr ""
-
-#, python-format
-msgid "found new changeset %s\n"
-msgstr ""
-
-#, python-format
-msgid "request %d: %s\n"
-msgstr ""
-
-#, python-format
-msgid "received %s:%s\n"
-msgstr ""
-
-#, python-format
-msgid "narrowing %d:%d %s\n"
-msgstr ""
-
-#, python-format
-msgid "found new branch changeset %s\n"
-msgstr ""
-
-#, python-format
-msgid "narrowed branch search to %s:%s\n"
-msgstr ""
-
-msgid "already have changeset "
-msgstr ""
-
-msgid "warning: repository is unrelated\n"
-msgstr ""
-
-msgid "repository is unrelated"
-msgstr ""
-
-msgid "found new changesets starting at "
-msgstr ""
-
-#, python-format
-msgid "%d total queries\n"
-msgstr ""
-
-msgid "common changesets up to "
-msgstr ""
-
-msgid "requesting all changes\n"
-msgstr "正在请求全部修改\n"
-
-msgid ""
-"Partial pull cannot be done because other repository doesn't support "
-"changegroupsubset."
-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 ""
-
-#, python-format
-msgid "%d changesets found\n"
-msgstr "已发现 %d 个修改集\n"
-
-msgid "list of changesets:\n"
-msgstr ""
-
-#, python-format
-msgid "empty or missing revlog for %s"
-msgstr ""
-
-#, python-format
-msgid "add changeset %s\n"
-msgstr ""
-
-msgid "adding changesets\n"
-msgstr "正在增加修改集\n"
-
-msgid "received changelog group is empty"
-msgstr ""
-
-msgid "adding manifests\n"
-msgstr "正在增加清单\n"
-
-msgid "adding file changes\n"
-msgstr "正在增加文件改变\n"
-
-#, python-format
-msgid "adding %s revisions\n"
-msgstr ""
-
-msgid "received file revlog group is empty"
-msgstr ""
-
-#, python-format
-msgid " (%+d heads)"
-msgstr ""
-
-#, python-format
-msgid "added %d changesets with %d changes to %d files%s\n"
-msgstr "已增加 %d 个修改集,包含 %d 个改变,修改了 %d 个文件%s\n"
-
-msgid "updating the branch cache\n"
-msgstr ""
-
-msgid "Unexpected response from remote server:"
-msgstr ""
-
-msgid "operation forbidden by server"
-msgstr ""
-
-msgid "locking the remote repository failed"
-msgstr ""
-
-msgid "the server sent an unknown error code"
-msgstr ""
-
-msgid "streaming all changes\n"
-msgstr ""
-
-#, python-format
-msgid "%d files to transfer, %s of data\n"
-msgstr ""
-
-#, python-format
-msgid "adding %s (%s)\n"
-msgstr ""
-
-#, python-format
-msgid "transferred %s in %.1f seconds (%s/sec)\n"
-msgstr ""
-
-msgid "no [smtp]host in hgrc - cannot send mail"
-msgstr ""
-
-#, python-format
-msgid "sending mail: smtp host %s, port %s\n"
-msgstr ""
-
-msgid "can't use TLS: Python SSL support not installed"
-msgstr ""
-
-msgid "(using tls)\n"
-msgstr ""
-
-#, python-format
-msgid "(authenticating to mail server as %s)\n"
-msgstr ""
-
-#, python-format
-msgid "sending mail: %s\n"
-msgstr ""
-
-msgid "smtp specified as email transport, but no smtp host configured"
-msgstr ""
-
-#, python-format
-msgid "%r specified as email transport, but not in PATH"
-msgstr ""
-
-#, python-format
-msgid "ignoring invalid sendcharset: %s\n"
-msgstr ""
-
-#, python-format
-msgid "invalid email address: %s"
-msgstr ""
-
-#, python-format
-msgid "invalid local address: %s"
-msgstr ""
-
-msgid "'\\n' and '\\r' disallowed in filenames"
-msgstr ""
-
-#, python-format
-msgid "failed to remove %s from manifest"
-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 ""
-
-#, python-format
-msgid "case-folding collision between %s and %s"
-msgstr ""
-
-msgid "resolving manifests\n"
-msgstr "正在解析清单\n"
-
-#, python-format
-msgid " overwrite %s partial %s\n"
-msgstr ""
-
-#, python-format
-msgid " ancestor %s local %s remote %s\n"
-msgstr ""
-
-#, python-format
-msgid ""
-" conflicting flags for %s\n"
-"(n)one, e(x)ec or sym(l)ink?"
-msgstr ""
-
-#, python-format
-msgid ""
-" local changed %s which remote deleted\n"
-"use (c)hanged version or (d)elete?"
-msgstr ""
-
-msgid "[cd]"
-msgstr ""
-
-msgid "c"
-msgstr ""
-
-#, python-format
-msgid ""
-"remote changed %s which local deleted\n"
-"use (c)hanged version or leave (d)eleted?"
-msgstr ""
-
-#, python-format
-msgid "preserving %s for resolve of %s\n"
-msgstr ""
-
-#, python-format
-msgid "update failed to remove %s: %s!\n"
-msgstr ""
-
-#, python-format
-msgid "getting %s\n"
-msgstr "正在检出 %s\n"
-
-#, python-format
-msgid "moving %s to %s\n"
-msgstr ""
-
-#, python-format
-msgid "getting %s to %s\n"
-msgstr ""
-
-#, python-format
-msgid "warning: detected divergent renames of %s to:\n"
-msgstr ""
-
-#, python-format
-msgid "branch %s not found"
-msgstr ""
-
-msgid "can't merge with ancestor"
-msgstr ""
-
-msgid "nothing to merge (use 'hg update' or check 'hg heads')"
-msgstr ""
-
-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 ""
-
-#, python-format
-msgid "cannot create %s: destination already exists"
-msgstr ""
-
-#, python-format
-msgid "cannot create %s: unable to create destination directory"
-msgstr ""
-
-#, python-format
-msgid "found patch at byte %d\n"
-msgstr ""
-
-msgid "patch generated by hg export\n"
-msgstr ""
-
-#, python-format
-msgid "unable to find '%s' for patching\n"
-msgstr ""
-
-#, python-format
-msgid "patching file %s\n"
-msgstr ""
-
-#, python-format
-msgid "%d out of %d hunks FAILED -- saving rejects to file %s\n"
-msgstr ""
-
-#, python-format
-msgid "bad hunk #%d %s (%d %d %d %d)"
-msgstr ""
-
-#, python-format
-msgid "file %s already exists\n"
-msgstr ""
-
-#, python-format
-msgid "Hunk #%d succeeded at %d %s(offset %d %s).\n"
-msgstr ""
-
-#, python-format
-msgid "Hunk #%d FAILED at %d\n"
-msgstr ""
-
-#, python-format
-msgid "bad hunk #%d"
-msgstr ""
-
-#, python-format
-msgid "bad hunk #%d old text line %d"
-msgstr ""
-
-msgid "could not extract binary patch"
-msgstr ""
-
-#, python-format
-msgid "binary patch is %d bytes, not %d"
-msgstr ""
-
-#, python-format
-msgid "unable to strip away %d dirs from %s"
-msgstr ""
-
-msgid "undefined source and destination files"
-msgstr ""
-
-#, python-format
-msgid "malformed patch %s %s"
-msgstr ""
-
-#, python-format
-msgid "unsupported parser state: %s"
-msgstr ""
-
-#, python-format
-msgid "patch command failed: %s"
-msgstr ""
-
-#, python-format
-msgid "no valid hunks found; trying with %r instead\n"
-msgstr ""
-
-#, python-format
-msgid "saving bundle to %s\n"
-msgstr ""
-
-msgid "adding branch\n"
-msgstr ""
-
-#, python-format
-msgid "cannot %s; remote repository does not support the %r capability"
-msgstr ""
-
-#, python-format
-msgid "unknown compression type %r"
-msgstr ""
-
-#, python-format
-msgid "index %s unknown flags %#04x for format v0"
-msgstr ""
-
-#, python-format
-msgid "index %s unknown flags %#04x for revlogng"
-msgstr ""
-
-#, python-format
-msgid "index %s unknown format %d"
-msgstr ""
-
-msgid "no node"
-msgstr ""
-
-msgid "ambiguous identifier"
-msgstr ""
-
-msgid "no match found"
-msgstr ""
-
-#, python-format
-msgid "incompatible revision flag %x"
-msgstr ""
-
-#, python-format
-msgid "%s not found in the transaction"
-msgstr ""
-
-msgid "unknown base"
-msgstr ""
-
-msgid "consistency error adding group"
-msgstr ""
-
-#, python-format
-msgid "%s looks like a binary file."
-msgstr ""
-
-msgid "can only specify two labels."
-msgstr ""
-
-msgid "warning: conflicts during merge.\n"
-msgstr ""
-
-#, python-format
-msgid "couldn't parse location %s"
-msgstr ""
-
-msgid "could not create remote repo"
-msgstr ""
-
-msgid "remote: "
-msgstr ""
-
-msgid "no suitable response from remote hg"
-msgstr ""
-
-#, python-format
-msgid "push refused: %s"
-msgstr ""
-
-msgid "unsynced changes"
-msgstr ""
-
-msgid "cannot lock static-http repository"
-msgstr ""
-
-msgid "cannot create new static-http repository"
-msgstr ""
-
-#, python-format
-msgid "invalid entry in fncache, line %s"
-msgstr ""
-
-msgid "scanning\n"
-msgstr "正在扫描\n"
-
-#, python-format
-msgid "%d files, %d bytes to transfer\n"
-msgstr "需要传输 %d 个文件,%d 字节\n"
-
-#, python-format
-msgid "sending %s (%d bytes)\n"
-msgstr "正在发送 %s (%d 字节)\n"
-
-msgid "unmatched quotes"
-msgstr "不匹配的引号"
-
-#, python-format
-msgid "style not found: %s"
-msgstr "没有找到样式: %s"
-
-#, python-format
-msgid "%s:%s: parse error"
-msgstr "%s:%s: 解析出错"
-
-#, python-format
-msgid "template file %s: %s"
-msgstr "模版文件 %s: %s"
-
-#, python-format
-msgid "Error expanding '%s%%%s'"
-msgstr ""
-
-msgid "transaction abort!\n"
-msgstr "事务中止!\n"
-
-#, python-format
-msgid "failed to truncate %s\n"
-msgstr "截断 '%s' 失败\n"
-
-msgid "rollback completed\n"
-msgstr "完成回滚\n"
-
-#, python-format
-msgid "Not trusting file %s from untrusted user %s, group %s\n"
-msgstr ""
-
-#, python-format
-msgid ""
-"Failed to parse %s\n"
-"%s"
-msgstr ""
-"解析 '%s' 失败\n"
-"%s"
-
-#, python-format
-msgid "Ignored: %s\n"
-msgstr ""
-
-#, python-format
-msgid "unable to open %s: %s"
-msgstr ""
-
-#, python-format
-msgid ""
-"failed to parse %s\n"
-"%s"
-msgstr ""
-
-#, python-format
-msgid ""
-"Error in configuration section [%s] parameter '%s':\n"
-"%s"
-msgstr ""
-
-#, python-format
-msgid "Ignoring untrusted configuration option %s.%s = %s\n"
-msgstr ""
-
-#, python-format
-msgid ""
-"Error in configuration section [%s]:\n"
-"%s"
-msgstr ""
-
-msgid "enter a commit username:"
-msgstr ""
-
-#, python-format
-msgid "No username found, using '%s' instead\n"
-msgstr ""
-
-msgid "Please specify a username."
-msgstr ""
-
-#, python-format
-msgid "username %s contains a newline\n"
-msgstr ""
-
-msgid "unrecognized response\n"
-msgstr ""
-
-msgid "response expected"
-msgstr ""
-
-msgid "password: "
-msgstr "密码: "
-
-msgid "edit failed"
-msgstr ""
-
-msgid "http authorization required"
-msgstr "需要 http 授权"
-
-msgid "http authorization required\n"
-msgstr "需要 http 授权\n"
-
-#, python-format
-msgid "realm: %s\n"
-msgstr "领域: %s\n"
-
-#, python-format
-msgid "user: %s\n"
-msgstr "用户: %s\n"
-
-msgid "user:"
-msgstr "用户:"
-
-#, python-format
-msgid "proxying through http://%s:%s\n"
-msgstr ""
-
-#, python-format
-msgid "http auth: user %s, password %s\n"
-msgstr ""
-
-#, python-format
-msgid "%s, please check your locale settings"
-msgstr ""
-
-#, python-format
-msgid "command '%s' failed: %s"
-msgstr ""
-
-#, python-format
-msgid "path contains illegal component: %s"
-msgstr ""
-
-#, python-format
-msgid "path %r is inside repo %r"
-msgstr ""
-
-#, python-format
-msgid "path %r traverses symbolic link %r"
-msgstr ""
-
-msgid "Hardlinks not supported"
-msgstr ""
-
-msgid "user name not available - set USERNAME environment variable"
-msgstr ""
-
-#, python-format
-msgid "exited with status %d"
-msgstr ""
-
-#, python-format
-msgid "killed by signal %d"
-msgstr ""
-
-#, python-format
-msgid "stopped by signal %d"
-msgstr ""
-
-msgid "invalid exit code"
-msgstr ""
-
-#, python-format
-msgid "could not symlink to %r: %s"
-msgstr ""
-
-#, python-format
-msgid "invalid date: %r "
-msgstr ""
-
-#, python-format
-msgid "date exceeds 32 bits: %d"
-msgstr ""
-
-#, python-format
-msgid "impossible time zone offset: %d"
-msgstr ""
-
-#, python-format
-msgid "invalid day spec: %s"
-msgstr ""
-
-#, python-format
-msgid "%.0f GB"
-msgstr ""
-
-#, python-format
-msgid "%.1f GB"
-msgstr ""
-
-#, python-format
-msgid "%.2f GB"
-msgstr ""
-
-#, python-format
-msgid "%.0f MB"
-msgstr ""
-
-#, python-format
-msgid "%.1f MB"
-msgstr ""
-
-#, python-format
-msgid "%.2f MB"
-msgstr ""
-
-#, python-format
-msgid "%.0f KB"
-msgstr ""
-
-#, python-format
-msgid "%.1f KB"
-msgstr ""
-
-#, python-format
-msgid "%.2f KB"
-msgstr ""
-
-#, python-format
-msgid "%.0f bytes"
-msgstr ""
-
-msgid "cannot verify bundle or remote repos"
-msgstr ""
-
-msgid "interrupted"
-msgstr ""
-
-#, python-format
-msgid "empty or missing %s"
-msgstr ""
-
-#, python-format
-msgid "data length off by %d bytes"
-msgstr ""
-
-#, python-format
-msgid "index contains %d extra bytes"
-msgstr ""
-
-#, python-format
-msgid "warning: `%s' uses revlog format 1"
-msgstr ""
-
-#, python-format
-msgid "warning: `%s' uses revlog format 0"
-msgstr ""
-
-#, python-format
-msgid "rev %d point to %s changeset %d"
-msgstr ""
-
-#, python-format
-msgid " (expected %s)"
-msgstr ""
-
-#, python-format
-msgid "unknown parent 1 %s of %s"
-msgstr ""
-
-#, python-format
-msgid "unknown parent 2 %s of %s"
-msgstr ""
-
-#, python-format
-msgid "checking parents of %s"
-msgstr ""
-
-#, python-format
-msgid "duplicate revision %d (%d)"
-msgstr ""
-
-#, python-format
-msgid "repository uses revlog format %d\n"
-msgstr ""
-
-msgid "checking changesets\n"
-msgstr ""
-
-#, python-format
-msgid "unpacking changeset %s"
-msgstr ""
-
-msgid "checking manifests\n"
-msgstr ""
-
-msgid "file without name in manifest"
-msgstr ""
-
-#, python-format
-msgid "reading manifest delta %s"
-msgstr ""
-
-msgid "crosschecking files in changesets and manifests\n"
-msgstr ""
-
-#, python-format
-msgid "changeset refers to unknown manifest %s"
-msgstr ""
-
-msgid "in changeset but not in manifest"
-msgstr ""
-
-msgid "in manifest but not in changeset"
-msgstr ""
-
-msgid "checking files\n"
-msgstr ""
-
-#, python-format
-msgid "cannot decode filename '%s'"
-msgstr ""
-
-#, python-format
-msgid "broken revlog! (%s)"
-msgstr ""
-
-msgid "missing revlog!"
-msgstr ""
-
-#, python-format
-msgid "%s not in manifests"
-msgstr ""
-
-#, python-format
-msgid "unpacked size is %s, %s expected"
-msgstr ""
-
-#, python-format
-msgid "unpacking %s"
-msgstr ""
-
-#, python-format
-msgid "empty or missing copy source revlog %s:%s"
-msgstr ""
-
-#, python-format
-msgid "warning: %s@%s: copy source revision is nullid %s:%s"
-msgstr ""
-
-#, python-format
-msgid "checking rename of %s"
-msgstr ""
-
-#, python-format
-msgid "%s in manifests not found"
-msgstr ""
-
-#, python-format
-msgid "warning: orphan revlog '%s'"
-msgstr ""
-
-#, python-format
-msgid "%d files, %d changesets, %d total revisions\n"
-msgstr ""
-
-#, python-format
-msgid "%d warnings encountered!\n"
-msgstr ""
-
-#, python-format
-msgid "%d integrity errors encountered!\n"
-msgstr ""
-
-#, python-format
-msgid "(first damaged changeset appears to be %d)\n"
-msgstr ""
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/i18n/zh_CN.po	Tue Mar 31 20:30:20 2009 +0200
@@ -0,0 +1,9258 @@
+#
+# Chinese (simplified) translation for Mercurial
+# This file is distributed under the same license as Mercurial
+#
+# Copyright (C) 2009 the Mercurial team
+# Dongsheng Song <dongsheng.song@gmail.com>, 2009
+#
+# $Id: zh.po 1217 2009-03-11 09:20:30Z dongsheng.song@gmail.com $
+#
+# Update with pot file:
+#    msgmerge --update zh.po hg.pot
+#    msgfmt --statistics -c zh.po
+#
+# Please test your translation before commit:
+#    python setup.py build_py -c -d . build_ext -i build_mo
+#    LC_ALL=zh_CN.UTF-8 ./hg
+#
+# Please format your translation before commit:
+#    msgcat --width=80 --sort-by-file -o zh_new.po zh.po
+#    mv -f zh_new.po zh.po
+#
+# Please remove '#: filename:line' lines before submit to hg:
+#    msgcat --width=80 --no-location -o zh_new.po zh.po
+#    mv -f zh_new.po zh.po
+#
+# Dictionary:
+# blame             追溯
+# branch            分支
+# changes           修改
+# changeset         修改集
+# checkout          检出
+# remove            移除(从版本库删除)
+# delete            删除(只从文件系统删除)
+# patchset          补丁集
+# pushing to        推到
+# pulling from      拉自
+# rename            改名
+# repository        版本库
+# revert            恢复
+# revision          版本
+# tag               标签
+# tip               顶点
+# undo              撤销
+# unversioned       未版本控制
+# versioned         受版本控制
+# working copy      工作副本
+# ...
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: Mercurial 1.2\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2009-03-20 14:26+0800\n"
+"PO-Revision-Date: 2009-02-17 23:05+0800\n"
+"Last-Translator: Dongsheng Song <dongsheng.song@gmail.com>\n"
+"Language-Team: Chinese translation team <i18n-zh@googlegroups.com>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Generated-By: pygettext.py 1.5\n"
+"X-Poedit-Language: Chinese\n"
+"X-Poedit-Country: CHINA\n"
+
+#, python-format
+msgid " (default: %s)"
+msgstr " (默认: %s)"
+
+msgid "OPTIONS"
+msgstr "选项"
+
+msgid "COMMANDS"
+msgstr "命令"
+
+msgid "    options:\n"
+msgstr "    选项:\n"
+
+#, python-format
+msgid ""
+"    aliases: %s\n"
+"\n"
+msgstr ""
+"    别名: %s\n"
+"\n"
+
+msgid "return tuple of (match function, list enabled)."
+msgstr "返回 tuple (匹配函数,启用列表)"
+
+#, python-format
+msgid "acl: %s not enabled\n"
+msgstr "acl: 未启用 %s\n"
+
+#, python-format
+msgid "acl: %s enabled, %d entries for user %s\n"
+msgstr "acl: 已启用 %s, %d 项,用户 %s\n"
+
+#, python-format
+msgid "config error - hook type \"%s\" cannot stop incoming changesets"
+msgstr "配置错误 - 钩子类型 \"%s\" 不能终止进入的修改集"
+
+#, python-format
+msgid "acl: changes have source \"%s\" - skipping\n"
+msgstr "acl: 改变源 \"%s\" - 跳过\n"
+
+#, python-format
+msgid "acl: user %s denied on %s\n"
+msgstr "acl: 用户 %s 被拒绝访问 %s\n"
+
+#, python-format
+msgid "acl: access denied for changeset %s"
+msgstr "acl: 拒绝访问修改集 %s"
+
+#, python-format
+msgid "acl: user %s not allowed on %s\n"
+msgstr "acl: 用户 %s 被拒绝访问 %s\n"
+
+#, python-format
+msgid "acl: allowing changeset %s\n"
+msgstr "acl: 允许修改集 %s\n"
+
+msgid ""
+"allow user-defined command aliases\n"
+"\n"
+"To use, create entries in your hgrc of the form\n"
+"\n"
+"[alias]\n"
+"mycmd = cmd --args\n"
+msgstr ""
+"允许用户自定义命令的别名\n"
+"\n"
+"要使用别名,在你的 hgrc 中创建如下格式的条目:\n"
+"\n"
+"[alias]\n"
+"mycmd = cmd --args\n"
+
+msgid ""
+"defer command lookup until needed, so that extensions loaded\n"
+"    after alias can be aliased"
+msgstr "查找命令会推迟到需要时,所以可以在定义别名后加载模块"
+
+#, python-format
+msgid "*** [alias] %s: command %s is unknown"
+msgstr "*** [alias] %s: 未知命令 %s"
+
+#, python-format
+msgid "*** [alias] %s: command %s is ambiguous"
+msgstr "*** [alias] %s: 不明确的命令 %s"
+
+#, python-format
+msgid "*** [alias] %s: circular dependency on %s"
+msgstr "*** [alias] %s: 循环依赖于 %s"
+
+#, python-format
+msgid "*** [alias] %s: no definition\n"
+msgstr "*** [alias] %s: 无定义\n"
+
+msgid ""
+"mercurial bookmarks\n"
+"\n"
+"Mercurial bookmarks are local moveable pointers to changesets. Every\n"
+"bookmark points to a changeset identified by its hash. If you commit a\n"
+"changeset that is based on a changeset that has a bookmark on it, the\n"
+"bookmark is forwarded to the new changeset.\n"
+"\n"
+"It is possible to use bookmark names in every revision lookup (e.g. hg\n"
+"merge, hg update).\n"
+"\n"
+"The bookmark extension offers the possiblity to have a more git-like "
+"experience\n"
+"by adding the following configuration option to your .hgrc:\n"
+"\n"
+"[bookmarks]\n"
+"track.current = True\n"
+"\n"
+"This will cause bookmarks to track the bookmark that you are currently on, "
+"and\n"
+"just updates it. This is similar to git's approach of branching.\n"
+msgstr ""
+
+msgid ""
+"Parse .hg/bookmarks file and return a dictionary\n"
+"\n"
+"    Bookmarks are stored as {HASH}\\s{NAME}\\n (localtags format) values\n"
+"    in the .hg/bookmarks file. They are read by the parse() method and\n"
+"    returned as a dictionary with name => hash values.\n"
+"\n"
+"    The parsed dictionary is cached until a write() operation is done.\n"
+"    "
+msgstr ""
+
+msgid ""
+"Write bookmarks\n"
+"\n"
+"    Write the given bookmark => hash dictionary to the .hg/bookmarks file\n"
+"    in a format equal to those of localtags.\n"
+"\n"
+"    We also store a backup of the previous state in undo.bookmarks that\n"
+"    can be copied back on rollback.\n"
+"    "
+msgstr ""
+
+msgid ""
+"Get the current bookmark\n"
+"\n"
+"    If we use gittishsh branches we have a current bookmark that\n"
+"    we are on. This function returns the name of the bookmark. It\n"
+"    is stored in .hg/bookmarks.current\n"
+"    "
+msgstr ""
+
+msgid ""
+"Set the name of the bookmark that we are currently on\n"
+"\n"
+"    Set the name of the bookmark that we are on (hg update <bookmark>).\n"
+"    The name is recoreded in .hg/bookmarks.current\n"
+"    "
+msgstr ""
+
+msgid ""
+"mercurial bookmarks\n"
+"\n"
+"    Bookmarks are pointers to certain commits that move when\n"
+"    commiting. Bookmarks are local. They can be renamed, copied and\n"
+"    deleted. It is possible to use bookmark names in 'hg merge' and 'hg\n"
+"    update' to update to a given bookmark.\n"
+"\n"
+"    You can use 'hg bookmark NAME' to set a bookmark on the current\n"
+"    tip with the given name. If you specify a revision using -r REV\n"
+"    (where REV may be an existing bookmark), the bookmark is set to\n"
+"    that revision.\n"
+"    "
+msgstr ""
+
+msgid "a bookmark of this name does not exist"
+msgstr ""
+
+msgid "a bookmark of the same name already exists"
+msgstr ""
+
+msgid "new bookmark name required"
+msgstr ""
+
+msgid "bookmark name required"
+msgstr ""
+
+msgid "bookmark name cannot contain newlines"
+msgstr ""
+
+msgid "a bookmark cannot have the name of an existing branch"
+msgstr ""
+
+msgid ""
+"Strip bookmarks if revisions are stripped using\n"
+"    the mercurial.strip method. This usually happens during\n"
+"    qpush and qpop"
+msgstr ""
+
+msgid ""
+"Add a revision to the repository and\n"
+"            move the bookmark"
+msgstr ""
+
+msgid "Merge bookmarks with normal tags"
+msgstr ""
+
+msgid ""
+"Set the current bookmark\n"
+"\n"
+"    If the user updates to a bookmark we update the .hg/bookmarks.current\n"
+"    file.\n"
+"    "
+msgstr ""
+
+msgid "force"
+msgstr "强制"
+
+msgid "revision"
+msgstr "版本"
+
+msgid "delete a given bookmark"
+msgstr "删除指定书签"
+
+msgid "rename a given bookmark"
+msgstr "改名指定书签"
+
+msgid "hg bookmarks [-f] [-d] [-m NAME] [-r REV] [NAME]"
+msgstr ""
+
+msgid ""
+"Bugzilla integration\n"
+"\n"
+"This hook extension adds comments on bugs in Bugzilla when changesets\n"
+"that refer to bugs by Bugzilla ID are seen. The hook does not change bug\n"
+"status.\n"
+"\n"
+"The hook updates the Bugzilla database directly. Only Bugzilla installations\n"
+"using MySQL are supported.\n"
+"\n"
+"The hook relies on a Bugzilla script to send bug change notification emails.\n"
+"That script changes between Bugzilla versions; the 'processmail' script used\n"
+"prior to 2.18 is replaced in 2.18 and subsequent versions by\n"
+"'config/sendbugmail.pl'. Note that these will be run by Mercurial as the "
+"user\n"
+"pushing the change; you will need to ensure the Bugzilla install file\n"
+"permissions are set appropriately.\n"
+"\n"
+"Configuring the extension:\n"
+"\n"
+"    [bugzilla]\n"
+"    host       Hostname of the MySQL server holding the Bugzilla database.\n"
+"    db         Name of the Bugzilla database in MySQL. Default 'bugs'.\n"
+"    user       Username to use to access MySQL server. Default 'bugs'.\n"
+"    password   Password to use to access MySQL server.\n"
+"    timeout    Database connection timeout (seconds). Default 5.\n"
+"    version    Bugzilla version. Specify '3.0' for Bugzilla versions 3.0 and\n"
+"               later, '2.18' for Bugzilla versions from 2.18 and '2.16' for\n"
+"               versions prior to 2.18.\n"
+"    bzuser     Fallback Bugzilla user name to record comments with, if\n"
+"               changeset committer cannot be found as a Bugzilla user.\n"
+"    bzdir      Bugzilla install directory. Used by default notify.\n"
+"               Default '/var/www/html/bugzilla'.\n"
+"    notify     The command to run to get Bugzilla to send bug change\n"
+"               notification emails. Substitutes from a map with 3 keys,\n"
+"               'bzdir', 'id' (bug id) and 'user' (committer bugzilla email).\n"
+"               Default depends on version; from 2.18 it is\n"
+"               \"cd %(bzdir)s && perl -T contrib/sendbugmail.pl %(id)s %(user)"
+"s\".\n"
+"    regexp     Regular expression to match bug IDs in changeset commit "
+"message.\n"
+"               Must contain one \"()\" group. The default expression matches\n"
+"               'Bug 1234', 'Bug no. 1234', 'Bug number 1234',\n"
+"               'Bugs 1234,5678', 'Bug 1234 and 5678' and variations thereof.\n"
+"               Matching is case insensitive.\n"
+"    style      The style file to use when formatting comments.\n"
+"    template   Template to use when formatting comments. Overrides\n"
+"               style if specified. In addition to the usual Mercurial\n"
+"               keywords, the extension specifies:\n"
+"                   {bug}       The Bugzilla bug ID.\n"
+"                   {root}      The full pathname of the Mercurial "
+"repository.\n"
+"                   {webroot}   Stripped pathname of the Mercurial "
+"repository.\n"
+"                   {hgweb}     Base URL for browsing Mercurial repositories.\n"
+"               Default 'changeset {node|short} in repo {root} refers '\n"
+"                       'to bug {bug}.\\ndetails:\\n\\t{desc|tabindent}'\n"
+"    strip      The number of slashes to strip from the front of {root}\n"
+"               to produce {webroot}. Default 0.\n"
+"    usermap    Path of file containing Mercurial committer ID to Bugzilla "
+"user\n"
+"               ID mappings. If specified, the file should contain one "
+"mapping\n"
+"               per line, \"committer\"=\"Bugzilla user\". See also the\n"
+"               [usermap] section.\n"
+"\n"
+"    [usermap]\n"
+"    Any entries in this section specify mappings of Mercurial committer ID\n"
+"    to Bugzilla user ID. See also [bugzilla].usermap.\n"
+"    \"committer\"=\"Bugzilla user\"\n"
+"\n"
+"    [web]\n"
+"    baseurl    Base URL for browsing Mercurial repositories. Reference from\n"
+"               templates as {hgweb}.\n"
+"\n"
+"Activating the extension:\n"
+"\n"
+"    [extensions]\n"
+"    hgext.bugzilla =\n"
+"\n"
+"    [hooks]\n"
+"    # run bugzilla hook on every change pulled or pushed in here\n"
+"    incoming.bugzilla = python:hgext.bugzilla.hook\n"
+"\n"
+"Example configuration:\n"
+"\n"
+"This example configuration is for a collection of Mercurial repositories\n"
+"in /var/local/hg/repos/ used with a local Bugzilla 3.2 installation in\n"
+"/opt/bugzilla-3.2.\n"
+"\n"
+"    [bugzilla]\n"
+"    host=localhost\n"
+"    password=XYZZY\n"
+"    version=3.0\n"
+"    bzuser=unknown@domain.com\n"
+"    bzdir=/opt/bugzilla-3.2\n"
+"    template=Changeset {node|short} in {root|basename}.\\n{hgweb}/{webroot}/"
+"rev/{node|short}\\n\\n{desc}\\n\n"
+"    strip=5\n"
+"\n"
+"    [web]\n"
+"    baseurl=http://dev.domain.com/hg\n"
+"\n"
+"    [usermap]\n"
+"    user@emaildomain.com=user.name@bugzilladomain.com\n"
+"\n"
+"Commits add a comment to the Bugzilla bug record of the form:\n"
+"\n"
+"    Changeset 3b16791d6642 in repository-name.\n"
+"    http://dev.domain.com/hg/repository-name/rev/3b16791d6642\n"
+"\n"
+"    Changeset commit comment. Bug 1234.\n"
+msgstr ""
+
+msgid "support for bugzilla version 2.16."
+msgstr "支持 bugzilla 2.16。"
+
+#, python-format
+msgid "connecting to %s:%s as %s, password %s\n"
+msgstr "连接到 %s:%s as %s,密码 %s\n"
+
+msgid "run a query."
+msgstr "运行查询。"
+
+#, python-format
+msgid "query: %s %s\n"
+msgstr "查询: %s %s\n"
+
+#, python-format
+msgid "failed query: %s %s\n"
+msgstr "查询失败: %s %s\n"
+
+msgid "get identity of longdesc field"
+msgstr ""
+
+msgid "unknown database schema"
+msgstr "未知的数据库方案"
+
+msgid "filter not-existing bug ids from list."
+msgstr "从列表中过滤不存在的问题标识。"
+
+msgid "filter bug ids from list that already refer to this changeset."
+msgstr ""
+
+#, python-format
+msgid "bug %d already knows about changeset %s\n"
+msgstr ""
+
+msgid "tell bugzilla to send mail."
+msgstr ""
+
+msgid "telling bugzilla to send mail:\n"
+msgstr ""
+
+#, python-format
+msgid "  bug %s\n"
+msgstr ""
+
+#, python-format
+msgid "running notify command %s\n"
+msgstr ""
+
+#, python-format
+msgid "bugzilla notify command %s"
+msgstr ""
+
+msgid "done\n"
+msgstr "完成\n"
+
+msgid "look up numeric bugzilla user id."
+msgstr ""
+
+#, python-format
+msgid "looking up user %s\n"
+msgstr ""
+
+msgid "map name of committer to bugzilla user name."
+msgstr ""
+
+msgid ""
+"see if committer is a registered bugzilla user. Return\n"
+"        bugzilla username and userid if so. If not, return default\n"
+"        bugzilla username and userid."
+msgstr ""
+
+#, python-format
+msgid "cannot find bugzilla user id for %s"
+msgstr ""
+
+#, python-format
+msgid "cannot find bugzilla user id for %s or %s"
+msgstr ""
+
+msgid ""
+"add comment to bug. try adding comment as committer of\n"
+"        changeset, otherwise as default bugzilla user."
+msgstr ""
+
+msgid "support for bugzilla 2.18 series."
+msgstr ""
+
+msgid "support for bugzilla 3.0 series."
+msgstr ""
+
+msgid ""
+"return object that knows how to talk to bugzilla version in\n"
+"        use."
+msgstr ""
+
+#, python-format
+msgid "bugzilla version %s not supported"
+msgstr ""
+
+msgid ""
+"find valid bug ids that are referred to in changeset\n"
+"        comments and that do not already have references to this\n"
+"        changeset."
+msgstr ""
+
+msgid "update bugzilla bug with reference to changeset."
+msgstr ""
+
+msgid ""
+"strip leading prefix of repo root and turn into\n"
+"            url-safe path."
+msgstr ""
+
+msgid ""
+"changeset {node|short} in repo {root} refers to bug {bug}.\n"
+"details:\n"
+"\t{desc|tabindent}"
+msgstr ""
+
+msgid ""
+"add comment to bugzilla for each changeset that refers to a\n"
+"    bugzilla bug id. only add a comment once per bug, so same change\n"
+"    seen multiple times does not fill bug with duplicate data."
+msgstr ""
+
+#, python-format
+msgid "python mysql support not available: %s"
+msgstr ""
+
+#, python-format
+msgid "hook type %s does not pass a changeset id"
+msgstr ""
+
+#, python-format
+msgid "database error: %s"
+msgstr ""
+
+msgid ""
+"show the children of the given or working dir revision\n"
+"\n"
+"    Print the children of the working directory's revisions.\n"
+"    If a revision is given via --rev, the children of that revision\n"
+"    will be printed. If a file argument is given, revision in\n"
+"    which the file was last changed (after the working directory\n"
+"    revision or the argument to --rev if given) is printed.\n"
+"    "
+msgstr ""
+
+msgid "show children of the specified rev"
+msgstr ""
+
+msgid "hg children [-r REV] [FILE]"
+msgstr ""
+
+msgid "command to show certain statistics about revision history"
+msgstr ""
+
+msgid "Calculate stats"
+msgstr ""
+
+#, python-format
+msgid "Revision %d is a merge, ignoring...\n"
+msgstr ""
+
+#, python-format
+msgid "\rgenerating stats: %d%%"
+msgstr ""
+
+msgid ""
+"graph count of revisions grouped by template\n"
+"\n"
+"    Will graph count of changed lines or revisions grouped by template or\n"
+"    alternatively by date, if dateformat is used. In this case it will "
+"override\n"
+"    template.\n"
+"\n"
+"    By default statistics are counted for number of changed lines.\n"
+"\n"
+"    Examples:\n"
+"\n"
+"      # display count of changed lines for every committer\n"
+"      hg churn -t '{author|email}'\n"
+"\n"
+"      # display daily activity graph\n"
+"      hg churn -f '%H' -s -c\n"
+"\n"
+"      # display activity of developers by month\n"
+"      hg churn -f '%Y-%m' -s -c\n"
+"\n"
+"      # display count of lines changed in every year\n"
+"      hg churn -f '%Y' -s\n"
+"\n"
+"    The map file format used to specify aliases is fairly simple:\n"
+"\n"
+"    <alias email> <actual email>"
+msgstr ""
+
+#, python-format
+msgid "assuming %i character terminal\n"
+msgstr ""
+
+msgid "count rate for the specified revision or range"
+msgstr ""
+
+msgid "count rate for revs matching date spec"
+msgstr ""
+
+msgid "template to group changesets"
+msgstr ""
+
+msgid "strftime-compatible format for grouping by date"
+msgstr ""
+
+msgid "count rate by number of changesets"
+msgstr ""
+
+msgid "sort by key (default: sort by count)"
+msgstr ""
+
+msgid "file with email aliases"
+msgstr ""
+
+msgid "show progress"
+msgstr ""
+
+msgid "hg churn [-d DATE] [-r REV] [--aliases FILE] [--progress] [FILE]"
+msgstr ""
+
+msgid ""
+"add color output to status, qseries, and diff-related commands\n"
+"\n"
+"This extension modifies the status command to add color to its output to\n"
+"reflect file status, the qseries command to add color to reflect patch "
+"status\n"
+"(applied, unapplied, missing), and to diff-related commands to highlight\n"
+"additions, removals, diff headers, and trailing whitespace.\n"
+"\n"
+"Other effects in addition to color, like bold and underlined text, are also\n"
+"available.  Effects are rendered with the ECMA-48 SGR control function (aka\n"
+"ANSI escape codes).  This module also provides the render_text function,\n"
+"which can be used to add effects to any text.\n"
+"\n"
+"To enable this extension, add this to your .hgrc file:\n"
+"[extensions]\n"
+"color =\n"
+"\n"
+"Default effects my be overriden from the .hgrc file:\n"
+"\n"
+"[color]\n"
+"status.modified = blue bold underline red_background\n"
+"status.added = green bold\n"
+"status.removed = red bold blue_background\n"
+"status.deleted = cyan bold underline\n"
+"status.unknown = magenta bold underline\n"
+"status.ignored = black bold\n"
+"\n"
+"# 'none' turns off all effects\n"
+"status.clean = none\n"
+"status.copied = none\n"
+"\n"
+"qseries.applied = blue bold underline\n"
+"qseries.unapplied = black bold\n"
+"qseries.missing = red bold\n"
+"\n"
+"diff.diffline = bold\n"
+"diff.extended = cyan bold\n"
+"diff.file_a = red bold\n"
+"diff.file_b = green bold\n"
+"diff.hunk = magenta\n"
+"diff.deleted = red\n"
+"diff.inserted = green\n"
+"diff.changed = white\n"
+"diff.trailingwhitespace = bold red_background\n"
+msgstr ""
+
+msgid "Wrap text in commands to turn on each effect."
+msgstr ""
+
+msgid "run the status command with colored output"
+msgstr ""
+
+msgid "run the qseries command with colored output"
+msgstr ""
+
+msgid "wrap ui.write for colored diff output"
+msgstr ""
+
+msgid "wrap cmdutil.changeset_printer.showpatch with colored output"
+msgstr ""
+
+msgid "run the diff command with colored output"
+msgstr ""
+
+msgid "Initialize the extension."
+msgstr ""
+
+msgid "patch in command to command table and load effect map"
+msgstr ""
+
+msgid "when to colorize (always, auto, or never)"
+msgstr ""
+
+msgid "don't colorize output"
+msgstr ""
+
+msgid "converting foreign VCS repositories to Mercurial"
+msgstr ""
+
+msgid ""
+"convert a foreign SCM repository to a Mercurial one.\n"
+"\n"
+"    Accepted source formats [identifiers]:\n"
+"    - Mercurial [hg]\n"
+"    - CVS [cvs]\n"
+"    - Darcs [darcs]\n"
+"    - git [git]\n"
+"    - Subversion [svn]\n"
+"    - Monotone [mtn]\n"
+"    - GNU Arch [gnuarch]\n"
+"    - Bazaar [bzr]\n"
+"    - Perforce [p4]\n"
+"\n"
+"    Accepted destination formats [identifiers]:\n"
+"    - Mercurial [hg]\n"
+"    - Subversion [svn] (history on branches is not preserved)\n"
+"\n"
+"    If no revision is given, all revisions will be converted. Otherwise,\n"
+"    convert will only import up to the named revision (given in a format\n"
+"    understood by the source).\n"
+"\n"
+"    If no destination directory name is specified, it defaults to the\n"
+"    basename of the source with '-hg' appended.  If the destination\n"
+"    repository doesn't exist, it will be created.\n"
+"\n"
+"    If <REVMAP> isn't given, it will be put in a default location\n"
+"    (<dest>/.hg/shamap by default).  The <REVMAP> is a simple text\n"
+"    file that maps each source commit ID to the destination ID for\n"
+"    that revision, like so:\n"
+"    <source ID> <destination ID>\n"
+"\n"
+"    If the file doesn't exist, it's automatically created.  It's updated\n"
+"    on each commit copied, so convert-repo can be interrupted and can\n"
+"    be run repeatedly to copy new commits.\n"
+"\n"
+"    The [username mapping] file is a simple text file that maps each source\n"
+"    commit 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 author\n"
+"    mapping and the line format is:\n"
+"    srcauthor=whatever string you want\n"
+"\n"
+"    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:\n"
+"\n"
+"      include path/to/file\n"
+"\n"
+"      exclude path/to/file\n"
+"\n"
+"      rename from/file to/file\n"
+"\n"
+"    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 dirs not explicitely included.\n"
+"    The 'exclude' directive causes files or directories to be omitted.\n"
+"    The 'rename' directive renames a file or directory.  To rename from a\n"
+"    subdirectory into the root of the repository, use '.' as the path to\n"
+"    rename to.\n"
+"\n"
+"    The splicemap is a file that allows insertion of synthetic\n"
+"    history, letting you specify the parents of a revision.  This is\n"
+"    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"
+"    values, separated by spaces.  The key is the revision ID in the\n"
+"    source revision control system whose parents should be modified\n"
+"    (same format as a key in .hg/shamap).  The values are the revision\n"
+"    IDs (in either the source or destination revision control system)\n"
+"    that should be used as the new parents for that node.\n"
+"\n"
+"    Mercurial Source\n"
+"    -----------------\n"
+"\n"
+"    --config convert.hg.ignoreerrors=False (boolean)\n"
+"        ignore integrity errors when reading. Use it to fix Mercurial\n"
+"        repositories with missing revlogs, by converting from and to\n"
+"        Mercurial.\n"
+"    --config convert.hg.saverev=False          (boolean)\n"
+"        store original revision ID in changeset (forces target IDs to "
+"change)\n"
+"    --config convert.hg.startrev=0            (hg revision identifier)\n"
+"        convert start revision and its descendants\n"
+"\n"
+"    CVS Source\n"
+"    ----------\n"
+"\n"
+"    CVS source will use a sandbox (i.e. a checked-out copy) from CVS\n"
+"    to indicate the starting point of what will be converted. Direct\n"
+"    access to the repository files is not needed, unless of course\n"
+"    the repository is :local:. The conversion uses the top level\n"
+"    directory in the sandbox to find the CVS repository, and then uses\n"
+"    CVS rlog commands to find files to convert. This means that unless\n"
+"    a filemap is given, all files under the starting directory will be\n"
+"    converted, and that any directory reorganisation in the CVS\n"
+"    sandbox is ignored.\n"
+"\n"
+"    Because CVS does not have changesets, it is necessary to collect\n"
+"    individual commits to CVS and merge them into changesets. CVS\n"
+"    source uses its internal changeset merging code by default but can\n"
+"    be configured to call the external 'cvsps' program by setting:\n"
+"        --config convert.cvsps='cvsps -A -u --cvs-direct -q'\n"
+"    This is a legacy option and may be removed in future.\n"
+"\n"
+"    The options shown are the defaults.\n"
+"\n"
+"    Internal cvsps is selected by setting\n"
+"        --config convert.cvsps=builtin\n"
+"    and has a few more configurable options:\n"
+"        --config convert.cvsps.fuzz=60   (integer)\n"
+"            Specify the maximum time (in seconds) that is allowed between\n"
+"            commits with identical user and log message in a single\n"
+"            changeset. When very large files were checked in as part\n"
+"            of a changeset then the default may not be long enough.\n"
+"        --config convert.cvsps.mergeto='{{mergetobranch ([-\\w]+)}}'\n"
+"            Specify a regular expression to which commit log messages are\n"
+"            matched. If a match occurs, then the conversion process will\n"
+"            insert a dummy revision merging the branch on which this log\n"
+"            message occurs to the branch indicated in the regex.\n"
+"        --config convert.cvsps.mergefrom='{{mergefrombranch ([-\\w]+)}}'\n"
+"            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.\n"
+"\n"
+"    The hgext/convert/cvsps wrapper script allows the builtin changeset\n"
+"    merging code to be run without doing a conversion. Its parameters and\n"
+"    output are similar to that of cvsps 2.1.\n"
+"\n"
+"    Subversion Source\n"
+"    -----------------\n"
+"\n"
+"    Subversion source detects classical trunk/branches/tags layouts.\n"
+"    By default, the supplied \"svn://repo/path/\" source URL is\n"
+"    converted as a single branch. If \"svn://repo/path/trunk\" exists\n"
+"    it replaces the default branch. If \"svn://repo/path/branches\"\n"
+"    exists, its subdirectories are listed as possible branches. If\n"
+"    \"svn://repo/path/tags\" exists, it is looked for tags referencing\n"
+"    converted branches. Default \"trunk\", \"branches\" and \"tags\" values\n"
+"    can be overriden with following options. Set them to paths\n"
+"    relative to the source URL, or leave them blank to disable\n"
+"    autodetection.\n"
+"\n"
+"    --config convert.svn.branches=branches    (directory name)\n"
+"        specify the directory containing branches\n"
+"    --config convert.svn.tags=tags            (directory name)\n"
+"        specify the directory containing tags\n"
+"    --config convert.svn.trunk=trunk          (directory name)\n"
+"        specify the name of the trunk branch\n"
+"\n"
+"    Source history can be retrieved starting at a specific revision,\n"
+"    instead of being integrally converted. Only single branch\n"
+"    conversions are supported.\n"
+"\n"
+"    --config convert.svn.startrev=0           (svn revision number)\n"
+"        specify start Subversion revision.\n"
+"\n"
+"    Perforce Source\n"
+"    ---------------\n"
+"\n"
+"    The Perforce (P4) importer can be given a p4 depot path or a client\n"
+"    specification as source. It will convert all files in the source to\n"
+"    a flat Mercurial repository, ignoring labels, branches and integrations.\n"
+"    Note that when a depot path is given you then usually should specify a\n"
+"    target directory, because otherwise the target may be named ...-hg.\n"
+"\n"
+"    It is possible to limit the amount of source history to be converted\n"
+"    by specifying an initial Perforce revision.\n"
+"\n"
+"    --config convert.p4.startrev=0           (perforce changelist number)\n"
+"        specify initial Perforce revision.\n"
+"\n"
+"\n"
+"    Mercurial Destination\n"
+"    ---------------------\n"
+"\n"
+"    --config convert.hg.clonebranches=False   (boolean)\n"
+"        dispatch source branches in separate clones.\n"
+"    --config convert.hg.tagsbranch=default    (branch name)\n"
+"        tag revisions branch name\n"
+"    --config convert.hg.usebranchnames=True   (boolean)\n"
+"        preserve branch names\n"
+"\n"
+"    "
+msgstr ""
+
+msgid ""
+"create changeset information from CVS\n"
+"\n"
+"    This command is intended as a debugging tool for the CVS to Mercurial\n"
+"    converter, and can be used as a direct replacement for cvsps.\n"
+"\n"
+"    Hg debugcvsps reads the CVS rlog for current directory (or any named\n"
+"    directory) in the CVS repository, and converts the log to a series of\n"
+"    changesets based on matching commit log entries and dates."
+msgstr ""
+
+msgid "username mapping filename"
+msgstr ""
+
+msgid "destination repository type"
+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 ""
+
+msgid "try to sort changesets by date"
+msgstr ""
+
+msgid "hg convert [OPTION]... SOURCE [DEST [REVMAP]]"
+msgstr ""
+
+msgid "only return changes on specified branches"
+msgstr ""
+
+msgid "prefix to remove from file names"
+msgstr ""
+
+msgid "only return changes after or between specified tags"
+msgstr ""
+
+msgid "update cvs log cache"
+msgstr ""
+
+msgid "create new cvs log cache"
+msgstr ""
+
+msgid "set commit time fuzz in seconds"
+msgstr ""
+
+msgid "specify cvsroot"
+msgstr ""
+
+msgid "show parent changesets"
+msgstr ""
+
+msgid "show current changeset in ancestor branches"
+msgstr ""
+
+msgid "ignored for compatibility"
+msgstr ""
+
+msgid "hg debugcvsps [OPTION]... [PATH]..."
+msgstr ""
+
+#, python-format
+msgid "%s is not a valid revision in current branch"
+msgstr ""
+
+#, python-format
+msgid "%s is not available in %s anymore"
+msgstr ""
+
+#, python-format
+msgid "cannot find required \"%s\" tool"
+msgstr ""
+
+#, python-format
+msgid "running: %s\n"
+msgstr ""
+
+#, python-format
+msgid "%s error:\n"
+msgstr ""
+
+#, python-format
+msgid "%s %s"
+msgstr ""
+
+#, python-format
+msgid "could not open map file %r: %s"
+msgstr ""
+
+#, python-format
+msgid "%s: missing or unsupported repository"
+msgstr ""
+
+#, python-format
+msgid "convert: %s\n"
+msgstr ""
+
+#, python-format
+msgid "%s: unknown repository type"
+msgstr ""
+
+#, python-format
+msgid "cycle detected between %s and %s"
+msgstr ""
+
+msgid "not all revisions were sorted"
+msgstr ""
+
+#, python-format
+msgid "Writing author map file %s\n"
+msgstr ""
+
+#, python-format
+msgid "Overriding mapping for author %s, was %s, will be %s\n"
+msgstr ""
+
+#, python-format
+msgid "mapping author %s to %s\n"
+msgstr ""
+
+#, python-format
+msgid "Ignoring bad line in author map file %s: %s\n"
+msgstr ""
+
+#, python-format
+msgid "spliced in %s as parents of %s\n"
+msgstr ""
+
+msgid "scanning source...\n"
+msgstr ""
+
+msgid "sorting...\n"
+msgstr ""
+
+msgid "converting...\n"
+msgstr ""
+
+#, python-format
+msgid "source: %s\n"
+msgstr ""
+
+#, python-format
+msgid "assuming destination %s\n"
+msgstr ""
+
+#, python-format
+msgid "revision %s is not a patchset number or date"
+msgstr ""
+
+msgid "using builtin cvsps\n"
+msgstr ""
+
+#, python-format
+msgid "connecting to %s\n"
+msgstr ""
+
+msgid "CVS pserver authentication failed"
+msgstr ""
+
+msgid "server sucks"
+msgstr ""
+
+#, python-format
+msgid "%d bytes missing from remote file"
+msgstr ""
+
+#, python-format
+msgid "cvs server: %s\n"
+msgstr ""
+
+#, python-format
+msgid "unknown CVS response: %s"
+msgstr ""
+
+msgid "collecting CVS rlog\n"
+msgstr ""
+
+#, python-format
+msgid "reading cvs log cache %s\n"
+msgstr ""
+
+#, python-format
+msgid "cache has %d log entries\n"
+msgstr ""
+
+#, python-format
+msgid "error reading cache: %r\n"
+msgstr ""
+
+#, python-format
+msgid "running %s\n"
+msgstr ""
+
+#, python-format
+msgid "prefix=%r directory=%r root=%r\n"
+msgstr ""
+
+msgid "RCS file must be followed by working file"
+msgstr ""
+
+msgid "must have at least some revisions"
+msgstr ""
+
+msgid "expected revision number"
+msgstr ""
+
+msgid "revision must be followed by date line"
+msgstr ""
+
+#, python-format
+msgid "writing cvs log cache %s\n"
+msgstr ""
+
+#, python-format
+msgid "%d log entries\n"
+msgstr ""
+
+msgid "creating changesets\n"
+msgstr ""
+
+#, python-format
+msgid "%d changeset entries\n"
+msgstr ""
+
+msgid "Python ElementTree module is not available"
+msgstr ""
+
+#, python-format
+msgid "cleaning up %s\n"
+msgstr ""
+
+msgid "internal calling inconsistency"
+msgstr ""
+
+msgid "errors in filemap"
+msgstr ""
+
+#, python-format
+msgid "%s:%d: %r already in %s list\n"
+msgstr ""
+
+#, python-format
+msgid "%s:%d: unknown directive %r\n"
+msgstr ""
+
+msgid "source repository doesn't support --filemap"
+msgstr ""
+
+#, python-format
+msgid "%s does not look like a GNU Arch repo"
+msgstr ""
+
+msgid "cannot find a GNU Arch tool"
+msgstr ""
+
+#, python-format
+msgid "analyzing tree version %s...\n"
+msgstr ""
+
+#, python-format
+msgid ""
+"tree analysis stopped because it points to an unregistered archive %s...\n"
+msgstr ""
+
+#, python-format
+msgid "applying revision %s...\n"
+msgstr ""
+
+#, python-format
+msgid "computing changeset between %s and %s...\n"
+msgstr ""
+
+#, python-format
+msgid "obtaining revision %s...\n"
+msgstr ""
+
+#, python-format
+msgid "analysing revision %s...\n"
+msgstr ""
+
+#, python-format
+msgid "could not parse cat-log of %s"
+msgstr ""
+
+#, python-format
+msgid "%s is not a local Mercurial repo"
+msgstr "%s 不是本地的水银版本库"
+
+#, python-format
+msgid "initializing destination %s repository\n"
+msgstr "初始化目标版本库 %s\n"
+
+msgid "run hg sink pre-conversion action\n"
+msgstr "执行动作 hg sink pre-conversion\n"
+
+msgid "run hg sink post-conversion action\n"
+msgstr "执行动作 hg sink post-conversion action\n"
+
+#, python-format
+msgid "pulling from %s into %s\n"
+msgstr "自 %s 拉到 %s\n"
+
+msgid "updating tags\n"
+msgstr "正在更新标签\n"
+
+#, python-format
+msgid "%s is not a valid start revision"
+msgstr "%s 不是有效的开始版本"
+
+#, python-format
+msgid "ignoring: %s\n"
+msgstr "忽略: %s\n"
+
+msgid "run hg source pre-conversion action\n"
+msgstr "执行动作 hg source pre-conversion\n"
+
+msgid "run hg source post-conversion action\n"
+msgstr "执行动作 hg source post-conversion\n"
+
+#, python-format
+msgid "%s does not look like a monotone repo"
+msgstr "%s 不像是单纯的 monotone 版本库"
+
+#, python-format
+msgid "copying file in renamed dir from '%s' to '%s'"
+msgstr "从已改名的目录 '%s' 复制文件到 '%s'"
+
+msgid "reading p4 views\n"
+msgstr ""
+
+msgid "collecting p4 changelists\n"
+msgstr "正在搜索 p4 修改集\n"
+
+msgid "Subversion python bindings could not be loaded"
+msgstr "不能加载 svn 的 python 绑定"
+
+#, python-format
+msgid "Subversion python bindings %d.%d found, 1.4 or later required"
+msgstr "发现 svn 的 python 绑定版本 %d.%d,需要 1.4 或更新的版本"
+
+msgid "Subversion python bindings are too old, 1.4 or later required"
+msgstr "svn 的 python 绑定太旧,需要 1.4 或更新的版本"
+
+#, python-format
+msgid "svn: revision %s is not an integer"
+msgstr "svn: 版本 %s 不是整数"
+
+#, python-format
+msgid "svn: start revision %s is not an integer"
+msgstr "svn: 开始版本 %s 不是整数"
+
+#, python-format
+msgid "no revision found in module %s"
+msgstr "没有在模块 %s 中发现版本"
+
+#, python-format
+msgid "expected %s to be at %r, but not found"
+msgstr "期望 %s 位于 %r,但是没有发现"
+
+#, python-format
+msgid "found %s at %r\n"
+msgstr "发现 %s 位于 %r\n"
+
+#, python-format
+msgid "ignoring empty branch %s\n"
+msgstr "忽略空的分支 %s\n"
+
+#, python-format
+msgid "found branch %s at %d\n"
+msgstr "发现分支 %s 位于 %d\n"
+
+msgid "svn: start revision is not supported with with more than one branch"
+msgstr "svn: 在给出多于一个分支时不支持开始版本"
+
+#, python-format
+msgid "svn: no revision found after start revision %d"
+msgstr "svn: 在开始版本 %d 之后没有版本"
+
+#, python-format
+msgid "no tags found at revision %d\n"
+msgstr "在版本 %d 没有发现标签\n"
+
+#, python-format
+msgid "ignoring foreign branch %r\n"
+msgstr "忽略外部分支 %r\n"
+
+#, python-format
+msgid "%s not found up to revision %d"
+msgstr "没有发现 %s,一直到版本 %d"
+
+#, python-format
+msgid "branch renamed from %s to %s at %d\n"
+msgstr "分支从 %s 改名为 %s,在 %d\n"
+
+#, python-format
+msgid "reparent to %s\n"
+msgstr ""
+
+#, python-format
+msgid "copied to %s from %s@%s\n"
+msgstr "复制到 %s,自 %s@%s\n"
+
+#, python-format
+msgid "gone from %s\n"
+msgstr "离开 %s\n"
+
+#, python-format
+msgid "found parent directory %s\n"
+msgstr "发现父目录 %s\n"
+
+#, python-format
+msgid "base, entry %s %s\n"
+msgstr "基本,入口 %s %s\n"
+
+msgid "munge-o-matic\n"
+msgstr ""
+
+#, python-format
+msgid "info: %s %s %s %s\n"
+msgstr "信息: %s %s %s %s\n"
+
+#, python-format
+msgid "unknown path in revision %d: %s\n"
+msgstr "版本 %d 有未知路径: %s\n"
+
+#, python-format
+msgid "mark %s came from %s:%d\n"
+msgstr "标记 %s 来自 %s:%d\n"
+
+#, python-format
+msgid "parsing revision %d (%d changes)\n"
+msgstr "解析版本 %d (%d 个改变)\n"
+
+#, python-format
+msgid "found parent of branch %s at %d: %s\n"
+msgstr "发现分支 %s 的父亲,在 %d: %s\n"
+
+msgid "no copyfrom path, don't know what to do.\n"
+msgstr "没有 copyfrom 路径,不知道该怎么办。\n"
+
+#, python-format
+msgid "fetching revision log for \"%s\" from %d to %d\n"
+msgstr "为 \"%s\" 获取版本日志,自 %d 到 %d\n"
+
+#, python-format
+msgid "skipping blacklisted revision %d\n"
+msgstr "忽略黑名单版本 %d\n"
+
+#, python-format
+msgid "revision %d has no entries\n"
+msgstr "版本 %d 没有入口\n"
+
+#, python-format
+msgid "svn: branch has no revision %s"
+msgstr "svn: 分支没有版本 %s"
+
+#, python-format
+msgid "%r is not under %r, ignoring\n"
+msgstr "%r 不在 %r 之下,忽略之\n"
+
+#, python-format
+msgid "initializing svn repo %r\n"
+msgstr "初始化 svn 版本库 %r\n"
+
+#, python-format
+msgid "initializing svn wc %r\n"
+msgstr "初始化 svn 工作副本 %r\n"
+
+msgid "unexpected svn output:\n"
+msgstr "意外的 svn 输出:\n"
+
+msgid "unable to cope with svn output"
+msgstr "不能处理 svn 的输出"
+
+msgid "XXX TAGS NOT IMPLEMENTED YET\n"
+msgstr ""
+
+msgid ""
+"\n"
+"The `extdiff' Mercurial extension allows you to use external programs\n"
+"to compare revisions, or revision with working dir.  The external diff\n"
+"programs are called with a configurable set of options and two\n"
+"non-option arguments: paths to directories containing snapshots of\n"
+"files to compare.\n"
+"\n"
+"To enable this extension:\n"
+"\n"
+"  [extensions]\n"
+"  hgext.extdiff =\n"
+"\n"
+"The `extdiff' extension also allows to configure new diff commands, so\n"
+"you do not need to type \"hg extdiff -p kdiff3\" always.\n"
+"\n"
+"  [extdiff]\n"
+"  # add new command that runs GNU diff(1) in 'context diff' mode\n"
+"  cdiff = gdiff -Nprc5\n"
+"  ## or the old way:\n"
+"  #cmd.cdiff = gdiff\n"
+"  #opts.cdiff = -Nprc5\n"
+"\n"
+"  # add new command called vdiff, runs kdiff3\n"
+"  vdiff = kdiff3\n"
+"\n"
+"  # add new command called meld, runs meld (no need to name twice)\n"
+"  meld =\n"
+"\n"
+"  # add new command called vimdiff, runs gvimdiff with DirDiff plugin\n"
+"  #(see http://www.vim.org/scripts/script.php?script_id=102)\n"
+"  # Non english user, be sure to put \"let g:DirDiffDynamicDiffText = 1\" in\n"
+"  # your .vimrc\n"
+"  vimdiff = gvim -f '+next' '+execute \"DirDiff\" argv(0) argv(1)'\n"
+"\n"
+"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 ""
+
+msgid "snapshot files as of some revision"
+msgstr ""
+
+#, python-format
+msgid "making snapshot of %d files from rev %s\n"
+msgstr ""
+
+msgid ""
+"snapshot files from working directory.\n"
+"    if not using snapshot, -I/-X does not work and recursive diff\n"
+"    in tools like kdiff3 and meld displays too many files."
+msgstr ""
+
+#, python-format
+msgid "making snapshot of %d files from working dir\n"
+msgstr ""
+
+msgid ""
+"Do the actuall diff:\n"
+"\n"
+"    - copy to a temp structure if diffing 2 internal revisions\n"
+"    - copy to a temp structure if diffing working revision with\n"
+"      another one and more than 1 file is changed\n"
+"    - just invoke the diff for a single file in the working dir\n"
+"    "
+msgstr ""
+
+msgid "cannot specify --rev and --change at the same time"
+msgstr "不能同时指定 '--rev' 和 '--change'"
+
+#, python-format
+msgid "running %r in %s\n"
+msgstr ""
+
+#, python-format
+msgid "file changed while diffing. Overwriting: %s (src: %s)\n"
+msgstr ""
+
+msgid "cleaning up temp directory\n"
+msgstr ""
+
+msgid ""
+"use external program to diff repository (or selected files)\n"
+"\n"
+"    Show differences between revisions for the specified files, using\n"
+"    an external program.  The default program used is diff, with\n"
+"    default options \"-Npru\".\n"
+"\n"
+"    To select a different program, use the -p option.  The program\n"
+"    will be passed the names of two directories to compare.  To pass\n"
+"    additional options to the program, use the -o option.  These will\n"
+"    be passed before the names of the directories to compare.\n"
+"\n"
+"    When two revision arguments are given, then changes are\n"
+"    shown between those revisions. If only one revision is\n"
+"    specified then that revision is compared to the working\n"
+"    directory, and, when no revisions are specified, the\n"
+"    working directory files are compared to its parent."
+msgstr ""
+
+msgid "comparison program to run"
+msgstr ""
+
+msgid "pass option to comparison program"
+msgstr ""
+
+msgid "change made by revision"
+msgstr "此版本的修改"
+
+msgid "hg extdiff [OPT]... [FILE]..."
+msgstr ""
+
+msgid "use closure to save diff command to use"
+msgstr ""
+
+#, python-format
+msgid "hg %s [OPTION]... [FILE]..."
+msgstr ""
+
+msgid "pulling, updating and merging in one command"
+msgstr ""
+
+msgid ""
+"pull changes from a remote repository, merge new changes if needed.\n"
+"\n"
+"    This finds all changes from the repository at the specified path\n"
+"    or URL and adds them to the local repository.\n"
+"\n"
+"    If the pulled changes add a new branch head, the head is automatically\n"
+"    merged, and the result of the merge is committed.  Otherwise, the\n"
+"    working directory is updated to include the new changes.\n"
+"\n"
+"    When a merge occurs, the newly pulled changes are assumed to be\n"
+"    \"authoritative\".  The head of the new changes is used as the first\n"
+"    parent, with local changes as the second.  To switch the merge\n"
+"    order, use --switch-parent.\n"
+"\n"
+"    See 'hg help dates' for a list of formats valid for -d/--date.\n"
+"    "
+msgstr ""
+
+msgid ""
+"working dir not at branch tip (use \"hg update\" to check out branch tip)"
+msgstr ""
+
+msgid "outstanding uncommitted merge"
+msgstr ""
+
+msgid "outstanding uncommitted changes"
+msgstr ""
+
+msgid "working directory is missing some files"
+msgstr ""
+
+msgid ""
+"multiple heads in this branch (use \"hg heads .\" and \"hg merge\" to merge)"
+msgstr ""
+
+#, python-format
+msgid "pulling from %s\n"
+msgstr "正在拉自 %s\n"
+
+msgid "fetch -r doesn't work for remote repositories yet"
+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 ""
+
+#, python-format
+msgid "merging with %d:%s\n"
+msgstr ""
+
+#, python-format
+msgid "Automated merge with %s"
+msgstr ""
+
+#, python-format
+msgid "new changeset %d:%s merges remote changes with local\n"
+msgstr "新修改集 '%d:%s' 将远程修改与本地合并\n"
+
+msgid "a specific revision you would like to pull"
+msgstr "指定取得的版本"
+
+msgid "edit commit message"
+msgstr "编辑提交日志"
+
+msgid "edit commit message (DEPRECATED)"
+msgstr "编辑提交日志(不赞成)"
+
+msgid "switch parents when merging"
+msgstr "当合并时切换父亲"
+
+msgid "hg fetch [SOURCE]"
+msgstr ""
+
+msgid " returns of the good and bad signatures"
+msgstr ""
+
+msgid "error while verifying signature"
+msgstr ""
+
+msgid "create a new gpg instance"
+msgstr ""
+
+msgid ""
+"\n"
+"    walk over every sigs, yields a couple\n"
+"    ((node, version, sig), (filename, linenumber))\n"
+"    "
+msgstr ""
+
+msgid "get the keys who signed a data"
+msgstr ""
+
+#, python-format
+msgid "%s Bad signature from \"%s\"\n"
+msgstr ""
+
+#, python-format
+msgid "%s Note: Signature has expired (signed by: \"%s\")\n"
+msgstr ""
+
+#, python-format
+msgid "%s Note: This key has expired (signed by: \"%s\")\n"
+msgstr ""
+
+msgid "list signed changesets"
+msgstr ""
+
+#, python-format
+msgid "%s:%d node does not exist\n"
+msgstr ""
+
+msgid "verify all the signatures there may be for a particular revision"
+msgstr ""
+
+#, python-format
+msgid "No valid signature for %s\n"
+msgstr ""
+
+msgid "associate a string to a key (username, comment)"
+msgstr ""
+
+msgid ""
+"add a signature for the current or given revision\n"
+"\n"
+"    If no revision is given, the parent of the working directory is used,\n"
+"    or tip if no revision is checked out.\n"
+"\n"
+"    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)"
+msgstr ""
+
+#, python-format
+msgid "Added signature for changeset %s"
+msgstr ""
+
+msgid "map a manifest into some text"
+msgstr ""
+
+msgid "unknown signature version"
+msgstr ""
+
+msgid "make the signature local"
+msgstr ""
+
+msgid "sign even if the sigfile is modified"
+msgstr ""
+
+msgid "do not commit the sigfile after signing"
+msgstr ""
+
+msgid "the key id to sign with"
+msgstr ""
+
+msgid "commit message"
+msgstr ""
+
+msgid "hg sign [OPTION]... [REVISION]..."
+msgstr ""
+
+msgid "hg sigcheck REVISION"
+msgstr ""
+
+msgid "hg sigs"
+msgstr ""
+
+msgid ""
+"show revision graphs in terminal windows\n"
+"\n"
+"This extension adds a --graph option to the incoming, outgoing and log\n"
+"commands. When this options is given, an ascii representation of the\n"
+"revision graph is also shown.\n"
+msgstr ""
+
+msgid ""
+"cset DAG generator yielding (rev, node, [parents]) tuples\n"
+"\n"
+"    This generator function walks through the revision history from revision\n"
+"    start to revision stop (which must be less than or equal to start).\n"
+"    "
+msgstr ""
+
+msgid ""
+"file cset DAG generator yielding (rev, node, [parents]) tuples\n"
+"\n"
+"    This generator function walks through the revision history of a single\n"
+"    file from revision start to revision stop (which must be less than or\n"
+"    equal to start).\n"
+"    "
+msgstr ""
+
+msgid ""
+"grapher for asciigraph on a list of nodes and their parents\n"
+"\n"
+"    nodes must generate tuples (node, parents, char, lines) where\n"
+"     - parents must generate the parents of node, in sorted order,\n"
+"       and max length 2,\n"
+"     - char is the char to print as the node symbol, and\n"
+"     - lines are the lines to display next to the node.\n"
+"    "
+msgstr ""
+
+msgid ""
+"prints an ASCII graph of the DAG returned by the grapher\n"
+"\n"
+"    grapher is a generator that emits tuples with the following elements:\n"
+"\n"
+"      - Character to use as node's symbol.\n"
+"      - List of lines to display as the node's text.\n"
+"      - Column of the current node in the set of ongoing edges.\n"
+"      - Edges; a list of (col, next_col) indicating the edges between\n"
+"        the current node and its parents.\n"
+"      - Number of columns (ongoing edges) in the current revision.\n"
+"      - The difference between the number of columns (ongoing edges)\n"
+"        in the next revision and the number of columns (ongoing edges)\n"
+"        in the current revision. That is: -1 means one column removed;\n"
+"        0 means no columns added or removed; 1 means one column added.\n"
+"    "
+msgstr ""
+
+#, python-format
+msgid "--graph option is incompatible with --%s"
+msgstr ""
+
+msgid ""
+"show revision history alongside an ASCII revision graph\n"
+"\n"
+"    Print a revision history alongside a revision graph drawn with\n"
+"    ASCII characters.\n"
+"\n"
+"    Nodes printed as an @ character are parents of the working\n"
+"    directory.\n"
+"    "
+msgstr ""
+
+msgid ""
+"show the outgoing changesets alongside an ASCII revision graph\n"
+"\n"
+"    Print the outgoing changesets alongside a revision graph drawn with\n"
+"    ASCII characters.\n"
+"\n"
+"    Nodes printed as an @ character are parents of the working\n"
+"    directory.\n"
+"    "
+msgstr ""
+
+#, python-format
+msgid "comparing with %s\n"
+msgstr ""
+
+msgid "no changes found\n"
+msgstr "没有发现修改\n"
+
+msgid ""
+"show the incoming changesets alongside an ASCII revision graph\n"
+"\n"
+"    Print the incoming changesets alongside a revision graph drawn with\n"
+"    ASCII characters.\n"
+"\n"
+"    Nodes printed as an @ character are parents of the working\n"
+"    directory.\n"
+"    "
+msgstr ""
+
+msgid "wrap the command"
+msgstr ""
+
+msgid "show the revision DAG"
+msgstr "显示版本分支图"
+
+msgid "limit number of changes displayed"
+msgstr "限制显示的修改集数量"
+
+msgid "show patch"
+msgstr "显示补丁"
+
+msgid "show the specified revision or range"
+msgstr ""
+
+msgid "hg glog [OPTION]... [FILE]"
+msgstr ""
+
+msgid ""
+"CIA notification\n"
+"\n"
+"This is meant to be run as a changegroup or incoming hook.\n"
+"To configure it, set the following options in your hgrc:\n"
+"\n"
+"[cia]\n"
+"# your registered CIA user name\n"
+"user = foo\n"
+"# the name of the project in CIA\n"
+"project = foo\n"
+"# the module (subproject) (optional)\n"
+"#module = foo\n"
+"# Append a diffstat to the log message (optional)\n"
+"#diffstat = False\n"
+"# Template to use for log messages (optional)\n"
+"#template = {desc}\n"
+"{baseurl}/rev/{node}-- {diffstat}\n"
+"# Style to use (optional)\n"
+"#style = foo\n"
+"# The URL of the CIA notification service (optional)\n"
+"# You can use mailto: URLs to send by email, eg\n"
+"# mailto:cia@cia.vc\n"
+"# Make sure to set email.from if you do this.\n"
+"#url = http://cia.vc/\n"
+"# print message instead of sending it (optional)\n"
+"#test = False\n"
+"\n"
+"[hooks]\n"
+"# one of these:\n"
+"changegroup.cia = python:hgcia.hook\n"
+"#incoming.cia = python:hgcia.hook\n"
+"\n"
+"[web]\n"
+"# If you want hyperlinks (optional)\n"
+"baseurl = http://server/path/to/repo\n"
+msgstr ""
+
+msgid " A CIA message "
+msgstr ""
+
+msgid " CIA notification class "
+msgstr ""
+
+#, python-format
+msgid "hgcia: sending update to %s\n"
+msgstr ""
+
+msgid " send CIA notification "
+msgstr ""
+
+msgid "email.from must be defined when sending by email"
+msgstr ""
+
+msgid "cia: no user specified"
+msgstr ""
+
+msgid "cia: no project specified"
+msgstr ""
+
+msgid ""
+"browsing the repository in a graphical way\n"
+"\n"
+"The hgk extension allows browsing the history of a repository in a\n"
+"graphical way. It requires Tcl/Tk version 8.4 or later. (Tcl/Tk is\n"
+"not distributed with Mercurial.)\n"
+"\n"
+"hgk consists of two parts: a Tcl script that does the displaying and\n"
+"querying of information, and an extension to mercurial named hgk.py,\n"
+"which provides hooks for hgk to get information. hgk can be found in\n"
+"the contrib directory, and hgk.py can be found in the hgext directory.\n"
+"\n"
+"To load the hgext.py extension, add it to your .hgrc file (you have\n"
+"to use your global $HOME/.hgrc file, not one in a repository). You\n"
+"can specify an absolute path:\n"
+"\n"
+"  [extensions]\n"
+"  hgk=/usr/local/lib/hgk.py\n"
+"\n"
+"Mercurial can also scan the default python library path for a file\n"
+"named 'hgk.py' if you set hgk empty:\n"
+"\n"
+"  [extensions]\n"
+"  hgk=\n"
+"\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\n"
+"specify the path to hgk in your .hgrc file:\n"
+"\n"
+"  [hgk]\n"
+"  path=/location/of/hgk\n"
+"\n"
+"hgk can make use of the extdiff extension to visualize revisions.\n"
+"Assuming you had already configured extdiff vdiff command, just add:\n"
+"\n"
+"  [hgk]\n"
+"  vdiff=vdiff\n"
+"\n"
+"Revisions context menu will now display additional entries to fire\n"
+"vdiff on hovered and selected revisions."
+msgstr ""
+
+msgid "diff trees from two commits"
+msgstr ""
+
+msgid "output common ancestor information"
+msgstr ""
+
+msgid "cat a specific revision"
+msgstr ""
+
+msgid "cat-file: type or revision not supplied\n"
+msgstr ""
+
+msgid "aborting hg cat-file only understands commits\n"
+msgstr ""
+
+msgid "parse given revisions"
+msgstr ""
+
+msgid "print revisions"
+msgstr ""
+
+msgid "print extension options"
+msgstr ""
+
+msgid "start interactive history viewer"
+msgstr ""
+
+msgid "hg view [-l LIMIT] [REVRANGE]"
+msgstr ""
+
+msgid "generate patch"
+msgstr ""
+
+msgid "recursive"
+msgstr ""
+
+msgid "pretty"
+msgstr ""
+
+msgid "stdin"
+msgstr ""
+
+msgid "detect copies"
+msgstr ""
+
+msgid "search"
+msgstr ""
+
+msgid "hg git-diff-tree [OPTION]... NODE1 NODE2 [FILE]..."
+msgstr ""
+
+msgid "hg debug-cat-file [OPTION]... TYPE FILE"
+msgstr ""
+
+msgid "hg debug-config"
+msgstr ""
+
+msgid "hg debug-merge-base node node"
+msgstr ""
+
+msgid "ignored"
+msgstr ""
+
+msgid "hg debug-rev-parse REV"
+msgstr ""
+
+msgid "header"
+msgstr ""
+
+msgid "topo-order"
+msgstr ""
+
+msgid "parents"
+msgstr ""
+
+msgid "max-count"
+msgstr ""
+
+msgid "hg debug-rev-list [options] revs"
+msgstr ""
+
+msgid ""
+"syntax highlighting in hgweb, based on Pygments\n"
+"\n"
+"It depends on the pygments syntax highlighting library:\n"
+"http://pygments.org/\n"
+"\n"
+"To enable the extension add this to hgrc:\n"
+"\n"
+"[extensions]\n"
+"hgext.highlight =\n"
+"\n"
+"There is a single configuration option:\n"
+"\n"
+"[web]\n"
+"pygments_style = <style>\n"
+"\n"
+"The default is 'colorful'.\n"
+"\n"
+"-- Adam Hupp <adam@hupp.org>\n"
+msgstr ""
+
+msgid "inotify-based status acceleration for Linux systems\n"
+msgstr ""
+
+msgid "start an inotify server for this repository"
+msgstr "为此版本库启动服务 'inotify'"
+
+msgid "(found dead inotify server socket; removing it)\n"
+msgstr ""
+
+msgid "(starting inotify server)\n"
+msgstr ""
+
+#, python-format
+msgid "could not start inotify server: %s\n"
+msgstr ""
+
+#, python-format
+msgid "could not talk to new inotify server: %s\n"
+msgstr ""
+
+msgid "(inotify server not running)\n"
+msgstr ""
+
+#, python-format
+msgid "failed to contact inotify server: %s\n"
+msgstr ""
+
+msgid "run server in background"
+msgstr "在后台运行服务"
+
+msgid "used internally by daemon mode"
+msgstr "在后台服务模式内部使用"
+
+msgid "minutes to sit idle before exiting"
+msgstr "空闲几分钟后退出"
+
+msgid "name of file to write process ID to"
+msgstr "写入进程标识符的文件名称"
+
+msgid "hg inserve [OPT]..."
+msgstr ""
+
+#, python-format
+msgid "(inotify: received response from incompatible server version %d)\n"
+msgstr ""
+
+msgid "this system does not seem to support inotify"
+msgstr ""
+
+#, python-format
+msgid "*** the current per-user limit on the number of inotify watches is %s\n"
+msgstr ""
+
+msgid "*** this limit is too low to watch every directory in this repository\n"
+msgstr ""
+
+msgid "*** counting directories: "
+msgstr ""
+
+#, python-format
+msgid "found %d\n"
+msgstr ""
+
+#, python-format
+msgid "*** to raise the limit from %d to %d (run as root):\n"
+msgstr ""
+
+#, python-format
+msgid "***  echo %d > %s\n"
+msgstr ""
+
+#, python-format
+msgid "cannot watch %s until inotify watch limit is raised"
+msgstr ""
+
+#, python-format
+msgid "inotify service not available: %s"
+msgstr ""
+
+#, python-format
+msgid "watching %r\n"
+msgstr ""
+
+#, python-format
+msgid "watching directories under %r\n"
+msgstr ""
+
+#, python-format
+msgid "status: %r dir(%d) -> %s\n"
+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 ""
+
+#, python-format
+msgid "%s event: deleted %s\n"
+msgstr ""
+
+#, python-format
+msgid "%s event: modified %s\n"
+msgstr ""
+
+#, python-format
+msgid "filesystem containing %s was unmounted\n"
+msgstr ""
+
+#, python-format
+msgid "%s readable: %d bytes\n"
+msgstr ""
+
+#, python-format
+msgid "%s below threshold - unhooking\n"
+msgstr ""
+
+#, python-format
+msgid "%s reading %d events\n"
+msgstr ""
+
+#, python-format
+msgid "%s hooking back up with %d bytes readable\n"
+msgstr ""
+
+#, python-format
+msgid "%s processing %d deferred events as %d\n"
+msgstr ""
+
+#, python-format
+msgid "could not start server: %s"
+msgstr ""
+
+#, python-format
+msgid "received query from incompatible client version %d\n"
+msgstr ""
+
+#, python-format
+msgid "answering query for %r\n"
+msgstr ""
+
+msgid "finished setup\n"
+msgstr ""
+
+msgid "polling: no timeout\n"
+msgstr ""
+
+#, python-format
+msgid "polling: %sms timeout\n"
+msgstr ""
+
+#, python-format
+msgid "interhg: invalid pattern for %s: %s\n"
+msgstr ""
+
+#, python-format
+msgid "interhg: invalid regexp for %s: %s\n"
+msgstr ""
+
+msgid ""
+"keyword expansion in local repositories\n"
+"\n"
+"This extension expands RCS/CVS-like or self-customized $Keywords$\n"
+"in tracked text files selected by your configuration.\n"
+"\n"
+"Keywords are only expanded in local repositories and not stored in\n"
+"the change history. The mechanism can be regarded as a convenience\n"
+"for the current user or for archive distribution.\n"
+"\n"
+"Configuration is done in the [keyword] and [keywordmaps] sections\n"
+"of hgrc files.\n"
+"\n"
+"Example:\n"
+"\n"
+"    [keyword]\n"
+"    # expand keywords in every python file except those matching \"x*\"\n"
+"    **.py =\n"
+"    x*    = ignore\n"
+"\n"
+"Note: the more specific you are in your filename patterns\n"
+"      the less you lose speed in huge repos.\n"
+"\n"
+"For [keywordmaps] template mapping and expansion demonstration and\n"
+"control run \"hg kwdemo\".\n"
+"\n"
+"An additional date template filter {date|utcdate} is provided.\n"
+"\n"
+"The default template mappings (view with \"hg kwdemo -d\") can be replaced\n"
+"with customized keywords and templates.\n"
+"Again, run \"hg kwdemo\" to control the results of your config changes.\n"
+"\n"
+"Before changing/disabling active keywords, run \"hg kwshrink\" to avoid\n"
+"the risk of inadvertedly storing expanded keywords in the change history.\n"
+"\n"
+"To force expansion after enabling it, or a configuration change, run\n"
+"\"hg kwexpand\".\n"
+"\n"
+"Also, when committing with the record extension or using mq's qrecord, be "
+"aware\n"
+"that keywords cannot be updated. Again, run \"hg kwexpand\" on the files in\n"
+"question to update keyword expansions after all changes have been checked "
+"in.\n"
+"\n"
+"Expansions spanning more than one line and incremental expansions,\n"
+"like CVS' $Log$, are not supported. A keyword template map\n"
+"\"Log = {desc}\" expands to the first line of the changeset description.\n"
+msgstr ""
+
+msgid "Returns hgdate in cvs-like UTC format."
+msgstr ""
+
+msgid ""
+"\n"
+"    Sets up keyword templates, corresponding keyword regex, and\n"
+"    provides keyword substitution functions.\n"
+"    "
+msgstr ""
+
+msgid "Replaces keywords in data with expanded template."
+msgstr ""
+
+msgid "Returns data with keywords expanded."
+msgstr ""
+
+msgid ""
+"Returns true if path matches [keyword] pattern\n"
+"        and is not a symbolic link.\n"
+"        Caveat: localrepository._link fails on Windows."
+msgstr ""
+
+msgid "Overwrites selected files expanding/shrinking keywords."
+msgstr ""
+
+#, python-format
+msgid "overwriting %s %s keywords\n"
+msgstr ""
+
+msgid "Unconditionally removes all keyword substitutions from text."
+msgstr ""
+
+msgid "Returns text with all keyword substitutions removed."
+msgstr ""
+
+msgid "Returns lines with keyword substitutions removed."
+msgstr ""
+
+msgid ""
+"If in restricted mode returns data read from wdir with\n"
+"        keyword substitutions removed."
+msgstr ""
+
+msgid ""
+"\n"
+"    Subclass of filelog to hook into its read, add, cmp methods.\n"
+"    Keywords are \"stored\" unexpanded, and processed on reading.\n"
+"    "
+msgstr ""
+
+msgid "Expands keywords when reading filelog."
+msgstr ""
+
+msgid "Removes keyword substitutions when adding to filelog."
+msgstr ""
+
+msgid "Removes keyword substitutions for comparison."
+msgstr ""
+
+msgid ""
+"Bails out if [keyword] configuration is not active.\n"
+"    Returns status of working directory."
+msgstr ""
+
+msgid "[keyword] patterns cannot match"
+msgstr ""
+
+msgid "no [keyword] patterns configured"
+msgstr ""
+
+msgid "Selects files and passes them to kwtemplater.overwrite."
+msgstr ""
+
+msgid ""
+"print [keywordmaps] configuration and an expansion example\n"
+"\n"
+"    Show current, custom, or default keyword template maps\n"
+"    and their expansion.\n"
+"\n"
+"    Extend current configuration by specifying maps as arguments\n"
+"    and optionally by reading from an additional hgrc file.\n"
+"\n"
+"    Override current keyword template maps with \"default\" option.\n"
+"    "
+msgstr ""
+
+#, python-format
+msgid ""
+"\n"
+"\t%s\n"
+msgstr ""
+
+#, python-format
+msgid "creating temporary repo at %s\n"
+msgstr ""
+
+#, python-format
+msgid ""
+"\n"
+"%s keywords written to %s:\n"
+msgstr ""
+
+msgid "unhooked all commit hooks\n"
+msgstr ""
+
+#, python-format
+msgid ""
+"\n"
+"removing temporary repo %s\n"
+msgstr ""
+"\n"
+"正在删除临时版本库 %s\n"
+
+msgid ""
+"expand keywords in working directory\n"
+"\n"
+"    Run after (re)enabling keyword expansion.\n"
+"\n"
+"    kwexpand refuses to run if given files contain local changes.\n"
+"    "
+msgstr ""
+
+msgid ""
+"print files currently configured for keyword expansion\n"
+"\n"
+"    Crosscheck which files in working directory are potential targets for\n"
+"    keyword expansion.\n"
+"    That is, files matched by [keyword] config patterns but not symlinks.\n"
+"    "
+msgstr ""
+
+msgid ""
+"revert expanded keywords in working directory\n"
+"\n"
+"    Run before changing/disabling active keywords\n"
+"    or if you experience problems with \"hg import\" or \"hg merge\".\n"
+"\n"
+"    kwshrink refuses to run if given files contain local changes.\n"
+"    "
+msgstr ""
+
+msgid ""
+"Collects [keyword] config in kwtools.\n"
+"    Monkeypatches dispatch._parse if needed."
+msgstr ""
+
+msgid "Monkeypatch dispatch._parse to obtain running hg command."
+msgstr ""
+
+msgid ""
+"Sets up repo as kwrepo for keyword substitution.\n"
+"    Overrides file method to return kwfilelog instead of filelog\n"
+"    if file matches user configuration.\n"
+"    Wraps commit to overwrite configured files with updated\n"
+"    keyword substitutions.\n"
+"    Monkeypatches patch and webcommands."
+msgstr ""
+
+msgid ""
+"Monkeypatch/wrap patch.patchfile.__init__ to avoid\n"
+"        rejects or conflicts due to expanded keywords in working dir."
+msgstr ""
+
+msgid ""
+"Monkeypatch patch.diff to avoid expansion except when\n"
+"        comparing against working dir."
+msgstr ""
+
+msgid "Wraps webcommands.x turning off keyword expansion."
+msgstr ""
+
+msgid "show default keyword template maps"
+msgstr ""
+
+msgid "read maps from rcfile"
+msgstr ""
+
+msgid "hg kwdemo [-d] [-f RCFILE] [TEMPLATEMAP]..."
+msgstr ""
+
+msgid "hg kwexpand [OPTION]... [FILE]..."
+msgstr ""
+
+msgid "show keyword status flags of all files"
+msgstr ""
+
+msgid "show files excluded from expansion"
+msgstr ""
+
+msgid "additionally show untracked files"
+msgstr ""
+
+msgid "hg kwfiles [OPTION]... [FILE]..."
+msgstr ""
+
+msgid "hg kwshrink [OPTION]... [FILE]..."
+msgstr ""
+
+msgid ""
+"patch management and development\n"
+"\n"
+"This extension lets you work with a stack of patches in a Mercurial\n"
+"repository.  It manages two stacks of patches - all known patches, and\n"
+"applied patches (subset of known patches).\n"
+"\n"
+"Known patches are represented as patch files in the .hg/patches\n"
+"directory.  Applied patches are both patch files and changesets.\n"
+"\n"
+"Common tasks (use \"hg help command\" for more details):\n"
+"\n"
+"prepare repository to work with patches   qinit\n"
+"create new patch                          qnew\n"
+"import existing patch                     qimport\n"
+"\n"
+"print patch series                        qseries\n"
+"print applied patches                     qapplied\n"
+"print name of top applied patch           qtop\n"
+"\n"
+"add known patch to applied stack          qpush\n"
+"remove patch from applied stack           qpop\n"
+"refresh contents of top applied patch     qrefresh\n"
+msgstr ""
+
+msgid ""
+"Update all references to a field in the patch header.\n"
+"        If none found, add it email style."
+msgstr ""
+
+msgid ""
+"Remove existing message, keeping the rest of the comments fields.\n"
+"        If comments contains 'subject: ', message will prepend\n"
+"        the field and a blank line."
+msgstr ""
+
+#, python-format
+msgid "%s appears more than once in %s"
+msgstr ""
+
+msgid "guard cannot be an empty string"
+msgstr ""
+
+#, python-format
+msgid "guard %r starts with invalid character: %r"
+msgstr ""
+
+#, python-format
+msgid "invalid character in guard %r: %r"
+msgstr ""
+
+#, python-format
+msgid "active guards: %s\n"
+msgstr ""
+
+#, python-format
+msgid "guard %r too short"
+msgstr ""
+
+#, python-format
+msgid "guard %r starts with invalid char"
+msgstr ""
+
+#, python-format
+msgid "allowing %s - no guards in effect\n"
+msgstr ""
+
+#, python-format
+msgid "allowing %s - no matching negative guards\n"
+msgstr ""
+
+#, python-format
+msgid "allowing %s - guarded by %r\n"
+msgstr ""
+
+#, python-format
+msgid "skipping %s - guarded by %r\n"
+msgstr ""
+
+#, python-format
+msgid "skipping %s - no matching guards\n"
+msgstr ""
+
+#, python-format
+msgid "error removing undo: %s\n"
+msgstr ""
+
+#, python-format
+msgid "apply failed for patch %s"
+msgstr ""
+
+#, python-format
+msgid "patch didn't work out, merging %s\n"
+msgstr ""
+
+#, python-format
+msgid "update returned %d"
+msgstr ""
+
+msgid "repo commit failed"
+msgstr ""
+
+#, python-format
+msgid "unable to read %s"
+msgstr ""
+
+#, python-format
+msgid "patch %s does not exist\n"
+msgstr ""
+
+#, python-format
+msgid "patch %s is not applied\n"
+msgstr ""
+
+msgid ""
+"Apply patchfile  to the working directory.\n"
+"        patchfile: file name of patch"
+msgstr ""
+
+msgid "patch failed, unable to continue (try -v)\n"
+msgstr ""
+
+#, python-format
+msgid "applying %s\n"
+msgstr ""
+
+#, 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 ""
+
+msgid "patch failed, rejects left in working dir\n"
+msgstr ""
+
+msgid "fuzz found when applying patch, stopping\n"
+msgstr ""
+
+#, python-format
+msgid "revision %d is not managed"
+msgstr ""
+
+#, python-format
+msgid "cannot delete revision %d above applied patches"
+msgstr ""
+
+msgid "qdelete requires at least one revision or patch name"
+msgstr ""
+
+#, python-format
+msgid "cannot delete applied patch %s"
+msgstr ""
+
+#, python-format
+msgid "patch %s not in series file"
+msgstr ""
+
+msgid "no patches applied"
+msgstr ""
+
+msgid "working directory revision is not qtip"
+msgstr ""
+
+msgid "local changes found, refresh first"
+msgstr ""
+
+msgid "local changes found"
+msgstr ""
+
+#, python-format
+msgid "\"%s\" cannot be used as the name of a patch"
+msgstr ""
+
+msgid ""
+"options:\n"
+"           msg: a string or a no-argument function returning a string\n"
+"        "
+msgstr ""
+
+#, python-format
+msgid "patch \"%s\" already exists"
+msgstr ""
+
+#, python-format
+msgid "error unlinking %s\n"
+msgstr ""
+
+msgid "returns (index, rev, patch)"
+msgstr ""
+
+#, python-format
+msgid "patch name \"%s\" is ambiguous:\n"
+msgstr ""
+
+#, python-format
+msgid "patch %s not in series"
+msgstr ""
+
+msgid "(working directory not at tip)\n"
+msgstr ""
+
+msgid "no patches in series\n"
+msgstr ""
+
+#, python-format
+msgid "cannot push to a previous patch: %s"
+msgstr ""
+
+#, python-format
+msgid "qpush: %s is already at the top\n"
+msgstr ""
+
+#, python-format
+msgid "guarded by %r"
+msgstr ""
+
+msgid "no matching guards"
+msgstr ""
+
+#, python-format
+msgid "cannot push '%s' - %s\n"
+msgstr ""
+
+msgid "all patches are currently applied\n"
+msgstr ""
+
+msgid "patch series already fully applied\n"
+msgstr ""
+
+msgid "cleaning up working directory..."
+msgstr ""
+
+#, python-format
+msgid "errors during apply, please fix and refresh %s\n"
+msgstr ""
+
+#, python-format
+msgid "now at: %s\n"
+msgstr ""
+
+#, python-format
+msgid "patch %s is not applied"
+msgstr ""
+
+msgid "no patches applied\n"
+msgstr ""
+
+#, python-format
+msgid "qpop: %s is already at the top\n"
+msgstr ""
+
+msgid "qpop: forcing dirstate update\n"
+msgstr ""
+
+#, python-format
+msgid "trying to pop unknown node %s"
+msgstr ""
+
+msgid "popping would remove a revision not managed by this patch queue"
+msgstr ""
+
+msgid "deletions found between repo revs"
+msgstr ""
+
+msgid "patch queue now empty\n"
+msgstr ""
+
+msgid "cannot refresh a revision with children"
+msgstr ""
+
+msgid ""
+"refresh interrupted while patch was popped! (revert --all, qpush to recover)\n"
+msgstr ""
+
+msgid "patch queue directory already exists"
+msgstr ""
+
+#, python-format
+msgid "patch %s is not in series file"
+msgstr ""
+
+msgid "No saved patch data found\n"
+msgstr ""
+
+#, python-format
+msgid "restoring status: %s\n"
+msgstr ""
+
+msgid "save entry has children, leaving it alone\n"
+msgstr ""
+
+#, python-format
+msgid "removing save entry %s\n"
+msgstr ""
+
+#, python-format
+msgid "saved queue repository parents: %s %s\n"
+msgstr ""
+
+msgid "queue directory updating\n"
+msgstr ""
+
+msgid "Unable to load queue repository\n"
+msgstr ""
+
+msgid "save: no patches applied, exiting\n"
+msgstr ""
+
+msgid "status is already saved\n"
+msgstr ""
+
+msgid "hg patches saved state"
+msgstr ""
+
+msgid "repo commit failed\n"
+msgstr ""
+
+msgid ""
+"If all_patches is False, return the index of the next pushable patch\n"
+"        in the series, or the series length. If all_patches is True, return "
+"the\n"
+"        index of the first patch past the last applied one.\n"
+"        "
+msgstr ""
+
+#, python-format
+msgid "patch %s is already in the series file"
+msgstr ""
+
+msgid "option \"-r\" not valid when importing files"
+msgstr ""
+
+msgid "option \"-n\" not valid when importing multiple patches"
+msgstr ""
+
+#, python-format
+msgid "revision %d is the root of more than one branch"
+msgstr ""
+
+#, python-format
+msgid "revision %d is already managed"
+msgstr ""
+
+#, python-format
+msgid "revision %d is not the parent of the queue"
+msgstr ""
+
+#, python-format
+msgid "revision %d has unmanaged children"
+msgstr ""
+
+#, python-format
+msgid "cannot import merge revision %d"
+msgstr ""
+
+#, python-format
+msgid "revision %d is not the parent of %d"
+msgstr ""
+
+msgid "-e is incompatible with import from -"
+msgstr ""
+
+#, python-format
+msgid "patch %s does not exist"
+msgstr ""
+
+msgid "need --name to import a patch from -"
+msgstr ""
+
+#, python-format
+msgid "adding %s to series file\n"
+msgstr ""
+
+msgid ""
+"remove patches from queue\n"
+"\n"
+"    The patches must not be applied, unless they are arguments to\n"
+"    the --rev parameter. At least one patch or revision is required.\n"
+"\n"
+"    With --rev, mq will stop managing the named revisions (converting\n"
+"    them to regular mercurial changesets). The qfinish command should be\n"
+"    used as an alternative for qdel -r, as the latter option is deprecated.\n"
+"\n"
+"    With --keep, the patch files are preserved in the patch directory."
+msgstr ""
+
+msgid "print the patches already applied"
+msgstr ""
+
+msgid "print the patches not yet applied"
+msgstr ""
+
+msgid ""
+"import a patch\n"
+"\n"
+"    The patch is inserted into the series after the last applied patch.\n"
+"    If no patches have been applied, qimport prepends the patch\n"
+"    to the series.\n"
+"\n"
+"    The patch will have the same name as its source file unless you\n"
+"    give it a new one with --name.\n"
+"\n"
+"    You can register an existing patch inside the patch directory\n"
+"    with the --existing flag.\n"
+"\n"
+"    With --force, an existing patch of the same name will be overwritten.\n"
+"\n"
+"    An existing changeset may be placed under mq control with --rev\n"
+"    (e.g. qimport --rev tip -n patch will place tip under mq control).\n"
+"    With --git, patches imported with --rev will use the git diff\n"
+"    format. See the diffs help topic for information on why this is\n"
+"    important for preserving rename/copy information and permission changes.\n"
+"    "
+msgstr ""
+"导入补丁\n"
+"\n"
+"    此补丁插入到最近一次应用的补丁序列中。\n"
+"    如果尚无应用补丁,qimport 会插入补丁到序列开始。\n"
+"\n"
+"    除非你使用 '--name' 给出补丁名称,否则就与源文件同名。\n"
+"\n"
+"    你可以使用 '--existing' 注册一个已在补丁目录中的补丁。\n"
+"\n"
+"    使用 '--force' 会覆盖已有的补丁。\n"
+"\n"
+"    可以使用 '--rev' 将已有的修改集置于 mq 控制下(例如 \n"
+"    'qimport --rev tip -n patch' 会将 tip 置于 mq 控制下)。当使用 '--git'\n"
+"    时,'--rev' 导入的补丁将会使用 git 差异格式。参见差异帮助主题,以了解\n"
+"    为什么这对于保留改名/复制信息和权限修改很重要。\n"
+"    "
+
+msgid ""
+"init a new queue repository\n"
+"\n"
+"    The queue repository is unversioned by default. If -c is\n"
+"    specified, qinit will create a separate nested repository\n"
+"    for patches (qinit -c may also be run later to convert\n"
+"    an unversioned patch repository into a versioned one).\n"
+"    You can use qcommit to commit changes to this queue repository."
+msgstr ""
+"初始化队列仓库\n"
+"\n"
+"    默认队列仓库不受版本控制。如果指定了 '-c',那么 qinit 会为补丁创建一个\n"
+"    单独的嵌套版本库(也可以稍后运行 'qinit -c' 来将不受版本控制的补丁仓库\n"
+"    转换成受版本控制)。你可以使用 'qcommit' 提交改变到此队列版本库。"
+
+msgid ""
+"clone main and patch repository at same time\n"
+"\n"
+"    If source is local, destination will have no patches applied.  If\n"
+"    source is remote, this command can not check if patches are\n"
+"    applied in source, so cannot guarantee that patches are not\n"
+"    applied in destination.  If you clone remote repository, be sure\n"
+"    before that it has no patches applied.\n"
+"\n"
+"    Source patch repository is looked for in <src>/.hg/patches by\n"
+"    default.  Use -p <url> to change.\n"
+"\n"
+"    The patch directory must be a nested mercurial repository, as\n"
+"    would be created by qinit -c.\n"
+"    "
+msgstr ""
+
+msgid "versioned patch repository not found (see qinit -c)"
+msgstr ""
+
+msgid "cloning main repo\n"
+msgstr ""
+
+msgid "cloning patch repo\n"
+msgstr ""
+
+msgid "stripping applied patches from destination repo\n"
+msgstr ""
+
+msgid "updating destination repo\n"
+msgstr ""
+
+msgid "commit changes in the queue repository"
+msgstr ""
+
+msgid "print the entire series file"
+msgstr ""
+
+msgid "print the name of the current patch"
+msgstr ""
+
+msgid "print the name of the next patch"
+msgstr ""
+
+msgid "all patches applied\n"
+msgstr ""
+
+msgid "print the name of the previous patch"
+msgstr ""
+
+msgid "only one patch applied\n"
+msgstr ""
+
+msgid ""
+"create a new patch\n"
+"\n"
+"    qnew creates a new patch on top of the currently-applied patch (if any).\n"
+"    It will refuse to run if there are any outstanding changes unless -f is\n"
+"    specified, in which case the patch will be initialized with them. You\n"
+"    may also use -I, -X, 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 as\n"
+"    uncommitted modifications.\n"
+"\n"
+"    -u and -d can be used to set the (given) user and date, respectively.\n"
+"    -U and -D set user to current user and date to current date.\n"
+"\n"
+"    -e, -m or -l set the patch header as well as the commit message. If none\n"
+"    is specified, the header is empty and the commit message is '[mq]: "
+"PATCH'.\n"
+"\n"
+"    Use the --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"
+"    "
+msgstr ""
+
+msgid ""
+"update the current patch\n"
+"\n"
+"    If any file patterns are provided, the refreshed patch will contain only\n"
+"    the modifications that match those patterns; the remaining modifications\n"
+"    will remain in the working directory.\n"
+"\n"
+"    If --short is specified, files currently included in the patch will\n"
+"    be refreshed just like matched files and remain in the patch.\n"
+"\n"
+"    hg add/remove/copy/rename work as usual, though you might want to use\n"
+"    git-style patches (--git or [diff] git=1) to track copies and renames.\n"
+"    See the diffs help topic for more information on the git diff format.\n"
+"    "
+msgstr ""
+"更新当前补丁\n"
+"\n"
+"    如果提供了文件匹配模式,更新后的补丁只包含匹配这些模式的修改,其它\n"
+"    的修改仍旧在工作目录中。\n"
+"\n"
+"    如果指定了 '--short',只更新已经在补丁中的文件,与文件匹配模式类似。\n"
+"\n"
+"    'hg add/remove/copy/rename' 如常工作,你可能想使用 git 格式补丁(使\n"
+"    用选项 '--git' 或在配置文件的 [diff] 区中设置 git=1)以跟踪复制和改\n"
+"    名。请参见差异帮助主题,以了解关于 git 差异格式的更多信息。\n"
+"    "
+
+msgid "option \"-e\" incompatible with \"-m\" or \"-l\""
+msgstr ""
+
+msgid ""
+"diff of the current patch and subsequent modifications\n"
+"\n"
+"    Shows a diff which includes the current patch as well as any changes "
+"which\n"
+"    have been made in the working directory since the last refresh (thus\n"
+"    showing what the current patch would become after a qrefresh).\n"
+"\n"
+"    Use 'hg diff' if you only want to see the changes made since the last\n"
+"    qrefresh, or 'hg export qtip' if you want to see changes made by the\n"
+"    current patch without including changes made since the qrefresh.\n"
+"    "
+msgstr ""
+"显式当前的补丁和后续的修改\n"
+"\n"
+"    显示当前的补丁和最近一次刷新之后的修改(因而在执行 'qrefresh' 之后就只\n"
+"    显示当前的补丁)。\n"
+"\n"
+"    如果你只想看到最近一次刷新之后的修改请使用 'hg diff',如果你只想看到当\n"
+"    前的补丁请使用 'hg export qtip'。\n"
+"    "
+
+msgid ""
+"fold the named patches into the current patch\n"
+"\n"
+"    Patches must not yet be applied. Each patch will be successively\n"
+"    applied to the current patch in the order given. If all the\n"
+"    patches apply successfully, the current patch will be refreshed\n"
+"    with the new cumulative patch, and the folded patches will\n"
+"    be deleted. With -k/--keep, the folded patch files will not\n"
+"    be removed afterwards.\n"
+"\n"
+"    The header for each folded patch will be concatenated with\n"
+"    the 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"
+msgstr ""
+
+#, python-format
+msgid "qfold cannot fold already applied patch %s"
+msgstr ""
+
+#, python-format
+msgid "Error folding patch %s"
+msgstr ""
+
+msgid "push or pop patches until named patch is at top of stack"
+msgstr ""
+
+msgid ""
+"set or print guards for a patch\n"
+"\n"
+"    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"
+"    has activated it.\n"
+"\n"
+"    With no arguments, print the currently active guards.\n"
+"    With arguments, set guards for the named patch.\n"
+"    NOTE: Specifying negative guards now requires '--'.\n"
+"\n"
+"    To set guards on another patch:\n"
+"      hg qguard -- other.patch +2.6.17 -stable\n"
+"    "
+msgstr ""
+
+msgid "cannot mix -l/--list with options or arguments"
+msgstr ""
+
+msgid "no patch to work with"
+msgstr ""
+
+#, python-format
+msgid "no patch named %s"
+msgstr ""
+
+msgid "print the header of the topmost or specified patch"
+msgstr ""
+
+msgid ""
+"push the next patch onto the stack\n"
+"\n"
+"    When --force is applied, all local changes in patched files will be "
+"lost.\n"
+"    "
+msgstr ""
+"将下个补丁压入堆栈\n"
+"\n"
+"    当指定 '--force' 时,所有在补丁文件中的本地修改都会丢失。\n"
+"    "
+
+msgid "no saved queues found, please use -n\n"
+msgstr ""
+
+#, python-format
+msgid "merging with queue at: %s\n"
+msgstr ""
+
+msgid ""
+"pop the current patch off the stack\n"
+"\n"
+"    By default, pops off the top of the patch stack. If given a patch name,\n"
+"    keeps popping off patches until the named patch is at the top of the "
+"stack.\n"
+"    "
+msgstr ""
+"将当前补丁弹出堆栈\n"
+"\n"
+"    默认将补丁堆栈的顶部弹出。如果指定了补丁名称,那么就会一直弹出,直到此\n"
+"    补丁位于堆栈顶部。\n"
+"    "
+
+#, python-format
+msgid "using patch queue: %s\n"
+msgstr ""
+
+msgid ""
+"rename a patch\n"
+"\n"
+"    With one argument, renames the current patch to PATCH1.\n"
+"    With two arguments, renames PATCH1 to PATCH2."
+msgstr ""
+
+#, python-format
+msgid "%s already exists"
+msgstr ""
+
+#, python-format
+msgid "A patch named %s already exists in the series file"
+msgstr ""
+
+msgid "restore the queue state saved by a rev"
+msgstr ""
+
+msgid "save current queue state"
+msgstr ""
+
+#, python-format
+msgid "destination %s exists and is not a directory"
+msgstr ""
+
+#, python-format
+msgid "destination %s exists, use -f to force"
+msgstr ""
+
+#, python-format
+msgid "copy %s to %s\n"
+msgstr ""
+
+msgid ""
+"strip a revision and all its descendants from the repository\n"
+"\n"
+"    If one of the working dir's parent revisions is stripped, the working\n"
+"    directory will be updated to the parent of the stripped revision.\n"
+"    "
+msgstr ""
+"从版本库删除一个版本以及它的子孙\n"
+"\n"
+"    如果有工作目录的父版本被删除,那么此目录会被更新到已删除版本的父版本。\n"
+"    "
+
+msgid ""
+"set or print guarded patches to push\n"
+"\n"
+"    Use the 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 it\n"
+"    has no guards or any positive guards match the currently selected guard,\n"
+"    but will not be pushed if any negative guards match the current guard.\n"
+"    For example:\n"
+"\n"
+"        qguard foo.patch -stable    (negative guard)\n"
+"        qguard bar.patch +stable    (positive guard)\n"
+"        qselect stable\n"
+"\n"
+"    This activates the \"stable\" guard. mq will skip foo.patch (because\n"
+"    it has a negative match) but push bar.patch (because it\n"
+"    has a positive match).\n"
+"\n"
+"    With no arguments, prints the currently active guards.\n"
+"    With one argument, sets the active guard.\n"
+"\n"
+"    Use -n/--none to deactivate guards (no other arguments needed).\n"
+"    When no guards are active, patches with positive guards are skipped\n"
+"    and patches with negative guards are pushed.\n"
+"\n"
+"    qselect can change the guards on applied patches. It does not pop\n"
+"    guarded patches by default. Use --pop to pop back to the last applied\n"
+"    patch that is not guarded. Use --reapply (which implies --pop) to push\n"
+"    back to the current patch afterwards, but skip guarded patches.\n"
+"\n"
+"    Use -s/--series to print a list of all guards in the series file (no\n"
+"    other arguments needed). Use -v for more information."
+msgstr ""
+
+msgid "guards deactivated\n"
+msgstr ""
+
+#, python-format
+msgid "number of unguarded, unapplied patches has changed from %d to %d\n"
+msgstr ""
+
+#, python-format
+msgid "number of guarded, applied patches has changed from %d to %d\n"
+msgstr ""
+
+msgid "guards in series file:\n"
+msgstr ""
+
+msgid "no guards in series file\n"
+msgstr ""
+
+msgid "active guards:\n"
+msgstr ""
+
+msgid "no active guards\n"
+msgstr ""
+
+msgid "popping guarded patches\n"
+msgstr ""
+
+msgid "reapplying unguarded patches\n"
+msgstr ""
+
+msgid ""
+"move applied patches into repository history\n"
+"\n"
+"    Finishes the specified revisions (corresponding to applied patches) by\n"
+"    moving them out of mq control into regular repository history.\n"
+"\n"
+"    Accepts a revision range or the --applied option. If --applied is\n"
+"    specified, all applied mq revisions are removed from mq control.\n"
+"    Otherwise, the given revisions must be at the base of the stack of\n"
+"    applied patches.\n"
+"\n"
+"    This can be especially useful if your changes have been applied to an\n"
+"    upstream repository, or if you are about to push your changes to "
+"upstream.\n"
+"    "
+msgstr ""
+
+msgid "no revisions specified"
+msgstr ""
+
+msgid "cannot commit over an applied mq patch"
+msgstr ""
+
+msgid "source has mq patches applied"
+msgstr ""
+
+#, python-format
+msgid "mq status file refers to unknown node %s\n"
+msgstr ""
+
+#, python-format
+msgid "Tag %s overrides mq patch of the same name\n"
+msgstr ""
+
+msgid "cannot import over an applied patch"
+msgstr ""
+
+msgid "print first line of patch header"
+msgstr ""
+
+msgid "hg qapplied [-s] [PATCH]"
+msgstr ""
+
+msgid "use pull protocol to copy metadata"
+msgstr "数用协议 'pull' 来复制元数据"
+
+msgid "do not update the new working directories"
+msgstr ""
+
+msgid "use uncompressed transfer (fast over LAN)"
+msgstr "使用不压缩的传输(在局域网更快)"
+
+msgid "location of source patch repo"
+msgstr ""
+
+msgid "hg qclone [OPTION]... SOURCE [DEST]"
+msgstr ""
+
+msgid "hg qcommit [OPTION]... [FILE]..."
+msgstr ""
+
+msgid "hg qdiff [OPTION]... [FILE]..."
+msgstr ""
+
+msgid "keep patch file"
+msgstr ""
+
+msgid "stop managing a revision"
+msgstr ""
+
+msgid "hg qdelete [-k] [-r REV]... [PATCH]..."
+msgstr ""
+
+msgid "edit patch header"
+msgstr ""
+
+msgid "keep folded patch files"
+msgstr ""
+
+msgid "hg qfold [-e] [-k] [-m TEXT] [-l FILE] PATCH..."
+msgstr ""
+
+msgid "overwrite any local changes"
+msgstr ""
+
+msgid "hg qgoto [OPTION]... PATCH"
+msgstr ""
+
+msgid "list all patches and guards"
+msgstr ""
+
+msgid "drop all guards"
+msgstr ""
+
+msgid "hg qguard [-l] [-n] -- [PATCH] [+GUARD]... [-GUARD]..."
+msgstr ""
+
+msgid "hg qheader [PATCH]"
+msgstr ""
+
+msgid "import file in patch dir"
+msgstr "从补丁目录导入文件"
+
+msgid "patch file name"
+msgstr "补丁文件名称"
+
+msgid "overwrite existing files"
+msgstr "覆盖已有文件"
+
+msgid "place existing revisions under mq control"
+msgstr "将现有的版本置于 mq 控制下"
+
+msgid "use git extended diff format"
+msgstr "使用 git 扩展差异格式"
+
+msgid "hg qimport [-e] [-n NAME] [-f] [-g] [-r REV]... FILE..."
+msgstr ""
+
+msgid "create queue repository"
+msgstr "创建队列版本库"
+
+msgid "hg qinit [-c]"
+msgstr ""
+
+msgid "import uncommitted changes into patch"
+msgstr ""
+
+msgid "add \"From: <current user>\" to patch"
+msgstr ""
+
+msgid "add \"From: <given 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]..."
+msgstr ""
+
+msgid "hg qnext [-s]"
+msgstr ""
+
+msgid "hg qprev [-s]"
+msgstr ""
+
+msgid "pop all patches"
+msgstr "弹出全部补丁"
+
+msgid "queue name to pop"
+msgstr "操作的队列名称"
+
+msgid "forget any local changes"
+msgstr "丢弃本地修改"
+
+msgid "hg qpop [-a] [-n NAME] [-f] [PATCH | INDEX]"
+msgstr ""
+
+msgid "apply if the patch has rejects"
+msgstr "强制应用补丁"
+
+msgid "list patch name in commit text"
+msgstr "在提交日志中列出补丁名称"
+
+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]"
+msgstr ""
+
+msgid "refresh only files already in the patch and specified files"
+msgstr "仅当文件已经在补丁或指定文件中时才更新"
+
+msgid "add/update \"From: <current user>\" in patch"
+msgstr "在补丁中增加/更新 \"From: <current user>\""
+
+msgid "add/update \"From: <given user>\" in patch"
+msgstr "在补丁中增加/更新 \"From: <given user>\""
+
+msgid "update \"Date: <current date>\" in patch (if present)"
+msgstr "在补丁中更新 \"Date: <current date>\" (如果存在)"
+
+msgid "update \"Date: <given date>\" in patch (if present)"
+msgstr "在补丁中更新 \"Date: <given date>\" (如果存在)"
+
+msgid "hg qrefresh [-I] [-X] [-e] [-m TEXT] [-l FILE] [-s] [FILE]..."
+msgstr ""
+
+msgid "hg qrename PATCH1 [PATCH2]"
+msgstr ""
+
+msgid "delete save entry"
+msgstr ""
+
+msgid "update queue working dir"
+msgstr ""
+
+msgid "hg qrestore [-d] [-u] REV"
+msgstr ""
+
+msgid "copy patch directory"
+msgstr ""
+
+msgid "copy directory name"
+msgstr ""
+
+msgid "clear queue status file"
+msgstr ""
+
+msgid "force copy"
+msgstr ""
+
+msgid "hg qsave [-m TEXT] [-l FILE] [-c] [-n NAME] [-e] [-f]"
+msgstr ""
+
+msgid "disable all guards"
+msgstr ""
+
+msgid "list all guards in series file"
+msgstr ""
+
+msgid "pop to before first guarded applied patch"
+msgstr ""
+
+msgid "pop, then reapply patches"
+msgstr ""
+
+msgid "hg qselect [OPTION]... [GUARD]..."
+msgstr ""
+
+msgid "print patches not in series"
+msgstr ""
+
+msgid "hg qseries [-ms]"
+msgstr ""
+
+msgid "force removal with local changes"
+msgstr "强制删除,纵然有本地修改"
+
+msgid "bundle unrelated changesets"
+msgstr "打包不相关的修改集"
+
+msgid "no backups"
+msgstr "不备份"
+
+msgid "hg strip [-f] [-b] [-n] REV"
+msgstr ""
+
+msgid "hg qtop [-s]"
+msgstr ""
+
+msgid "hg qunapplied [-s] [PATCH]"
+msgstr ""
+
+msgid "finish all applied changesets"
+msgstr ""
+
+msgid "hg qfinish [-a] [REV...]"
+msgstr ""
+
+msgid ""
+"hook extension to email notifications on commits/pushes\n"
+"\n"
+"Subscriptions can be managed through hgrc. Default mode is to print\n"
+"messages to stdout, for testing and configuring.\n"
+"\n"
+"To use, configure notify extension and enable in hgrc like this:\n"
+"\n"
+"   [extensions]\n"
+"   hgext.notify =\n"
+"\n"
+"   [hooks]\n"
+"   # one email for each incoming changeset\n"
+"   incoming.notify = python:hgext.notify.hook\n"
+"   # batch emails when many changesets incoming at one time\n"
+"   changegroup.notify = python:hgext.notify.hook\n"
+"\n"
+"   [notify]\n"
+"   # config items go in here\n"
+"\n"
+" config items:\n"
+"\n"
+" REQUIRED:\n"
+"   config = /path/to/file # file containing subscriptions\n"
+"\n"
+" OPTIONAL:\n"
+"   test = True            # print messages to stdout for testing\n"
+"   strip = 3              # number of slashes to strip for url paths\n"
+"   domain = example.com   # domain to use if committer missing domain\n"
+"   style = ...            # style file to use when formatting email\n"
+"   template = ...         # template to use when formatting email\n"
+"   incoming = ...         # template to use when run as incoming hook\n"
+"   changegroup = ...      # template when run as changegroup hook\n"
+"   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"
+"                          # (serve == ssh or http, push, pull, bundle)\n"
+"   [email]\n"
+"   from = user@host.com   # email address to send as if none given\n"
+"   [web]\n"
+"   baseurl = http://hgserver/... # root of hg web site for browsing commits\n"
+"\n"
+" notify config file has same format as regular hgrc. it has two\n"
+" sections so you can express subscriptions in whatever way is handier\n"
+" for you.\n"
+"\n"
+"   [usersubs]\n"
+"   # key is subscriber email, value is \",\"-separated list of glob patterns\n"
+"   user@host = pattern\n"
+"\n"
+"   [reposubs]\n"
+"   # key is glob pattern, value is \",\"-separated list of subscriber emails\n"
+"   pattern = user@host\n"
+"\n"
+" glob patterns are matched against path to repo root.\n"
+"\n"
+" if you like, you can put notify config file in repo that users can\n"
+" push changes to, they can manage their own subscriptions."
+msgstr ""
+
+msgid "email notification class."
+msgstr ""
+
+msgid "strip leading slashes from local path, turn into web-safe path."
+msgstr ""
+
+msgid "try to clean up email addresses."
+msgstr ""
+
+msgid "return list of email addresses of subscribers to this repo."
+msgstr ""
+
+msgid "format one changeset."
+msgstr ""
+
+msgid "true if incoming changes from this source should be skipped."
+msgstr ""
+
+msgid "send message."
+msgstr ""
+
+#, python-format
+msgid "%s: %d new changesets"
+msgstr ""
+
+#, python-format
+msgid "notify: sending %d subscribers %d changes\n"
+msgstr ""
+
+#, python-format
+msgid ""
+"\n"
+"diffs (truncated from %d to %d lines):\n"
+"\n"
+msgstr ""
+
+#, python-format
+msgid ""
+"\n"
+"diffs (%d lines):\n"
+"\n"
+msgstr ""
+
+msgid ""
+"send email notifications to interested subscribers.\n"
+"\n"
+"    if used as changegroup hook, send one email for all changesets in\n"
+"    changegroup. else send one email per changeset."
+msgstr ""
+
+#, python-format
+msgid "notify: no subscribers to repo %s\n"
+msgstr ""
+
+#, python-format
+msgid "notify: changes have source \"%s\" - skipping\n"
+msgstr ""
+
+msgid ""
+"browse command output with external pager\n"
+"\n"
+"To set the pager that should be used, set the application variable:\n"
+"\n"
+"  [pager]\n"
+"  pager = LESS='FSRX' less\n"
+"\n"
+"If no pager is set, the pager extensions uses the environment\n"
+"variable $PAGER. If neither pager.pager, nor $PAGER is set, no pager\n"
+"is used.\n"
+"\n"
+"If you notice \"BROKEN PIPE\" error messages, you can disable them\n"
+"by setting:\n"
+"\n"
+"  [pager]\n"
+"  quiet = True\n"
+"\n"
+"You can disable the pager for certain commands by adding them to the\n"
+"pager.ignore list:\n"
+"\n"
+"  [pager]\n"
+"  ignore = version, help, update\n"
+"\n"
+"You can also enable the pager only for certain commands using pager.attend:\n"
+"\n"
+"  [pager]\n"
+"  attend = log\n"
+"\n"
+"If pager.attend is present, pager.ignore will be ignored.\n"
+"\n"
+"To ignore global commands like \"hg version\" or \"hg help\", you have to "
+"specify\n"
+"them in the global .hgrc\n"
+msgstr ""
+
+msgid ""
+"use suffixes to refer to ancestor revisions\n"
+"\n"
+"This extension allows you to use git-style suffixes to refer to\n"
+"the ancestors of a specific revision.\n"
+"\n"
+"For example, if you can refer to a revision as \"foo\", then:\n"
+"\n"
+"- foo^N = Nth parent of foo:\n"
+"  foo^0 = foo\n"
+"  foo^1 = first parent of foo\n"
+"  foo^2 = second parent of foo\n"
+"  foo^  = foo^1\n"
+"\n"
+"- foo~N = Nth first grandparent of foo\n"
+"  foo~0 = foo\n"
+"  foo~1 = foo^1 = foo^ = first parent of foo\n"
+"  foo~2 = foo^1^1 = foo^^ = first parent of first parent of foo\n"
+msgstr ""
+
+msgid ""
+"sending Mercurial changesets as a series of patch emails\n"
+"\n"
+"The series is started off with a \"[PATCH 0 of N]\" introduction,\n"
+"which describes the series as a whole.\n"
+"\n"
+"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 body parts:\n"
+"\n"
+"  The remainder of the changeset description.\n"
+"\n"
+"  [Optional] The result of running diffstat on the patch.\n"
+"\n"
+"  The patch itself, as generated by \"hg export\".\n"
+"\n"
+"Each message refers to all of its predecessors using the In-Reply-To\n"
+"and References headers, so they will show up as a sequence in\n"
+"threaded mail and news readers, and in mail archives.\n"
+"\n"
+"For each changeset, you will be prompted with a diffstat summary and\n"
+"the changeset summary, so you can be sure you are sending the right changes.\n"
+"\n"
+"To enable this extension:\n"
+"\n"
+"  [extensions]\n"
+"  hgext.patchbomb =\n"
+"\n"
+"To configure other defaults, add a section like this to your hgrc file:\n"
+"\n"
+"  [email]\n"
+"  from = My Name <my@email>\n"
+"  to = recipient1, recipient2, ...\n"
+"  cc = cc1, cc2, ...\n"
+"  bcc = bcc1, bcc2, ...\n"
+"\n"
+"Then you can use the \"hg email\" command to mail a series of changesets\n"
+"as a patchbomb.\n"
+"\n"
+"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 an an introductory\n"
+"message describing the patches of your patchbomb.  Then when all is\n"
+"done, patchbomb messages are displayed. If PAGER environment variable\n"
+"is set, your pager will be fired up once for each patchbomb message, so\n"
+"you can verify everything is alright.\n"
+"\n"
+"The \"-m\" (mbox) option is also very useful.  Instead of previewing\n"
+"each patchbomb message in a pager or sending the messages directly,\n"
+"it will create a UNIX mailbox file with the patch emails.  This\n"
+"mailbox file can be previewed with any mail user agent which supports\n"
+"UNIX mbox files, e.g. with mutt:\n"
+"\n"
+"  % mutt -R -f mbox\n"
+"\n"
+"When you are previewing the patchbomb messages, you can use `formail'\n"
+"(a utility that is commonly installed as part of the procmail package),\n"
+"to send each message out:\n"
+"\n"
+"  % formail -s sendmail -bm -t < mbox\n"
+"\n"
+"That should be all. Now your patchbomb is on its way out.\n"
+"\n"
+"You can also either configure the method option in the email section\n"
+"to be a sendmail compatable mailer or fill out the [smtp] section so\n"
+"that the patchbomb extension can automatically send patchbombs directly\n"
+"from the commandline. See the [email] and [smtp] sections in hgrc(5)\n"
+"for details."
+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\n"
+"\n"
+"    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.\n"
+"\n"
+"    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 body parts.  First, the rest of\n"
+"    the changeset description.  Next, (optionally) if the diffstat\n"
+"    program is installed, the result of running diffstat on the patch.\n"
+"    Finally, the patch itself, as generated by \"hg export\".\n"
+"\n"
+"    With --outgoing, emails will be generated for patches not\n"
+"    found in the destination repository (or only those which are\n"
+"    ancestors of the specified revisions if any are provided)\n"
+"\n"
+"    With --bundle, changesets are selected as for --outgoing,\n"
+"    but a single email containing a binary Mercurial bundle as an\n"
+"    attachment will be sent.\n"
+"\n"
+"    Examples:\n"
+"\n"
+"    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"
+"    hg email 3000             # send patch 3000 (deprecated)\n"
+"\n"
+"    hg email -o               # send all patches not in default\n"
+"    hg email -o DEST          # send all patches not in DEST\n"
+"    hg email -o -r 3000       # send all ancestors of 3000 not in default\n"
+"    hg email -o -r 3000 DEST  # send all ancestors of 3000 not in DEST\n"
+"\n"
+"    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 DEST  # bundle of all ancestors of 3000 not in DEST\n"
+"\n"
+"    Before using this command, you will need to enable email in your hgrc.\n"
+"    See the [email] section in hgrc(5) for details.\n"
+"    "
+msgstr ""
+
+msgid "Return the revisions present locally but not in dest"
+msgstr ""
+
+msgid "specify at least one changeset with -r or -o"
+msgstr ""
+
+msgid "--outgoing mode always on with --bundle; do not re-specify --outgoing"
+msgstr ""
+
+msgid "too many destinations"
+msgstr ""
+
+msgid "use only one form to specify the revision"
+msgstr ""
+
+msgid ""
+"\n"
+"Write the introductory message for the patch series.\n"
+"\n"
+msgstr ""
+
+#, python-format
+msgid ""
+"This patch series consists of %d patches.\n"
+"\n"
+msgstr ""
+
+msgid "Final summary:\n"
+msgstr ""
+
+msgid "Displaying "
+msgstr ""
+
+msgid "Writing "
+msgstr ""
+
+msgid "Sending "
+msgstr ""
+
+msgid "send patches as attachments"
+msgstr ""
+
+msgid "send patches as inline attachments"
+msgstr ""
+
+msgid "email addresses of blind carbon copy recipients"
+msgstr ""
+
+msgid "email addresses of copy recipients"
+msgstr ""
+
+msgid "add diffstat output to messages"
+msgstr ""
+
+msgid "use the given date as the sending date"
+msgstr ""
+
+msgid "use the given file as the series description"
+msgstr ""
+
+msgid "email address of sender"
+msgstr ""
+
+msgid "print messages that would be sent"
+msgstr ""
+
+msgid "write messages to mbox file instead of sending them"
+msgstr ""
+
+msgid "subject of first message (intro or single patch)"
+msgstr ""
+
+msgid "email addresses of recipients"
+msgstr ""
+
+msgid "omit hg patch header"
+msgstr ""
+
+msgid "send changes not found in the target repository"
+msgstr ""
+
+msgid "send changes not in target as a binary bundle"
+msgstr ""
+
+msgid "a revision to send"
+msgstr ""
+
+msgid "run even when remote repository is unrelated (with -b)"
+msgstr ""
+
+msgid "a base changeset to specify instead of a destination (with -b)"
+msgstr ""
+
+msgid "send an introduction email for a single patch"
+msgstr ""
+
+msgid "hg email [OPTION]... [DEST]..."
+msgstr ""
+
+msgid ""
+"removes files not tracked by Mercurial\n"
+"\n"
+"    Delete files not known to Mercurial. This is useful to test local and\n"
+"    uncommitted changes in an otherwise-clean source tree.\n"
+"\n"
+"    This means that purge will delete:\n"
+"     - Unknown files: files marked with \"?\" by \"hg status\"\n"
+"     - Empty directories: in fact Mercurial ignores directories unless they\n"
+"       contain files under source control managment\n"
+"    But it will leave untouched:\n"
+"     - Modified and unmodified tracked files\n"
+"     - Ignored files (unless --all is specified)\n"
+"     - New files added to the repository (with \"hg add\")\n"
+"\n"
+"    If directories are given on the command line, only files in these\n"
+"    directories are considered.\n"
+"\n"
+"    Be careful with purge, as you could irreversibly delete some files you\n"
+"    forgot to add to the repository. If you only want to print the list of\n"
+"    files that this program would delete, use the --print option.\n"
+"    "
+msgstr ""
+
+#, python-format
+msgid "%s cannot be removed"
+msgstr ""
+
+#, python-format
+msgid "warning: %s\n"
+msgstr ""
+
+#, python-format
+msgid "Removing file %s\n"
+msgstr "正在删除文件 %s\n"
+
+#, python-format
+msgid "Removing directory %s\n"
+msgstr "正在删除目录 %s\n"
+
+msgid "abort if an error occurs"
+msgstr ""
+
+msgid "purge ignored files too"
+msgstr ""
+
+msgid "print the file names instead of deleting them"
+msgstr ""
+
+msgid "end filenames with NUL, for use with xargs (implies -p)"
+msgstr ""
+
+msgid "hg purge [OPTION]... [DIR]..."
+msgstr ""
+
+msgid ""
+"move sets of revisions to a different ancestor\n"
+"\n"
+"This extension lets you rebase changesets in an existing Mercurial "
+"repository.\n"
+"\n"
+"For more information:\n"
+"http://www.selenic.com/mercurial/wiki/index.cgi/RebaseProject\n"
+msgstr ""
+
+msgid "return the correct ancestor"
+msgstr ""
+
+msgid "first revision, do not change ancestor\n"
+msgstr ""
+
+msgid ""
+"move changeset (and descendants) to a different branch\n"
+"\n"
+"    Rebase uses repeated merging to graft changesets from one part of "
+"history\n"
+"    onto another. This can be useful for linearizing local changes relative "
+"to\n"
+"    a master development tree.\n"
+"\n"
+"    If a rebase is interrupted to manually resolve a merge, it can be "
+"continued\n"
+"    with --continue or aborted with --abort.\n"
+"    "
+msgstr ""
+
+msgid "cannot use both keepbranches and extrafn"
+msgstr ""
+
+msgid "cannot use both abort and continue"
+msgstr ""
+
+msgid "cannot use collapse 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 "nothing to rebase\n"
+msgstr ""
+
+msgid "rebase merging completed\n"
+msgstr ""
+
+msgid "warning: new changesets detected on source branch, not stripping\n"
+msgstr ""
+
+msgid "rebase completed\n"
+msgstr ""
+
+#, python-format
+msgid "%d revisions have been skipped\n"
+msgstr ""
+
+msgid ""
+"Skip commit if collapsing has been required and rev is not the last\n"
+"    revision, commit otherwise\n"
+"    "
+msgstr ""
+
+msgid " set parents\n"
+msgstr ""
+
+msgid "Rebase a single revision"
+msgstr ""
+
+#, python-format
+msgid "rebasing %d:%s\n"
+msgstr ""
+
+#, python-format
+msgid " future parents are %d and %d\n"
+msgstr ""
+
+#, python-format
+msgid " update to %d:%s\n"
+msgstr ""
+
+msgid " already in target\n"
+msgstr ""
+
+#, python-format
+msgid " merge against %d:%s\n"
+msgstr ""
+
+msgid "fix unresolved conflicts with hg resolve then run hg rebase --continue"
+msgstr ""
+
+msgid "resuming interrupted rebase\n"
+msgstr ""
+
+#, python-format
+msgid "no changes, revision %d skipped\n"
+msgstr ""
+
+#, python-format
+msgid "next revision set to %s\n"
+msgstr ""
+
+msgid "Return the new parent relationship of the revision that will be rebased"
+msgstr ""
+
+#, python-format
+msgid "cannot use revision %d as base, result would have 3 parents"
+msgstr ""
+
+msgid "Update rebased mq patches - finalize and then import them"
+msgstr ""
+
+#, python-format
+msgid "revision %d is an mq patch (%s), finalize it.\n"
+msgstr ""
+
+#, python-format
+msgid "import mq patch %d (%s)\n"
+msgstr ""
+
+msgid "Store the current status to allow recovery"
+msgstr ""
+
+msgid "rebase status stored\n"
+msgstr ""
+
+msgid "Remove the status files"
+msgstr ""
+
+msgid "Restore a previously stored status"
+msgstr ""
+
+msgid "rebase status resumed\n"
+msgstr ""
+
+msgid "no rebase in progress"
+msgstr ""
+
+msgid "Restore the repository to its original state"
+msgstr ""
+
+msgid "warning: new changesets detected on target branch, not stripping\n"
+msgstr ""
+
+msgid "rebase aborted\n"
+msgstr ""
+
+msgid "Define which revisions are going to be rebased and where"
+msgstr ""
+
+msgid "cannot rebase onto an applied mq patch"
+msgstr ""
+
+msgid "cannot rebase an ancestor"
+msgstr ""
+
+msgid "cannot rebase a descendant"
+msgstr ""
+
+msgid "already working on current\n"
+msgstr ""
+
+msgid "already working on the current branch\n"
+msgstr ""
+
+#, python-format
+msgid "rebase onto %d starting from %d\n"
+msgstr ""
+
+msgid "unable to collapse, there is more than one external parent"
+msgstr ""
+
+msgid "Call rebase after pull if the latter has been invoked with --rebase"
+msgstr ""
+
+msgid "--update and --rebase are not compatible, ignoring the update flag\n"
+msgstr ""
+
+msgid "Replace pull with a decorator to provide --rebase option"
+msgstr ""
+
+msgid "rebase working directory to branch head"
+msgstr ""
+
+msgid "keep original revisions"
+msgstr ""
+
+msgid "keep original branches"
+msgstr ""
+
+msgid "rebase from a given revision"
+msgstr ""
+
+msgid "rebase from the base of a given revision"
+msgstr ""
+
+msgid "rebase onto a given revision"
+msgstr ""
+
+msgid "collapse the rebased revisions"
+msgstr ""
+
+msgid "continue an interrupted rebase"
+msgstr ""
+
+msgid "abort an interrupted rebase"
+msgstr ""
+
+msgid ""
+"hg rebase [-s rev | -b rev] [-d rev] [--collapse] | [-c] | [-a] | [--keep]"
+msgstr ""
+
+msgid "interactive change selection during commit or qrefresh"
+msgstr ""
+
+msgid ""
+"like patch.iterhunks, but yield different events\n"
+"\n"
+"    - ('file',    [header_lines + fromfile + tofile])\n"
+"    - ('context', [context_lines])\n"
+"    - ('hunk',    [hunk_lines])\n"
+"    - ('range',   (-start,len, +start,len, diffp))\n"
+"    "
+msgstr ""
+
+msgid "scan lr while predicate holds"
+msgstr ""
+
+msgid ""
+"patch header\n"
+"\n"
+"    XXX shoudn't we move this to mercurial/patch.py ?\n"
+"    "
+msgstr ""
+
+msgid "this modifies a binary file (all or nothing)\n"
+msgstr ""
+
+msgid "this is a binary file\n"
+msgstr ""
+
+#, python-format
+msgid "%d hunks, %d lines changed\n"
+msgstr ""
+
+msgid "hunk -> (n+,n-)"
+msgstr ""
+
+msgid ""
+"patch hunk\n"
+"\n"
+"    XXX shouldn't we merge this with patch.hunk ?\n"
+"    "
+msgstr ""
+
+msgid "patch -> [] of hunks "
+msgstr ""
+
+msgid "patch parsing state machine"
+msgstr ""
+
+msgid "Interactively filter patch chunks into applied-only chunks"
+msgstr ""
+
+msgid ""
+"fetch next portion from chunks until a 'header' is seen\n"
+"        NB: header == new-file mark\n"
+"        "
+msgstr ""
+
+msgid ""
+"prompt query, and process base inputs\n"
+"\n"
+"        - y/n for the rest of file\n"
+"        - y/n for the rest\n"
+"        - ? (help)\n"
+"        - q (quit)\n"
+"\n"
+"        else, input is returned to the caller.\n"
+"        "
+msgstr ""
+
+msgid "[Ynsfdaq?]"
+msgstr ""
+
+msgid "y"
+msgstr ""
+
+msgid "?"
+msgstr ""
+
+msgid "y - record this change"
+msgstr ""
+
+msgid "s"
+msgstr ""
+
+msgid "f"
+msgstr ""
+
+msgid "d"
+msgstr ""
+
+msgid "a"
+msgstr ""
+
+msgid "q"
+msgstr ""
+
+msgid "user quit"
+msgstr "用户退出"
+
+#, python-format
+msgid "examine changes to %s?"
+msgstr ""
+
+msgid " and "
+msgstr ""
+
+#, python-format
+msgid "record this change to %r?"
+msgstr ""
+
+msgid ""
+"interactively select changes to commit\n"
+"\n"
+"    If a list of files is omitted, all changes reported by \"hg status\"\n"
+"    will be candidates for recording.\n"
+"\n"
+"    See 'hg help dates' for a list of formats valid for -d/--date.\n"
+"\n"
+"    You will be prompted for whether to record changes to each\n"
+"    modified file, and for files with multiple changes, for each\n"
+"    change to use.  For each query, the following responses are\n"
+"    possible:\n"
+"\n"
+"    y - record this change\n"
+"    n - skip this change\n"
+"\n"
+"    s - skip remaining changes to this file\n"
+"    f - record remaining changes to this file\n"
+"\n"
+"    d - done, skip remaining changes and files\n"
+"    a - record all changes to all remaining files\n"
+"    q - quit, recording no changes\n"
+"\n"
+"    ? - display help"
+msgstr ""
+
+msgid ""
+"interactively record a new patch\n"
+"\n"
+"    see 'hg help qnew' & 'hg help record' for more information and usage\n"
+"    "
+msgstr ""
+
+msgid "'mq' extension not loaded"
+msgstr ""
+
+msgid "running non-interactively, use commit instead"
+msgstr ""
+
+msgid ""
+"This is generic record driver.\n"
+"\n"
+"        It's job is to interactively filter local changes, and accordingly\n"
+"        prepare working dir into a state, where the job can be delegated to\n"
+"        non-interactive commit command such as 'commit' or 'qrefresh'.\n"
+"\n"
+"        After the actual job is done by non-interactive command, working dir\n"
+"        state is restored to original.\n"
+"\n"
+"        In the end we'll record intresting changes, and everything else will "
+"be\n"
+"        left in place, so the user can continue his work.\n"
+"        "
+msgstr ""
+
+msgid "no changes to record\n"
+msgstr ""
+
+#, python-format
+msgid "backup %r as %r\n"
+msgstr ""
+
+msgid "applying patch\n"
+msgstr ""
+
+msgid "patch failed to apply"
+msgstr ""
+
+#, python-format
+msgid "restoring %r to %r\n"
+msgstr ""
+
+msgid "hg record [OPTION]... [FILE]..."
+msgstr ""
+
+msgid "hg qrecord [OPTION]... PATCH [FILE]..."
+msgstr ""
+
+msgid ""
+"patch transplanting tool\n"
+"\n"
+"This extension allows you to transplant patches from another branch.\n"
+"\n"
+"Transplanted patches are recorded in .hg/transplant/transplants, as a map\n"
+"from a changeset hash to its hash in the source repository.\n"
+msgstr ""
+
+msgid ""
+"returns True if a node is already an ancestor of parent\n"
+"        or has already been transplanted"
+msgstr ""
+
+msgid "apply the revisions in revmap one by one in revision order"
+msgstr ""
+
+#, python-format
+msgid "skipping already applied revision %s\n"
+msgstr ""
+
+#, python-format
+msgid "skipping merge changeset %s:%s\n"
+msgstr ""
+
+#, python-format
+msgid "%s merged at %s\n"
+msgstr ""
+
+#, python-format
+msgid "%s transplanted to %s\n"
+msgstr ""
+
+msgid "arbitrarily rewrite changeset before applying it"
+msgstr ""
+
+#, python-format
+msgid "filtering %s\n"
+msgstr ""
+
+msgid "filter failed"
+msgstr ""
+
+msgid "apply the patch in patchfile to the repository as a transplant"
+msgstr ""
+
+msgid "can only omit patchfile if merging"
+msgstr ""
+
+#, python-format
+msgid "%s: empty changeset"
+msgstr ""
+
+msgid "Fix up the merge and run hg transplant --continue"
+msgstr ""
+
+msgid "recover last transaction and apply remaining changesets"
+msgstr ""
+
+#, python-format
+msgid "%s transplanted as %s\n"
+msgstr ""
+
+msgid "commit working directory using journal metadata"
+msgstr ""
+
+msgid "transplant log file is corrupt"
+msgstr ""
+
+#, python-format
+msgid "working dir not at transplant parent %s"
+msgstr ""
+
+msgid "commit failed"
+msgstr ""
+
+msgid "journal changelog metadata for later recover"
+msgstr ""
+
+msgid "remove changelog journal"
+msgstr ""
+
+msgid "interactively transplant changesets"
+msgstr ""
+
+msgid "apply changeset? [ynmpcq?]:"
+msgstr ""
+
+msgid ""
+"transplant changesets from another branch\n"
+"\n"
+"    Selected changesets will be applied on top of the current working\n"
+"    directory with the log of the original changeset. If --log is\n"
+"    specified, log messages will have a comment appended of the form:\n"
+"\n"
+"    (transplanted from CHANGESETHASH)\n"
+"\n"
+"    You can rewrite the changelog message with the --filter option.\n"
+"    Its argument will be invoked with the current changelog message\n"
+"    as $1 and the patch as $2.\n"
+"\n"
+"    If --source is specified, selects changesets from the named\n"
+"    repository. If --branch is specified, selects changesets from the\n"
+"    branch holding the named revision, up to that revision. If --all\n"
+"    is specified, all changesets on the branch will be transplanted,\n"
+"    otherwise you will be prompted to select the changesets you want.\n"
+"\n"
+"    hg transplant --branch REVISION --all will rebase the selected branch\n"
+"    (up to the named revision) onto your current working directory.\n"
+"\n"
+"    You can optionally mark selected transplanted changesets as\n"
+"    merge changesets. You will not be prompted to transplant any\n"
+"    ancestors of a merged transplant, and you can merge descendants\n"
+"    of them normally instead of transplanting them.\n"
+"\n"
+"    If no merges or revisions are provided, hg transplant will start\n"
+"    an interactive changeset browser.\n"
+"\n"
+"    If a changeset application fails, you can fix the merge by hand and\n"
+"    then resume where you left off by calling hg transplant --continue.\n"
+"    "
+msgstr ""
+
+msgid "--continue is incompatible with branch, all or merge"
+msgstr ""
+
+msgid "no source URL, branch tag or revision list provided"
+msgstr ""
+
+msgid "--all requires a branch revision"
+msgstr ""
+
+msgid "--all is incompatible with a revision list"
+msgstr ""
+
+msgid "no revision checked out"
+msgstr ""
+
+msgid "outstanding uncommitted merges"
+msgstr ""
+
+msgid "outstanding local changes"
+msgstr ""
+
+msgid "pull patches from REPOSITORY"
+msgstr ""
+
+msgid "pull patches from branch BRANCH"
+msgstr ""
+
+msgid "pull all changesets up to BRANCH"
+msgstr ""
+
+msgid "skip over REV"
+msgstr ""
+
+msgid "merge at REV"
+msgstr ""
+
+msgid "append transplant info to log message"
+msgstr ""
+
+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]..."
+msgstr ""
+
+msgid ""
+"allow to use MBCS path with problematic encoding.\n"
+"\n"
+"Some MBCS encodings are not good for some path operations\n"
+"(i.e. splitting path, case conversion, etc.) with its encoded bytes.\n"
+"We call such a encoding (i.e. shift_jis and big5) as \"problematic\n"
+"encoding\".  This extension can be used to fix the issue with those\n"
+"encodings by wrapping some functions to convert to unicode string\n"
+"before path operation.\n"
+"\n"
+"This extension is usefull for:\n"
+" * Japanese Windows users using shift_jis encoding.\n"
+" * Chinese Windows users using big5 encoding.\n"
+" * All users who use a repository with one of problematic encodings\n"
+"   on case-insensitive file system.\n"
+"\n"
+"This extension is not needed for:\n"
+" * Any user who use only ascii chars in path.\n"
+" * Any user who do not use any of problematic encodings.\n"
+"\n"
+"Note that there are some limitations on using this extension:\n"
+" * You should use single encoding in one repository.\n"
+" * You should set same encoding for the repository by locale or HGENCODING.\n"
+"\n"
+"To use this extension, enable the extension in .hg/hgrc or ~/.hgrc:\n"
+"\n"
+"  [extensions]\n"
+"  hgext.win32mbcs =\n"
+"\n"
+"Path encoding conversion are done between unicode and util._encoding\n"
+"which is decided by mercurial from current locale setting or HGENCODING.\n"
+"\n"
+msgstr ""
+
+#, python-format
+msgid "[win32mbcs] filename conversion fail with %s encoding\n"
+msgstr ""
+
+msgid "[win32mbcs] cannot activate on this platform.\n"
+msgstr ""
+
+#, python-format
+msgid "[win32mbcs] activated with encoding: %s\n"
+msgstr ""
+
+#, python-format
+msgid ""
+"WARNING: %s already has %s line endings\n"
+"and does not need EOL conversion by the win32text plugin.\n"
+"Before your next commit, please reconsider your encode/decode settings in \n"
+"Mercurial.ini or %s.\n"
+msgstr ""
+
+#, python-format
+msgid "Attempt to commit or push text file(s) using %s line endings\n"
+msgstr ""
+
+#, python-format
+msgid "in %s: %s\n"
+msgstr ""
+
+#, python-format
+msgid ""
+"\n"
+"To prevent this mistake in your local repository,\n"
+"add to Mercurial.ini or .hg/hgrc:\n"
+"\n"
+"[hooks]\n"
+"pretxncommit.%s = python:hgext.win32text.forbid%s\n"
+"\n"
+"and also consider adding:\n"
+"\n"
+"[extensions]\n"
+"hgext.win32text =\n"
+"[encode]\n"
+"** = %sencode:\n"
+"[decode]\n"
+"** = %sdecode:\n"
+msgstr ""
+
+msgid ""
+"zeroconf support for mercurial repositories\n"
+"\n"
+"Zeroconf enabled repositories will be announced in a network without the "
+"need\n"
+"to configure a server or a service. They can be discovered without knowing\n"
+"their actual IP address.\n"
+"\n"
+"To use the zeroconf extension add the following entry to your hgrc file:\n"
+"\n"
+"[extensions]\n"
+"hgext.zeroconf =\n"
+"\n"
+"To allow other people to discover your repository using run \"hg serve\" in "
+"your\n"
+"repository.\n"
+"\n"
+" $ cd test\n"
+" $ hg serve\n"
+"\n"
+"You can discover zeroconf enabled repositories by running \"hg paths\".\n"
+"\n"
+" $ hg paths\n"
+" zc-test = http://example.com:8000/test\n"
+msgstr ""
+
+msgid "archive prefix contains illegal components"
+msgstr ""
+
+msgid "cannot give prefix when archiving to files"
+msgstr ""
+
+#, python-format
+msgid "unknown archive type '%s'"
+msgstr ""
+
+msgid "invalid changegroup"
+msgstr ""
+
+msgid "unknown parent"
+msgstr ""
+
+#, python-format
+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 ""
+
+#, python-format
+msgid "premature EOF reading chunk (got %d bytes, expected %d)"
+msgstr ""
+
+#, python-format
+msgid "username %s contains a newline"
+msgstr ""
+
+msgid "options --message and --logfile are mutually exclusive"
+msgstr ""
+
+#, python-format
+msgid "can't read commit message '%s': %s"
+msgstr ""
+
+msgid "limit must be a positive integer"
+msgstr ""
+
+msgid "limit must be positive"
+msgstr ""
+
+msgid "too many revisions specified"
+msgstr ""
+
+#, python-format
+msgid "invalid format spec '%%%s' in output file name"
+msgstr ""
+
+#, python-format
+msgid "adding %s\n"
+msgstr ""
+
+#, python-format
+msgid "removing %s\n"
+msgstr "正在删除 %s\n"
+
+#, python-format
+msgid "recording removal of %s as rename to %s (%d%% similar)\n"
+msgstr ""
+
+#, python-format
+msgid "%s: not copying - file is not managed\n"
+msgstr ""
+
+#, python-format
+msgid "%s: not copying - file has been marked for remove\n"
+msgstr ""
+
+#, python-format
+msgid "%s: not overwriting - %s collides with %s\n"
+msgstr ""
+
+#, python-format
+msgid "%s: not overwriting - file exists\n"
+msgstr ""
+
+#, python-format
+msgid "%s: deleted in working copy\n"
+msgstr ""
+
+#, python-format
+msgid "%s: cannot copy - %s\n"
+msgstr ""
+
+#, python-format
+msgid "%s %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 ""
+
+msgid "no source or destination specified"
+msgstr ""
+
+msgid "no destination specified"
+msgstr ""
+
+msgid "with multiple sources, destination must be an existing directory"
+msgstr ""
+
+#, python-format
+msgid "destination %s is not a directory"
+msgstr ""
+
+msgid "no files to copy"
+msgstr ""
+
+msgid "(consider using --after)\n"
+msgstr "(考虑使用 --after)\n"
+
+#, python-format
+msgid "changeset:   %d:%s\n"
+msgstr "修改集:      %d:%s\n"
+
+#, python-format
+msgid "branch:      %s\n"
+msgstr "分支:        %s\n"
+
+#, python-format
+msgid "tag:         %s\n"
+msgstr "标签:        %s\n"
+
+#, python-format
+msgid "parent:      %d:%s\n"
+msgstr "父亲:        %d:%s\n"
+
+#, python-format
+msgid "manifest:    %d:%s\n"
+msgstr "清单:        %d:%s\n"
+
+#, python-format
+msgid "user:        %s\n"
+msgstr "用户:        %s\n"
+
+#, python-format
+msgid "date:        %s\n"
+msgstr "日期:        %s\n"
+
+msgid "files+:"
+msgstr "文件+:"
+
+msgid "files-:"
+msgstr "文件-:"
+
+msgid "files:"
+msgstr "文件:"
+
+#, python-format
+msgid "files:       %s\n"
+msgstr "文件:        %s\n"
+
+#, python-format
+msgid "copies:      %s\n"
+msgstr "复制:        %s\n"
+
+#, python-format
+msgid "extra:       %s=%s\n"
+msgstr "额外:        %s=%s\n"
+
+msgid "description:\n"
+msgstr "描述:\n"
+
+#, python-format
+msgid "summary:     %s\n"
+msgstr "摘要:        %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 ""
+
+msgid "revision matching date not found"
+msgstr ""
+
+#, python-format
+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 file names"
+msgstr ""
+
+#, python-format
+msgid "file %s not found!"
+msgstr ""
+
+#, python-format
+msgid "no match under directory %s!"
+msgstr ""
+
+#, python-format
+msgid "can't commit %s: unsupported file type!"
+msgstr ""
+
+#, python-format
+msgid "file %s not tracked!"
+msgstr ""
+
+msgid ""
+"add the specified files on the next commit\n"
+"\n"
+"    Schedule files to be version controlled and added to the repository.\n"
+"\n"
+"    The files will be added to the repository at the next commit. To\n"
+"    undo an add before that, see hg revert.\n"
+"\n"
+"    If no names are given, add all files to the repository.\n"
+"    "
+msgstr ""
+"增加指定文件用于下次提交\n"
+"\n"
+"    调度文件受版本控制,增加到版本库。\n"
+"\n"
+"    这些文件将于下次提交时增加到版本库。需要在提交前撤销增加,\n"
+"    参见 'hg revert'。\n"
+"\n"
+"    如果没有给出文件名称,就增加所有文件到版本库。\n"
+"    "
+
+msgid ""
+"add all new files, delete all missing files\n"
+"\n"
+"    Add all new files and remove all missing files from the repository.\n"
+"\n"
+"    New files are ignored if they match any of the patterns in .hgignore. As\n"
+"    with add, these changes take effect at the next commit.\n"
+"\n"
+"    Use the -s option to detect renamed files. With a parameter > 0,\n"
+"    this compares every removed file with every added file and records\n"
+"    those similar enough as renames. This option takes a percentage\n"
+"    between 0 (disabled) and 100 (files must be identical) as its\n"
+"    parameter. Detecting renamed files this way can be expensive.\n"
+"    "
+msgstr ""
+
+msgid "similarity must be a number"
+msgstr ""
+
+msgid "similarity must be between 0 and 100"
+msgstr ""
+
+msgid ""
+"show changeset information per file line\n"
+"\n"
+"    List changes in files, showing the revision id responsible for each line\n"
+"\n"
+"    This command is useful to discover who did a change or when a change "
+"took\n"
+"    place.\n"
+"\n"
+"    Without the -a option, annotate will avoid processing files it\n"
+"    detects as binary. With -a, annotate will generate an annotation\n"
+"    anyway, probably with undesirable results.\n"
+"    "
+msgstr ""
+"显示指定文件每行的修改集信息\n"
+"\n"
+"    列出文件中的修改,为每行显示版本标识\n"
+"\n"
+"    此命令用于查找谁做出的修改,或者什么时候发生的修改\n"
+"\n"
+"    当没有选项 '-a' 时,annotate 会避免处理检测为二进制的文件\n"
+"    当使用选项 '-a' 时,annotate 会直接产生追溯,可能会有不合需要的结果\n"
+"    "
+
+msgid "at least one file name or pattern required"
+msgstr ""
+
+msgid "at least one of -n/-c is required for -l"
+msgstr ""
+
+#, python-format
+msgid "%s: binary file\n"
+msgstr ""
+
+msgid ""
+"create unversioned archive of a repository revision\n"
+"\n"
+"    By default, the revision used is the parent of the working\n"
+"    directory; use \"-r\" to specify a different revision.\n"
+"\n"
+"    To specify the type of archive to create, use \"-t\". Valid\n"
+"    types are:\n"
+"\n"
+"    \"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\n"
+"\n"
+"    The exact name of the destination archive or directory is given\n"
+"    using a format string; see \"hg help export\" for details.\n"
+"\n"
+"    Each member added to an archive file has a directory prefix\n"
+"    prepended. Use \"-p\" to specify a format string for the prefix.\n"
+"    The default is the basename of the archive, with suffixes removed.\n"
+"    "
+msgstr ""
+
+msgid "no working directory: please specify a revision"
+msgstr ""
+
+msgid "repository root cannot be destination"
+msgstr ""
+
+msgid "cannot archive plain files to stdout"
+msgstr ""
+
+msgid ""
+"reverse effect of earlier changeset\n"
+"\n"
+"    Commit the backed out changes as a new changeset. The new\n"
+"    changeset is a child of the backed out changeset.\n"
+"\n"
+"    If you back out 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 (current one by default).\n"
+"\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\n"
+"    hand. The result of this merge is not committed, as with a normal\n"
+"    merge.\n"
+"\n"
+"    See 'hg help dates' for a list of formats valid for -d/--date.\n"
+"    "
+msgstr ""
+
+msgid "please specify just one revision"
+msgstr ""
+
+msgid "please specify a revision to backout"
+msgstr ""
+
+msgid "cannot back out change on a different branch"
+msgstr ""
+
+msgid "cannot back out a change with no parents"
+msgstr ""
+
+msgid "cannot back out a merge changeset without --parent"
+msgstr ""
+
+#, python-format
+msgid "%s is not a parent of %s"
+msgstr ""
+
+msgid "cannot use --parent on non-merge changeset"
+msgstr ""
+
+#, python-format
+msgid "Backed out changeset %s"
+msgstr ""
+
+#, python-format
+msgid "changeset %s backs out changeset %s\n"
+msgstr ""
+
+#, python-format
+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\n"
+"\n"
+"    This command helps to find changesets which introduce problems.\n"
+"    To use, mark the earliest changeset you know exhibits the problem\n"
+"    as bad, then mark the latest changeset which is free from the\n"
+"    problem as good. Bisect will update your working directory to a\n"
+"    revision for testing (unless the --noupdate option is specified).\n"
+"    Once you have performed tests, mark the working directory as bad\n"
+"    or good and bisect will either update to another candidate changeset\n"
+"    or announce that it has found the bad revision.\n"
+"\n"
+"    As a shortcut, you can also use the revision argument to mark a\n"
+"    revision as good or bad without checking it out first.\n"
+"\n"
+"    If you supply a command it will be used for automatic bisection. Its "
+"exit\n"
+"    status will be used as flag to mark revision as bad or good. In case "
+"exit\n"
+"    status is 0 the revision is marked as good, 125 - skipped, 127 (command "
+"not\n"
+"    found) - bisection will be aborted; any other status bigger than 0 will\n"
+"    mark revision as bad.\n"
+"    "
+msgstr ""
+
+#, python-format
+msgid "The first %s revision is:\n"
+msgstr ""
+
+#, python-format
+msgid "Due to skipped revisions, the first %s revision could be any of:\n"
+msgstr ""
+
+msgid "cannot bisect (no known good revisions)"
+msgstr ""
+
+msgid "cannot bisect (no known bad revisions)"
+msgstr ""
+
+msgid "(use of 'hg bisect <cmd>' is deprecated)\n"
+msgstr ""
+
+msgid "incompatible arguments"
+msgstr ""
+
+#, python-format
+msgid "failed to execute %s"
+msgstr ""
+
+#, python-format
+msgid "%s killed"
+msgstr ""
+
+#, python-format
+msgid "Changeset %s: %s\n"
+msgstr ""
+
+#, python-format
+msgid "Testing changeset %s:%s (%s changesets remaining, ~%s tests)\n"
+msgstr ""
+
+msgid ""
+"set or show the current branch name\n"
+"\n"
+"    With no argument, show the current branch name. With one argument,\n"
+"    set the working directory branch name (the branch does not exist in\n"
+"    the repository until the next commit).\n"
+"\n"
+"    Unless --force is specified, branch will not let you set a\n"
+"    branch name that shadows an existing branch.\n"
+"\n"
+"    Use --clean to reset the working directory branch to that of the\n"
+"    parent of the working directory, negating a previous branch change.\n"
+"\n"
+"    Use the command 'hg update' to switch to an existing branch.\n"
+"    "
+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 ""
+
+#, python-format
+msgid "marked working directory as branch %s\n"
+msgstr ""
+
+msgid ""
+"list repository named branches\n"
+"\n"
+"    List the repository's named branches, indicating which ones are\n"
+"    inactive. If active is specified, only show active branches.\n"
+"\n"
+"    A branch is considered active if it contains repository heads.\n"
+"\n"
+"    Use the command 'hg update' to switch to an existing branch.\n"
+"    "
+msgstr ""
+
+msgid ""
+"create a changegroup file\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"
+"    --all (or --base null). To change the compression method applied,\n"
+"    use the -t option (by default, bundles are compressed using bz2).\n"
+"\n"
+"    The bundle file can then be transferred using conventional means and\n"
+"    applied to another repository with the unbundle or pull command.\n"
+"    This is useful when direct push and pull are not available or when\n"
+"    exporting an entire repository is undesirable.\n"
+"\n"
+"    Applying bundles preserves all changeset contents including\n"
+"    permissions, copy/rename information, and revision history.\n"
+"    "
+msgstr ""
+
+msgid "--base is incompatible with specifiying a destination"
+msgstr ""
+
+msgid "unknown bundle type specified with --type"
+msgstr ""
+
+msgid ""
+"output the current or given revision of files\n"
+"\n"
+"    Print the specified files as they were at the given revision.\n"
+"    If no revision is given, the parent of the working directory is used,\n"
+"    or tip if no revision is checked out.\n"
+"\n"
+"    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:\n"
+"\n"
+"    %s   basename of file being printed\n"
+"    %d   dirname of file being printed, or '.' if in repo root\n"
+"    %p   root-relative path name of file being printed\n"
+"    "
+msgstr ""
+
+msgid ""
+"make a copy of an existing 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"
+"    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"
+"    If you use the -r option to clone up to a specific revision, no\n"
+"    subsequent revisions will be present in the cloned repository.\n"
+"    This option implies --pull, even on local repositories.\n"
+"\n"
+"    If the -U option is used, the new clone will contain only a repository\n"
+"    (.hg) and no working copy (the working copy 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"
+"    Look at the help text for urls for important details about ssh:// URLs.\n"
+"    "
+msgstr ""
+"复制现有版本库\n"
+"\n"
+"    在新目录创建现有版本库的副本。\n"
+"\n"
+"    如果没有指定目标目录,默认使用源版本库的基本名称。\n"
+"\n"
+"    源版本库的位置增加到新版本库的文件 .hg/hgrc 中,作为未来更新时的默认\n"
+"    位置。\n"
+"\n"
+"    为了效率,在复制时,只要源版本库和目标版本库位于同一文件系统,就会使\n"
+"    用硬链接(注意这只适用于版本库中的数据,不适用于检出的文件)。某些文件\n"
+"    系统,例如 AFS,没有正确实现硬链接,还不报告错误。在这些情况下,请使\n"
+"    用选项 '--pull'来避免硬链接。\n"
+"\n"
+"    在某些情况下,你可以通过下述命令用硬链接复制且检出文件:\n"
+"\n"
+"      $ cp -al REPO REPOCLONE\n"
+"\n"
+"    这是最快速的复制方法,但是不见得总是安全。此操作不是原子的(请确认在你\n"
+"    操作期间版本库未修改),还要确认你的编辑器会破坏硬链接。还有,它与将元\n"
+"    数据放到目录 .hg 中的某些扩展不兼容,例如 mq。\n"
+"\n"
+"    如果你使用选项 '-r' 复制指定版本,那么后来的版本不会在新版本库中出现。\n"
+"    此选项暗示 '--pull',纵然是操作本地版本库。\n"
+"\n"
+"    如果你使用了选项 '-U',那么新仓库只包含版本库(.hg),没有工作副本。\n"
+"\n"
+"    参见 'hg help urls' 以了解有效源格式的详情。\n"
+"\n"
+"    也可以指定位置 'ssh://' 作为目标,但是不会创建文件 .hg/hgrc,并且工作\n"
+"    副本将会创建在远程。参见主题 'urls' 的帮助信息,以了解位置 'ssh://'\n"
+"    的重要详情。\n"
+"    "
+
+msgid ""
+"commit the specified files or all outstanding changes\n"
+"\n"
+"    Commit changes to the given files into the repository.\n"
+"\n"
+"    If a list of files is omitted, all changes reported by \"hg status\"\n"
+"    will be committed.\n"
+"\n"
+"    If you are committing the result of a merge, do not provide any\n"
+"    file names or -I/-X filters.\n"
+"\n"
+"    If no commit message is specified, the configured editor is started to\n"
+"    prompt you for a message.\n"
+"\n"
+"    See 'hg help dates' for a list of formats valid for -d/--date.\n"
+"    "
+msgstr ""
+"提交指定文件的修改或全部修改\n"
+"\n"
+"    将指定文件的修改提交到版本库。\n"
+"\n"
+"    如果省略了文件列表,那么 \"hg status\" 报告的所有修改都被提交。\n"
+"\n"
+"    如果你要提交合并结果,请不要提供任何文件名称或过滤器 '-I/-X'。\n"
+"\n"
+"    如果没有指定提交日志,将会启动配置的编辑器,让你输入信息。\n"
+"\n"
+"    参见 'hg help dates' 以获得 '-d/--date' 的有效格式列表。\n"
+"    "
+
+msgid "created new head\n"
+msgstr "已经创建新顶点\n"
+
+#, python-format
+msgid "committed changeset %d:%s\n"
+msgstr "提交修改集 %d:%s\n"
+
+msgid ""
+"mark files as copied for the next commit\n"
+"\n"
+"    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.\n"
+"\n"
+"    By default, this command copies the contents of files as they\n"
+"    stand in the working directory. If invoked with --after, the\n"
+"    operation is recorded, but no copying is performed.\n"
+"\n"
+"    This command takes effect with the next commit. To undo a copy\n"
+"    before that, see hg revert.\n"
+"    "
+msgstr ""
+
+msgid "find the ancestor revision of two revisions in a given index"
+msgstr ""
+
+msgid "There is no Mercurial repository here (.hg not found)"
+msgstr "此处没有水银版本库(没有找到 .hg)"
+
+msgid "either two or three arguments required"
+msgstr "需要两个或三个参数"
+
+msgid "returns the completion list associated with the given command"
+msgstr ""
+
+msgid "rebuild the dirstate as it would look like for the given revision"
+msgstr ""
+
+msgid "validate the correctness of the current dirstate"
+msgstr ""
+
+#, python-format
+msgid "%s in state %s, but not in manifest1\n"
+msgstr ""
+
+#, python-format
+msgid "%s in state %s, but also in manifest1\n"
+msgstr ""
+
+#, python-format
+msgid "%s in state %s, but not in either manifest\n"
+msgstr ""
+
+#, python-format
+msgid "%s in manifest1, but listed as state %s"
+msgstr ""
+
+msgid ".hg/dirstate inconsistent with current parent's manifest"
+msgstr ""
+
+msgid ""
+"show combined config settings from all hgrc files\n"
+"\n"
+"    With no args, print names and values of all config items.\n"
+"\n"
+"    With one arg of the form section.name, print just the value of\n"
+"    that config item.\n"
+"\n"
+"    With multiple args, print names and values of all config items\n"
+"    with matching section names."
+msgstr ""
+
+msgid "only one config item permitted"
+msgstr ""
+
+msgid ""
+"manually set the parents of the current working directory\n"
+"\n"
+"    This is useful for writing repository conversion tools, but should\n"
+"    be used with care.\n"
+"    "
+msgstr ""
+
+msgid "show the contents of the current dirstate"
+msgstr ""
+
+#, python-format
+msgid "copy: %s -> %s\n"
+msgstr ""
+
+msgid "dump the contents of a data file revision"
+msgstr ""
+
+#, python-format
+msgid "invalid revision identifier %s"
+msgstr ""
+
+msgid "parse and display a date"
+msgstr ""
+
+msgid "dump the contents of an index file"
+msgstr ""
+
+msgid "dump an index DAG as a .dot file"
+msgstr ""
+
+msgid "test Mercurial installation"
+msgstr ""
+
+#, python-format
+msgid "Checking encoding (%s)...\n"
+msgstr ""
+
+msgid " (check that your locale is properly set)\n"
+msgstr ""
+
+msgid "Checking extensions...\n"
+msgstr ""
+
+msgid " One or more extensions could not be found"
+msgstr ""
+
+msgid " (check that you compiled the extensions)\n"
+msgstr ""
+
+msgid "Checking templates...\n"
+msgstr ""
+
+msgid " (templates seem to have been installed incorrectly)\n"
+msgstr ""
+
+msgid "Checking patch...\n"
+msgstr ""
+
+msgid " patch call failed:\n"
+msgstr ""
+
+msgid " unexpected patch output!\n"
+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://www.selenic.com/"
+"mercurial/bts\n"
+msgstr ""
+
+msgid "Checking commit editor...\n"
+msgstr ""
+
+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 ""
+
+#, python-format
+msgid " Can't find editor '%s' in PATH\n"
+msgstr ""
+
+msgid "Checking username...\n"
+msgstr ""
+
+msgid " (specify a username in your .hgrc file)\n"
+msgstr ""
+
+msgid "No problems detected\n"
+msgstr ""
+
+#, python-format
+msgid "%s problems detected, please check your install!\n"
+msgstr ""
+
+msgid "dump rename information"
+msgstr ""
+
+#, python-format
+msgid "%s renamed from %s:%s\n"
+msgstr ""
+
+#, python-format
+msgid "%s not renamed\n"
+msgstr ""
+
+msgid "show how files match on given patterns"
+msgstr ""
+
+msgid ""
+"diff repository (or selected files)\n"
+"\n"
+"    Show differences between revisions for the specified files.\n"
+"\n"
+"    Differences between files are shown using the unified diff format.\n"
+"\n"
+"    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.\n"
+"\n"
+"    When two revision arguments are given, then changes are shown\n"
+"    between those revisions. If only one revision is specified then\n"
+"    that revision is compared to the working directory, and, when no\n"
+"    revisions are specified, the working directory files are compared\n"
+"    to its parent.\n"
+"\n"
+"    Without the -a option, diff will avoid generating diffs of files\n"
+"    it detects as binary. With -a, diff will generate a diff anyway,\n"
+"    probably with undesirable results.\n"
+"\n"
+"    Use the --git option to generate diffs in the git extended diff\n"
+"    format. For more information, read hg help diffs.\n"
+"    "
+msgstr ""
+"在版本库中比较(指定的文件)\n"
+"\n"
+"    显示指定文件在版本间的差异。\n"
+"\n"
+"    文件间的差异使用同一差异格式显示。\n"
+"\n"
+"    注意: 对合并的比较可能会产生不期望的结果,因为没有指定版本时,默认\n"
+"    与工作目录的直接父亲比较。\n"
+"\n"
+"    当给出两个版本参数时,会显示在这些版本间的修改。如果只给出一个版本,\n"
+"    那么它将与工作目录比较。当没有指定版本时,将比较工作目录中的文件与\n"
+"    它的直接父亲。\n"
+"\n"
+"    当没有选项 '-a' 时,将会避免处理检测为二进制的文件。当使用选项 '-a'\n"
+"    时,可能会有不合需要的结果。\n"
+"\n"
+"    使用选项 '--git' 会使用 git 扩展差异格式。请阅读 'hg help diffs' 以\n"
+"    了解更多信息。\n"
+"    "
+
+msgid ""
+"dump the header and diffs for one or more changesets\n"
+"\n"
+"    Print the changeset header and diffs for one or more revisions.\n"
+"\n"
+"    The information shown in the changeset header is: author,\n"
+"    changeset hash, parent(s) and commit comment.\n"
+"\n"
+"    NOTE: export may generate unexpected diff output for merge changesets,\n"
+"    as it will compare the merge changeset against its first parent only.\n"
+"\n"
+"    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:\n"
+"\n"
+"    %%   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\n"
+"\n"
+"    Without the -a option, export will avoid generating diffs of files\n"
+"    it detects as binary. With -a, export will generate a diff anyway,\n"
+"    probably with undesirable results.\n"
+"\n"
+"    Use the --git option to generate diffs in the git extended diff\n"
+"    format. Read the diffs help topic for more information.\n"
+"\n"
+"    With the --switch-parent option, the diff will be against the second\n"
+"    parent. It can be useful to review a merge.\n"
+"    "
+msgstr ""
+"为一个或多个修改集输出标题和差异\n"
+"\n"
+"    为一个或多个版本输出标题和差异。\n"
+"\n"
+"    在修改集标题中显示的信息是: 作者,修改集哈希,父亲和提交日志。\n"
+"\n"
+"    注意: 对于合并修改集,导出可能产生不期望的差异输出,因为它只会将合并\n"
+"    修改集与其第一个父亲比较。\n"
+"\n"
+"    可以输出到文件,这时会使用指定的格式化字符串构造文件名称。格式化规则\n"
+"    如下:\n"
+"\n"
+"    %%   字符 \"%\"\n"
+"    %H   修改集哈希 (40 位十六进制数字)\n"
+"    %N   产生的补丁号\n"
+"    %R   修改集版本号\n"
+"    %b   待导出的版本库的基本名称\n"
+"    %h   短修改集哈希(12 位十六进制数字)\n"
+"    %n   从 1 开始补 0 的序列号\n"
+"    %r   补 0 的修改集版本号\n"
+"\n"
+"    当没有选项 '-a' 时,将会避免处理检测为二进制的文件。当使用选项 '-a'\n"
+"    时,可能会有不合需要的结果。\n"
+"\n"
+"    使用选项 '--git' 会使用 git 扩展差异格式。请阅读差异帮助主题以了解\n"
+"    更多信息。\n"
+"\n"
+"    使用选项 '--switch-parent',将会与第二个父亲比较。对于复审合并很有用。\n"
+"    "
+
+msgid "export requires at least one changeset"
+msgstr ""
+
+msgid "exporting patches:\n"
+msgstr ""
+
+msgid "exporting patch:\n"
+msgstr ""
+
+msgid ""
+"search for a pattern in specified files and revisions\n"
+"\n"
+"    Search revisions of files for a regular expression.\n"
+"\n"
+"    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\n"
+"    a match appears.\n"
+"\n"
+"    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"
+"    "
+msgstr ""
+
+#, python-format
+msgid "grep: invalid match pattern: %s\n"
+msgstr ""
+
+msgid ""
+"show current repository heads or show branch heads\n"
+"\n"
+"    With no arguments, show all repository head changesets.\n"
+"\n"
+"    If branch or revisions names are given this will show the heads of\n"
+"    the specified branches or the branches those revisions are tagged\n"
+"    with.\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"
+"    Branch heads are changesets that have a given branch tag, but have\n"
+"    no child changesets with that tag. They are usually where\n"
+"    development on the given branch takes place.\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 ""
+
+msgid ""
+"show help for a given topic or a help overview\n"
+"\n"
+"    With no arguments, print a list of commands and short help.\n"
+"\n"
+"    Given a topic, extension, or command name, print help for that topic."
+msgstr ""
+
+msgid "global options:"
+msgstr "全局选项:"
+
+msgid "use \"hg help\" for the full list of commands"
+msgstr "使用 \"hg help\" 获得全部命令的列表"
+
+msgid "use \"hg help\" for the full list of commands or \"hg -v\" for details"
+msgstr "使用 \"hg help\" 获得全部命令的列表,或 \"hg -v\" 获得详细信息"
+
+#, python-format
+msgid "use \"hg -v help%s\" to show aliases and global options"
+msgstr "使用 \"hg -v help%s\" 显示别名和全局选项"
+
+#, python-format
+msgid "use \"hg -v help %s\" to show global options"
+msgstr "使用 \"hg -v help %s\" 显示全局选项"
+
+msgid ""
+"list of commands:\n"
+"\n"
+msgstr ""
+"命令列表:\n"
+"\n"
+
+#, python-format
+msgid ""
+"\n"
+"aliases: %s\n"
+msgstr ""
+"\n"
+"别名: %s\n"
+
+msgid "(no help text available)"
+msgstr "(没有可用的帮助信息)"
+
+msgid "options:\n"
+msgstr "选项:\n"
+
+msgid "no commands defined\n"
+msgstr ""
+
+msgid ""
+"\n"
+"enabled extensions:\n"
+"\n"
+msgstr ""
+"\n"
+"启用的扩展:\n"
+"\n"
+
+#, python-format
+msgid " %s   %s\n"
+msgstr ""
+
+msgid "no help text available"
+msgstr "没有可用的帮助信息"
+
+#, python-format
+msgid "%s extension - %s\n"
+msgstr ""
+
+msgid "Mercurial Distributed SCM\n"
+msgstr "分布式软件配置管理工具 - 水银\n"
+
+msgid ""
+"basic commands:\n"
+"\n"
+msgstr ""
+"基本命令:\n"
+"\n"
+
+msgid ""
+"\n"
+"additional help topics:\n"
+"\n"
+msgstr ""
+"\n"
+"额外的帮助主题:\n"
+"\n"
+
+msgid ""
+"identify the working copy or specified revision\n"
+"\n"
+"    With no revision, print a summary of the current state of the repo.\n"
+"\n"
+"    With a path, do a lookup in another repository.\n"
+"\n"
+"    This summary identifies the repository state using one or two parent\n"
+"    hash identifiers, followed by a \"+\" if there are uncommitted changes\n"
+"    in the working directory, a list of tags for this revision and a branch\n"
+"    name for non-default branches.\n"
+"    "
+msgstr ""
+
+msgid ""
+"import an ordered set of patches\n"
+"\n"
+"    Import a list of patches and commit them individually.\n"
+"\n"
+"    If there are outstanding changes in the working directory, import\n"
+"    will abort unless given the -f flag.\n"
+"\n"
+"    You can import a patch straight from a mail message. Even patches\n"
+"    as attachments work (body part must be type text/plain or\n"
+"    text/x-patch to be used). 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.\n"
+"\n"
+"    If the imported patch was generated by hg export, user and description\n"
+"    from patch override values from message headers and body. Values\n"
+"    given on command line with -m and -u override these.\n"
+"\n"
+"    If --exact is specified, import will set the working directory\n"
+"    to the parent of each patch before applying it, and will abort\n"
+"    if the resulting changeset has a different ID than the one\n"
+"    recorded in the patch. This may happen due to character set\n"
+"    problems or other deficiencies in the text patch format.\n"
+"\n"
+"    With --similarity, hg will attempt to discover renames and copies\n"
+"    in the patch in the same way as 'addremove'.\n"
+"\n"
+"    To read a patch from standard input, use patch name \"-\".\n"
+"    See 'hg help dates' for a list of formats valid for -d/--date.\n"
+"    "
+msgstr ""
+
+msgid "applying patch from stdin\n"
+msgstr ""
+
+msgid "no diffs found"
+msgstr ""
+
+#, python-format
+msgid ""
+"message:\n"
+"%s\n"
+msgstr ""
+
+msgid "not a mercurial patch"
+msgstr ""
+
+msgid "patch is damaged or loses information"
+msgstr ""
+
+msgid ""
+"show new changesets found in source\n"
+"\n"
+"    Show new changesets found in the specified path/URL or the default\n"
+"    pull location. These are the changesets that would be pulled if a pull\n"
+"    was requested.\n"
+"\n"
+"    For remote repository, using --bundle avoids downloading the changesets\n"
+"    twice if the incoming is followed by a pull.\n"
+"\n"
+"    See pull for valid source format details.\n"
+"    "
+msgstr ""
+
+msgid ""
+"create a new repository in the given directory\n"
+"\n"
+"    Initialize a new repository in the given directory. If the given\n"
+"    directory does not exist, it is created.\n"
+"\n"
+"    If no directory is given, the current directory is used.\n"
+"\n"
+"    It is possible to specify an ssh:// URL as the destination.\n"
+"    See 'hg help urls' for more information.\n"
+"    "
+msgstr ""
+"在指定目录创建新版本库\n"
+"\n"
+"    在指定目录初始化新版本库。如果指定的目录不存在,那么会被创建。\n"
+"\n"
+"    如果没有指定目录,就使用当前目录。\n"
+"\n"
+"    可以指定位置 'ssh://' 作为目标。参见命令 'hg help urls' 的帮助信息,\n"
+"    以了解位置 'ssh://' 的重要详情。\n"
+"    "
+
+msgid ""
+"locate files matching specific patterns\n"
+"\n"
+"    Print all files under Mercurial control whose names match the\n"
+"    given patterns.\n"
+"\n"
+"    This command searches the entire repository by default. To search\n"
+"    just the current directory and its subdirectories, use\n"
+"    \"--include .\".\n"
+"\n"
+"    If no patterns are given to match, this command prints all file\n"
+"    names.\n"
+"\n"
+"    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\".\n"
+"    This will avoid the problem of \"xargs\" treating single filenames\n"
+"    that contain white space as multiple filenames.\n"
+"    "
+msgstr ""
+
+msgid ""
+"show revision history of entire repository or files\n"
+"\n"
+"    Print the revision history of the specified files or the entire\n"
+"    project.\n"
+"\n"
+"    File history is shown without following rename or copy history of\n"
+"    files. Use -f/--follow with a file name to follow history across\n"
+"    renames and copies. --follow without a file name will only show\n"
+"    ancestors or descendants of the starting revision. --follow-first\n"
+"    only follows the first parent of merge revisions.\n"
+"\n"
+"    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.\n"
+"\n"
+"    See 'hg help dates' for a list of formats valid for -d/--date.\n"
+"\n"
+"    By default this command outputs: changeset id and hash, tags,\n"
+"    non-trivial parents, user, date and time, and a summary for each\n"
+"    commit. When the -v/--verbose switch is used, the list of changed\n"
+"    files and full commit message is shown.\n"
+"\n"
+"    NOTE: log -p may generate unexpected diff output for merge\n"
+"    changesets, as it will only compare the merge changeset against\n"
+"    its first parent. Also, the files: list will only reflect files\n"
+"    that are different from BOTH parents.\n"
+"\n"
+"    "
+msgstr ""
+"显示全部版本库或指定文件的版本历史\n"
+"\n"
+"    显示全部版本库或指定文件的版本历史。\n"
+"\n"
+"    显示文件历史的时候不跟踪改名或复制。对文件名称使用 '-f/--follow'\n"
+"    会跟踪改名或复制的历史。当不给出文件名称时,使用 '--follow' 只显\n"
+"    示开始版本的直系祖先。使用 '--follow-first' 只显示合并版本的第一\n"
+"    个父亲。\n"
+"\n"
+"    如果没有指定版本范围,默认是 'tip:0'。当使用 '--follow' 时,使用\n"
+"    工作目录的父亲作为开始版本。\n"
+"\n"
+"    参见 'hg help dates' 以获得 '-d/--date' 的有效格式列表。\n"
+"\n"
+"    此命令缺省输出: 修改集标识和哈希,标签,父亲,提交者,日期和时间,\n"
+"    以及每次提交的概要信息。当使用选项 '-v/--verbose' 时,会显示文件\n"
+"    变更列表和完整的提交信息。\n"
+"\n"
+"    注意: 对于合并修改集,'log -p' 可能产生不期望的差异输出,因为它只\n"
+"    会将合并修改集与其第一个父亲比较。而且,只显示对所有父亲都不同的\n"
+"    文件列表。\n"
+"\n"
+"    "
+
+msgid ""
+"looks up all renames for a file (up to endrev) the first\n"
+"        time the file is given. It indexes on the changerev and only\n"
+"        parses the manifest if linkrev != changerev.\n"
+"        Returns rename info for fn at changerev rev."
+msgstr ""
+
+msgid ""
+"output the current or given revision of the project manifest\n"
+"\n"
+"    Print a list of version controlled files for the given revision.\n"
+"    If no revision is given, the parent of the working directory is used,\n"
+"    or tip if no revision is checked out.\n"
+"\n"
+"    The manifest is the list of files being version controlled. If no "
+"revision\n"
+"    is given then the first parent of the working directory is used.\n"
+"\n"
+"    With -v flag, print file permissions, symlink and executable bits. With\n"
+"    --debug flag, print file revision hashes.\n"
+"    "
+msgstr ""
+
+msgid ""
+"merge working directory with another revision\n"
+"\n"
+"    Merge the contents of the current working directory and the\n"
+"    requested revision. Files that changed between either parent are\n"
+"    marked as changed for the next commit and a commit must be\n"
+"    performed before any further updates are allowed.\n"
+"\n"
+"    If no revision is specified, the working directory's parent is a\n"
+"    head revision, and the current branch contains exactly one other head,\n"
+"    the other head is merged with by default. Otherwise, an explicit\n"
+"    revision to merge with must be provided.\n"
+"    "
+msgstr ""
+"将工作目录与其它版本合并\n"
+"\n"
+"    将当前工作目录中的内容与指定版本合并。对任一父亲而言改变的文件都会对\n"
+"    下次提交标记为已修改,在提交之前不允许再执行更新。\n"
+"\n"
+"    如果没有指定版本,那么工作目录的父亲是一个合并顶点,另一个在当前分支\n"
+"    中,合并后的内容是新的顶点。否则,必须明确的指定要合并的版本。\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 ""
+
+msgid "there is nothing to merge"
+msgstr ""
+
+#, python-format
+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\n"
+"\n"
+"    Show changesets not found in the specified destination repository or\n"
+"    the default push location. These are the changesets that would be pushed\n"
+"    if a push was requested.\n"
+"\n"
+"    See pull for valid destination format details.\n"
+"    "
+msgstr ""
+
+msgid ""
+"show the parents of the working dir or revision\n"
+"\n"
+"    Print the working directory's parent revisions. If a\n"
+"    revision is given via --rev, the parent of that revision\n"
+"    will be printed. If a file argument is given, revision in\n"
+"    which the file was last changed (before the working directory\n"
+"    revision or the argument to --rev if given) is printed.\n"
+"    "
+msgstr ""
+"显示工作目录或指定版本的父亲\n"
+"\n"
+"    显示工作目录的父亲版本。如果使用 '--rev' 指定版本,就显示此版本的\n"
+"    父亲。如果指定了文件,那么使用此文件最后修改的版本(工作目录的起源\n"
+"    版本,或 '--rev' 指定的版本)。\n"
+"    "
+
+msgid "can only specify an explicit file name"
+msgstr ""
+
+#, python-format
+msgid "'%s' not found in manifest!"
+msgstr ""
+
+msgid ""
+"show aliases for remote repositories\n"
+"\n"
+"    Show definition of symbolic path name NAME. If no name is given, show\n"
+"    definition of available names.\n"
+"\n"
+"    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.\n"
+"\n"
+"    See 'hg help urls' for more information.\n"
+"    "
+msgstr ""
+
+msgid "not found!\n"
+msgstr ""
+
+msgid "not updating, since new heads added\n"
+msgstr ""
+
+msgid "(run 'hg heads' to see heads, 'hg merge' to merge)\n"
+msgstr ""
+
+msgid "(run 'hg update' to get a working copy)\n"
+msgstr ""
+
+msgid ""
+"pull changes from the specified source\n"
+"\n"
+"    Pull changes from a remote repository to a local one.\n"
+"\n"
+"    This finds all changes from the repository at the specified path\n"
+"    or URL and adds them to the local repository. By default, this\n"
+"    does not update the copy of the project in the working directory.\n"
+"\n"
+"    If SOURCE is omitted, the 'default' path will be used.\n"
+"    See 'hg help urls' for more information.\n"
+"    "
+msgstr ""
+"从指定版本库取得修改集\n"
+"\n"
+"    从远程版本库取得修改集到本地版本库。\n"
+"\n"
+"    查找位于指定路径或位置的版本库的全部修改,增加到版本版本库。默认不\n"
+"    更新工作目录。\n"
+"\n"
+"    如果没有指定位置,就使用路径 'default'。参见 'hg help urls' 以了解\n"
+"    更多信息。\n"
+"    "
+
+msgid ""
+"Other repository doesn't support revision lookup, so a rev cannot be "
+"specified."
+msgstr ""
+
+msgid ""
+"push changes to the specified destination\n"
+"\n"
+"    Push changes from the local repository to the given destination.\n"
+"\n"
+"    This is the symmetrical operation for pull. It helps to move\n"
+"    changes from the current repository to a different one. If the\n"
+"    destination is local this is identical to a pull in that directory\n"
+"    from the current one.\n"
+"\n"
+"    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"
+"    the client has forgotten to pull and merge before pushing.\n"
+"\n"
+"    If -r is used, the named changeset and all its ancestors will be pushed\n"
+"    to the remote repository.\n"
+"\n"
+"    Look at the help text for urls for important details about ssh:// URLs.\n"
+"    If DESTINATION is omitted, a default path will be used.\n"
+"    See 'hg help urls' for more information.\n"
+"    "
+msgstr ""
+"推送改变到指定位置\n"
+"\n"
+"    从本地版本库推送改变到指定位置。\n"
+"\n"
+"    这是 'pull' 的对称操作。它从当前版本库推送改变到其它版本库。如果目标\n"
+"    是本地版本库,那么此操作与在目标版本库从当前版本库执行 'pull' 操作等\n"
+"    同。\n"
+"\n"
+"    推送默认拒绝导致增加远程版本库顶点数目的操作。这通常表明客户端在推送\n"
+"    之前忘记取得远程版本库的修改,并且合并。\n"
+"\n"
+"    如果使用了选项 '-r',此命名修改集以及其祖先都会被推送到远程版本库。\n"
+"    \n"
+"\n"
+"    参见主题 'urls' 的帮助信息,以了解位置 'ssh://' 的重要详情。如果没有\n"
+"    给出目标位置,那么使用默认路径。参见 'hg help urls' 以了解更多信息。\n"
+"    "
+
+#, python-format
+msgid "pushing to %s\n"
+msgstr "正在推到 %s\n"
+
+msgid ""
+"raw commit interface (DEPRECATED)\n"
+"\n"
+"    (DEPRECATED)\n"
+"    Lowlevel commit, for use in helper scripts.\n"
+"\n"
+"    This command is not intended to be used by normal users, as it is\n"
+"    primarily useful for importing from other SCMs.\n"
+"\n"
+"    This command is now deprecated and will be removed in a future\n"
+"    release, please use debugsetparents and commit instead.\n"
+"    "
+msgstr ""
+
+msgid "(the rawcommit command is deprecated)\n"
+msgstr ""
+
+msgid ""
+"roll back an interrupted transaction\n"
+"\n"
+"    Recover from an interrupted commit or pull.\n"
+"\n"
+"    This command tries to fix the repository status after an interrupted\n"
+"    operation. It should only be necessary when Mercurial suggests it.\n"
+"    "
+msgstr ""
+
+msgid ""
+"remove the specified files on the next commit\n"
+"\n"
+"    Schedule the indicated files for removal from the repository.\n"
+"\n"
+"    This only removes files from the current branch, not from the entire\n"
+"    project history. -A can be used to remove only files that have already\n"
+"    been deleted, -f can be used to force deletion, and -Af can be used\n"
+"    to remove files from the next revision without deleting them.\n"
+"\n"
+"    The following table details the behavior of remove for different file\n"
+"    states (columns) and option combinations (rows). The file states are\n"
+"    Added, Clean, Modified and Missing (as reported by hg status). The\n"
+"    actions are Warn, Remove (from branch) and Delete (from disk).\n"
+"\n"
+"           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\n"
+"\n"
+"    This command schedules the files to be removed at the next commit.\n"
+"    To undo a remove before that, see hg revert.\n"
+"    "
+msgstr ""
+"在下次提交时删除指定文件\n"
+"\n"
+"    调度从版本库删除指定文件。\n"
+"\n"
+"    它只从当前分支删除文件,不删除历史。'-A' 用于只移除已经删除的文\n"
+"    件,'-f' 用于强制删除,'-Af' 用于从下个版本移除文件,但是不删除\n"
+"    它们。\n"
+"\n"
+"    下表给出了删除不同状态(列)文件的行为和可选的组合(行)。文件状态\n"
+"    ('hg status' 报告的状态)是增加(A),干净(C),已修改(M),丢失(!)。\n"
+"    动作是警告(W),移除(R,从分支),以及删除(D,从磁盘)。\n"
+"\n"
+"           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\n"
+"\n"
+"    此命令调度下次提交时删除文件。\n"
+"    要在此之前撤销删除,请参见 'hg revert'。\n"
+"    "
+
+msgid "no files specified"
+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"
+msgstr ""
+
+msgid ""
+"rename files; equivalent of copy + remove\n"
+"\n"
+"    Mark dest as copies of sources; mark sources for deletion. If\n"
+"    dest is a directory, copies are put in that directory. If dest is\n"
+"    a file, there can only be one source.\n"
+"\n"
+"    By default, this command copies the contents of files as they\n"
+"    exist in the working directory. If invoked with --after, the\n"
+"    operation is recorded, but no copying is performed.\n"
+"\n"
+"    This command takes effect at the next commit. To undo a rename\n"
+"    before that, see hg revert.\n"
+"    "
+msgstr ""
+
+msgid ""
+"retry file merges from a merge or 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 switch.\n"
+"\n"
+"    This command will also allow listing resolved files and manually\n"
+"    marking and unmarking files as resolved.\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 ""
+
+msgid "can't specify --all and patterns"
+msgstr ""
+
+msgid "no files or directories specified; use --all to remerge all files"
+msgstr ""
+
+msgid ""
+"restore individual files or dirs to an earlier state\n"
+"\n"
+"    (use update -r to check out earlier revisions, revert does not\n"
+"    change the working dir parents)\n"
+"\n"
+"    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.\n"
+"\n"
+"    Using the -r option, revert the given files or directories to their\n"
+"    contents as of a specific revision. This can be helpful to \"roll\n"
+"    back\" some or all of an earlier change.\n"
+"    See 'hg help dates' for a list of formats valid for -d/--date.\n"
+"\n"
+"    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.\n"
+"\n"
+"    If a file has been deleted, it is restored. If the executable\n"
+"    mode of a file was changed, it is reset.\n"
+"\n"
+"    If names are given, all files matching the names are reverted.\n"
+"    If no arguments are given, no files are reverted.\n"
+"\n"
+"    Modified files are saved with a .orig suffix before reverting.\n"
+"    To disable these backups, use --no-backup.\n"
+"    "
+msgstr ""
+
+msgid "you can't specify a revision and a date"
+msgstr ""
+
+msgid "no files or directories specified; use --all to revert the whole repo"
+msgstr ""
+
+#, python-format
+msgid "forgetting %s\n"
+msgstr ""
+
+#, python-format
+msgid "reverting %s\n"
+msgstr "正在恢复 %s\n"
+
+#, python-format
+msgid "undeleting %s\n"
+msgstr "正在撤销删除 %s\n"
+
+#, python-format
+msgid "saving current version of %s as %s\n"
+msgstr "保存当前版本的 %s 为 %s\n"
+
+#, python-format
+msgid "file not managed: %s\n"
+msgstr "文件未被控制: %s\n"
+
+#, python-format
+msgid "no changes needed to %s\n"
+msgstr "不需要改变 %s\n"
+
+msgid ""
+"roll back the last transaction\n"
+"\n"
+"    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.\n"
+"\n"
+"    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:\n"
+"\n"
+"      commit\n"
+"      import\n"
+"      pull\n"
+"      push (with this repository as destination)\n"
+"      unbundle\n"
+"\n"
+"    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"
+"    "
+msgstr ""
+
+msgid ""
+"print the root (top) of the current working dir\n"
+"\n"
+"    Print the root directory of the current repository.\n"
+"    "
+msgstr ""
+
+msgid ""
+"export the repository via HTTP\n"
+"\n"
+"    Start a local HTTP repository browser and pull server.\n"
+"\n"
+"    By default, the server logs accesses to stdout and errors to\n"
+"    stderr. Use the \"-A\" and \"-E\" options to log to files.\n"
+"    "
+msgstr ""
+"通过 HTTP 发布版本库\n"
+"\n"
+"    启动本地 HTTP 版本库浏览器和发布服务器。\n"
+"\n"
+"    默认服务器访问日志输出到 stdout,错误日志输出到 stderr。\n"
+"    可以使用选项 \"-A\" 和 \"-E\",将这些日志输出到文件。\n"
+"    "
+
+#, python-format
+msgid "listening at http://%s%s/%s (bound to %s:%d)\n"
+msgstr ""
+
+msgid ""
+"show changed files in the 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"
+"    source of a copy/move operation, are not listed unless -c (clean),\n"
+"    -i (ignored), -C (copies) or -A is given. Unless options described\n"
+"    with \"show only ...\" are given, the 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 difference between them is 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"
+"    ! = deleted, but still tracked\n"
+"    ? = not tracked\n"
+"    I = ignored\n"
+"      = the previous added file was copied from here\n"
+"    "
+msgstr ""
+"显示工作目录中已改变的文件\n"
+"\n"
+"    显示版本库中的文件状态。如果指定文件名称,只显示匹配的文件。干净的\n"
+"    文件,被忽略的文件,复制/移动的源文件,不会被显示,除非使用了选项\n"
+"    '-c' (干净的),'-i' (被忽略的),'-C' (复制源) 或者 '-A' (全部)。除\n"
+"    非使用了选项 \"只显示 ...\",否则就使用选项 '-mardu'。\n"
+"\n"
+"    选项 '-q/--quiet' 隐藏未跟踪(未知或被忽略)的文件,除非明确地使用选\n"
+"    项 '-u/--unknown' 或 ‘-i/-ignored’。\n"
+"\n"
+"    注意: 如果修改了权限或者执行了合并,'status' 与 'diff' 的显示可能\n"
+"    不一致。标准差异格式不报告权限的改变,'diff' 只报告相对于一个合并\n"
+"    父亲的改变。\n"
+"\n"
+"    如果给出 1 个版本,就用于基础版本。如果给出 2 个版本,就显示其差异。\n"
+"\n"
+"    显示文件状态的代码是:\n"
+"    M = 已修改\n"
+"    A = 已增加\n"
+"    R = 已移除\n"
+"    C = 干净的\n"
+"    ! = 已删除,仍旧被跟踪\n"
+"    ? = 未跟踪\n"
+"    I = 已忽略\n"
+"      = 早先增加的文件自此复制\n"
+"    "
+
+msgid ""
+"add one or more tags for the current or given revision\n"
+"\n"
+"    Name a particular revision using <name>.\n"
+"\n"
+"    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.\n"
+"\n"
+"    If no revision is given, the parent of the working directory is used,\n"
+"    or tip if no revision is checked out.\n"
+"\n"
+"    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).\n"
+"\n"
+"    See 'hg help dates' for a list of formats valid for -d/--date.\n"
+"    "
+msgstr ""
+
+msgid "tag names must be unique"
+msgstr ""
+
+#, python-format
+msgid "the name '%s' is reserved"
+msgstr ""
+
+msgid "--rev and --remove are incompatible"
+msgstr ""
+
+#, python-format
+msgid "tag '%s' does not exist"
+msgstr ""
+
+#, python-format
+msgid "tag '%s' is not a %s tag"
+msgstr ""
+
+#, python-format
+msgid "Removed tag %s"
+msgstr ""
+
+#, python-format
+msgid "tag '%s' already exists (use -f to force)"
+msgstr ""
+
+#, python-format
+msgid "Added tag %s for changeset %s"
+msgstr ""
+
+msgid ""
+"list repository tags\n"
+"\n"
+"    This lists both regular and local tags. When the -v/--verbose switch\n"
+"    is used, a third column \"local\" is printed for local tags.\n"
+"    "
+msgstr ""
+
+msgid ""
+"show the tip revision\n"
+"\n"
+"    The tip revision (usually just called the tip) is the most\n"
+"    recently added changeset in the repository, the most recently\n"
+"    changed head.\n"
+"\n"
+"    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 ""
+
+msgid ""
+"apply one or more changegroup files\n"
+"\n"
+"    Apply one or more compressed changegroup files generated by the\n"
+"    bundle command.\n"
+"    "
+msgstr ""
+
+msgid ""
+"update working directory\n"
+"\n"
+"    Update the repository's working directory to the specified revision,\n"
+"    or the tip of the current branch if none is specified. Use null as\n"
+"    the revision to remove the working copy (like 'hg clone -U').\n"
+"\n"
+"    When the working dir contains no uncommitted changes, it will be\n"
+"    replaced by the state of the requested revision from the repo.  When\n"
+"    the requested revision is on a different branch, the working dir\n"
+"    will additionally be switched to that branch.\n"
+"\n"
+"    When there are uncommitted changes, use option -C to discard them,\n"
+"    forcibly replacing the state of the working dir with the requested\n"
+"    revision.\n"
+"\n"
+"    When there are uncommitted changes and option -C is not used, and\n"
+"    the parent revision and requested revision are on the same branch,\n"
+"    and one of them is an ancestor of the other, then the new working\n"
+"    directory will contain the requested revision merged with the\n"
+"    uncommitted changes.  Otherwise, the update will fail with a\n"
+"    suggestion to use 'merge' or 'update -C' instead.\n"
+"\n"
+"    If you want to update just one file to an older revision, use revert.\n"
+"\n"
+"    See 'hg help dates' for a list of formats valid for --date.\n"
+"    "
+msgstr ""
+"更新工作目录\n"
+"\n"
+"    更新工作目录到指定版本,或者到当前分支的顶点。使用 'null' 作为版本可以\n"
+"    删除工作副本(类似于 'hg clone -U')。\n"
+"\n"
+"    当工作目录包含未提交的修改时,它会被版本库中指定版本的状态替换。当请求\n"
+"    的版本位于不同分支时,工作目录会被切换到此分支。\n"
+"\n"
+"    可以使用选项 '-C' 来丢弃未提交的修改,强制使用请求的版本替换工作目录的\n"
+"    状态。\n"
+"\n"
+"    当有未提交的修改,没有使用选项 '-C',父版本和请求版本位于不同分支,并且\n"
+"    其中一个是另一个的祖先时,那么新的工作目录包含请求版本与未提交的修改的\n"
+"    合并结果。否则,更新会失败,建议使用 'merge' 或 'update -C'。\n"
+"\n"
+"    如果你只想更新一个文件到旧版本,请使用 'revert'。\n"
+"\n"
+"    参见 'hg help dates' 以获得 '-d/--date' 的有效格式列表。\n"
+"    "
+
+msgid ""
+"verify the integrity of the repository\n"
+"\n"
+"    Verify the integrity of the current repository.\n"
+"\n"
+"    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 ""
+
+msgid "output version and copyright information"
+msgstr "输出版本和版权信息"
+
+#, python-format
+msgid "Mercurial Distributed SCM (version %s)\n"
+msgstr "分布式软件配置管理工具 - 水银 (版本 %s)\n"
+
+msgid ""
+"\n"
+"Copyright (C) 2005-2009 Matt Mackall <mpm@selenic.com> 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 ""
+"\n"
+"版权所有 (C) 2005-2009 Matt Mackall <mpm@selenic.com> 和其他人。\n"
+"这是自由软件,具体参见版权条款。这里没有任何担保,甚至没有适合\n"
+"特定目的的隐含的担保。\n"
+
+msgid "repository root directory or symbolic path name"
+msgstr "版本库的根目录或符号路径名称"
+
+msgid "change working directory"
+msgstr "改变工作目录"
+
+msgid "do not prompt, assume 'yes' for any required answers"
+msgstr "不再询问,假定所有答案都是 'yes'"
+
+msgid "suppress output"
+msgstr "抑制输出"
+
+msgid "enable additional output"
+msgstr "启用额外的输出"
+
+msgid "set/override config option"
+msgstr "设置/覆盖配置选项"
+
+msgid "enable debugging output"
+msgstr "启用调试输出"
+
+msgid "start debugger"
+msgstr "启动调试器"
+
+msgid "set the charset encoding"
+msgstr "设置字符集编码"
+
+msgid "set the charset encoding mode"
+msgstr "设置字符集编码模式"
+
+msgid "print improved command execution profile"
+msgstr "显示改良的命令执行剖析"
+
+msgid "print traceback on exception"
+msgstr "显示异常的跟踪"
+
+msgid "time how long the command takes"
+msgstr "为命令计时"
+
+msgid "print command execution profile"
+msgstr "显示命令执行的剖析"
+
+msgid "output version information and exit"
+msgstr "显示版本信息后退出"
+
+msgid "display help and exit"
+msgstr "显示帮助后退出"
+
+msgid "do not perform actions, just print output"
+msgstr "不执行操作,只打印输出"
+
+msgid "specify ssh command to use"
+msgstr "指定要使用的 'ssh' 命令"
+
+msgid "specify hg command to run on the remote side"
+msgstr "指定要在远程运行的 'hg' 命令"
+
+msgid "include names matching the given patterns"
+msgstr "包含匹配指定模式的名称"
+
+msgid "exclude names matching the given patterns"
+msgstr "拒绝匹配指定模式的名称"
+
+msgid "use <text> as commit message"
+msgstr "使用 <text> 作为提交日志"
+
+msgid "read commit message from <file>"
+msgstr "从 <file> 读取提交日志"
+
+msgid "record datecode as commit date"
+msgstr "将提供的日期作为提交日期"
+
+msgid "record user as committer"
+msgstr "将提供的用户作为提交者"
+
+msgid "display using template map file"
+msgstr "使用指定的样式显示"
+
+msgid "display with template"
+msgstr "使用指定的模板显示"
+
+msgid "do not show merges"
+msgstr "不显示合并"
+
+msgid "treat all files as text"
+msgstr "将所有文件视为文本文件"
+
+msgid "don't include dates in diff headers"
+msgstr "不要的差异头中包含日期"
+
+msgid "show which function each change is in"
+msgstr "为每个修改显示在什么函数中"
+
+msgid "ignore white space when comparing lines"
+msgstr "当比较行时忽略空白"
+
+msgid "ignore changes in the amount of white space"
+msgstr "忽略空白数量的改变"
+
+msgid "ignore changes whose lines are all blank"
+msgstr "忽略空行的改变"
+
+msgid "number of lines of context to show"
+msgstr "显示几行上下文"
+
+msgid "guess renamed files by similarity (0<=s<=100)"
+msgstr ""
+
+msgid "[OPTION]... [FILE]..."
+msgstr ""
+
+msgid "annotate the specified revision"
+msgstr "追溯指定版本"
+
+msgid "follow file copies and renames"
+msgstr "处理文件复制与改名"
+
+msgid "list the author (long with -v)"
+msgstr "列出作者 (增加 '-v' 会以长格式显示)"
+
+msgid "list the date (short with -q)"
+msgstr "列出日期 (增加 '-q' 会以短格式显示)"
+
+msgid "list the revision number (default)"
+msgstr "列出版本号 (默认)"
+
+msgid "list the changeset"
+msgstr "列出修改集"
+
+msgid "show line number at the first appearance"
+msgstr "列出首次出现时的行号"
+
+msgid "[-r REV] [-f] [-a] [-u] [-d] [-n] [-c] [-l] FILE..."
+msgstr ""
+
+msgid "do not pass files through decoders"
+msgstr ""
+
+msgid "directory prefix for files in archive"
+msgstr ""
+
+msgid "revision to distribute"
+msgstr ""
+
+msgid "type of distribution to create"
+msgstr ""
+
+msgid "[OPTION]... DEST"
+msgstr ""
+
+msgid "merge with old dirstate parent after backout"
+msgstr ""
+
+msgid "parent to choose when backing out merge"
+msgstr ""
+
+msgid "revision to backout"
+msgstr ""
+
+msgid "[OPTION]... [-r] REV"
+msgstr ""
+
+msgid "reset bisect state"
+msgstr ""
+
+msgid "mark changeset good"
+msgstr ""
+
+msgid "mark changeset bad"
+msgstr ""
+
+msgid "skip testing changeset"
+msgstr ""
+
+msgid "use command to check changeset state"
+msgstr ""
+
+msgid "do not update to target"
+msgstr ""
+
+msgid "[-gbsr] [-c CMD] [REV]"
+msgstr ""
+
+msgid "set branch name even if it shadows an existing branch"
+msgstr ""
+
+msgid "reset branch name to parent branch name"
+msgstr ""
+
+msgid "[-fC] [NAME]"
+msgstr ""
+
+msgid "show only branches that have unmerged heads"
+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"
+msgstr ""
+
+msgid "bundle all changesets in the repository"
+msgstr ""
+
+msgid "bundle compression type to use"
+msgstr ""
+
+msgid "[-f] [-a] [-r REV]... [--base REV]... FILE [DEST]"
+msgstr ""
+
+msgid "print output to file with formatted name"
+msgstr "输出到使用格式化名称的文件中"
+
+msgid "print the given revision"
+msgstr ""
+
+msgid "apply any matching decode filter"
+msgstr ""
+
+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"
+msgstr "复制后你期望有的修改集"
+
+msgid "[OPTION]... SOURCE [DEST]"
+msgstr ""
+
+msgid "mark new/missing files as added/removed before committing"
+msgstr "在提交之前将'新的/丢失的'文件标记为'已增加/已删除'"
+
+msgid "mark a branch as closed, hiding it from the branch list"
+msgstr "标记一个分支已关闭,不在分支列表中显示"
+
+msgid "record a copy that has already occurred"
+msgstr ""
+
+msgid "forcibly copy over an existing managed file"
+msgstr ""
+
+msgid "[OPTION]... [SOURCE]... DEST"
+msgstr ""
+
+msgid "[INDEX] REV1 REV2"
+msgstr ""
+
+msgid "show the command options"
+msgstr ""
+
+msgid "[-o] CMD"
+msgstr ""
+
+msgid "try extended date formats"
+msgstr ""
+
+msgid "[-e] DATE [RANGE]"
+msgstr ""
+
+msgid "FILE REV"
+msgstr ""
+
+msgid "[PATH]"
+msgstr ""
+
+msgid "FILE"
+msgstr ""
+
+msgid "parent"
+msgstr ""
+
+msgid "file list"
+msgstr ""
+
+msgid "revision to rebuild to"
+msgstr ""
+
+msgid "[-r REV] [REV]"
+msgstr ""
+
+msgid "revision to debug"
+msgstr ""
+
+msgid "[-r REV] FILE"
+msgstr ""
+
+msgid "REV1 [REV2]"
+msgstr ""
+
+msgid "do not display the saved mtime"
+msgstr ""
+
+msgid "[OPTION]..."
+msgstr ""
+
+msgid "[OPTION]... [-r REV1 [-r REV2]] [FILE]..."
+msgstr ""
+
+msgid "diff against the second parent"
+msgstr "与第二个父亲比较"
+
+msgid "[OPTION]... [-o OUTFILESPEC] REV..."
+msgstr ""
+
+msgid "end fields with NUL"
+msgstr ""
+
+msgid "print all revisions that match"
+msgstr ""
+
+msgid "follow changeset history, or file history across copies and renames"
+msgstr "跟踪修改集历史,或者跟踪文件的复制与改名操作"
+
+msgid "ignore case when matching"
+msgstr ""
+
+msgid "print only filenames and revs that match"
+msgstr ""
+
+msgid "print matching line numbers"
+msgstr ""
+
+msgid "search in given revision range"
+msgstr ""
+
+msgid "[OPTION]... PATTERN [FILE]..."
+msgstr ""
+
+msgid "show only heads which are descendants of rev"
+msgstr ""
+
+msgid "show only the active heads from open branches"
+msgstr ""
+
+msgid "[-r REV] [REV]..."
+msgstr ""
+
+msgid "[TOPIC]"
+msgstr ""
+
+msgid "identify the specified rev"
+msgstr ""
+
+msgid "show local revision number"
+msgstr ""
+
+msgid "show global revision id"
+msgstr ""
+
+msgid "show branch"
+msgstr ""
+
+msgid "show tags"
+msgstr ""
+
+msgid "[-nibt] [-r REV] [SOURCE]"
+msgstr ""
+
+msgid ""
+"directory strip option for patch. This has the same\n"
+"meaning as the corresponding patch option"
+msgstr ""
+
+msgid "base path"
+msgstr ""
+
+msgid "skip check for outstanding uncommitted changes"
+msgstr ""
+
+msgid "don't commit, just update the working directory"
+msgstr ""
+
+msgid "apply patch to the nodes from which it was generated"
+msgstr ""
+
+msgid "Use any branch information in patch (implied by --exact)"
+msgstr ""
+
+msgid "[OPTION]... PATCH..."
+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"
+msgstr "指定要取得的最高版本"
+
+msgid "[-p] [-n] [-M] [-f] [-r REV]... [--bundle FILENAME] [SOURCE]"
+msgstr ""
+
+msgid "[-e CMD] [--remotecmd CMD] [DEST]"
+msgstr ""
+
+msgid "search the repository as it stood at rev"
+msgstr ""
+
+msgid "end filenames with NUL, for use with xargs"
+msgstr "在文件名称结尾增加 NUL,用于 xargs"
+
+msgid "print complete paths from the filesystem root"
+msgstr ""
+
+msgid "[OPTION]... [PATTERN]..."
+msgstr ""
+
+msgid "only follow the first parent of merge changesets"
+msgstr "只跟踪修改集的第一个父亲"
+
+msgid "show revs matching date spec"
+msgstr "显示匹配日期的版本"
+
+msgid "show copied files"
+msgstr "显示复制的文件"
+
+msgid "do case-insensitive search for a keyword"
+msgstr "对关键字执行不区分大小写的搜索"
+
+msgid "include revs where files were removed"
+msgstr "包含删除文件的版本"
+
+msgid "show only merges"
+msgstr "只显示合并"
+
+msgid "revs committed by user"
+msgstr "指定用户提交的版本"
+
+msgid "show only changesets within the given named branch"
+msgstr "只显示位于指定命名分支中的修改集"
+
+msgid "do not display revision or any of its ancestors"
+msgstr "不显示指定版本或其祖先"
+
+msgid "[OPTION]... [FILE]"
+msgstr ""
+
+msgid "revision to display"
+msgstr ""
+
+msgid "[-r REV]"
+msgstr ""
+
+msgid "force a merge with outstanding changes"
+msgstr "强制与已有修改合并"
+
+msgid "revision to merge"
+msgstr "要合并的版本"
+
+msgid "[-f] [[-r] REV]"
+msgstr ""
+
+msgid "a specific revision up to which you would like to push"
+msgstr "指定你要推送的最高版本"
+
+msgid "[-M] [-p] [-n] [-f] [-r REV]... [DEST]"
+msgstr ""
+
+msgid "show parents from the specified rev"
+msgstr "从指定的版本显示父亲"
+
+msgid "hg parents [-r REV] [FILE]"
+msgstr ""
+
+msgid "[NAME]"
+msgstr ""
+
+msgid "update to new tip if changesets were pulled"
+msgstr "如果有新的修改集,就更新到最新版本"
+
+msgid "[-u] [-f] [-r REV]... [-e CMD] [--remotecmd CMD] [SOURCE]"
+msgstr ""
+
+msgid "force push"
+msgstr "强制推送"
+
+msgid "[-f] [-r REV]... [-e CMD] [--remotecmd CMD] [DEST]"
+msgstr ""
+
+msgid "record delete for missing files"
+msgstr "将丢失的文件视为删除"
+
+msgid "remove (and delete) file even if added or modified"
+msgstr "删除文件,纵然它已被增加或修改"
+
+msgid "record a rename that has already occurred"
+msgstr "记录已经发生的改名"
+
+msgid "[OPTION]... SOURCE... DEST"
+msgstr ""
+
+msgid "remerge all unresolved files"
+msgstr ""
+
+msgid "list state of files needing merge"
+msgstr ""
+
+msgid "mark files as resolved"
+msgstr ""
+
+msgid "unmark files as resolved"
+msgstr ""
+
+msgid "revert all changes when no arguments given"
+msgstr ""
+
+msgid "tipmost revision matching date"
+msgstr "匹配最接近顶点的日期"
+
+msgid "revision to revert to"
+msgstr ""
+
+msgid "do not save backup copies of files"
+msgstr ""
+
+msgid "[OPTION]... [-r REV] [NAME]..."
+msgstr ""
+
+msgid "name of access log file to write to"
+msgstr "记录访问日志的文件名称"
+
+msgid "name of error log file to write to"
+msgstr "记录错误日志的文件名称"
+
+msgid "port to listen on (default: 8000)"
+msgstr "监听的端口(默认: 8000)"
+
+msgid "address to listen on (default: all interfaces)"
+msgstr "监听地址(默认: 所有地址)"
+
+msgid "prefix path to serve from (default: server root)"
+msgstr "服务路径前缀(默认: 服务器根)"
+
+msgid "name to show in web pages (default: working dir)"
+msgstr "在 WEB 页面中显示的名称(默认: 工作目录)"
+
+msgid "name of the webdir config file (serve more than one repo)"
+msgstr "webdir 配置文件的名称(发布多个版本库)"
+
+msgid "for remote clients"
+msgstr "针对远程客户端"
+
+msgid "web templates to use"
+msgstr "使用的 WEB 模板"
+
+msgid "template style to use"
+msgstr "使用的显示样式"
+
+msgid "use IPv6 in addition to IPv4"
+msgstr "同时使用 IPv6 和 IPv4"
+
+msgid "SSL certificate file"
+msgstr "SSL 证书文件"
+
+msgid "show untrusted configuration options"
+msgstr "显示不能信赖的配置选项"
+
+msgid "[-u] [NAME]..."
+msgstr ""
+
+msgid "show status of all files"
+msgstr "显示全部文件的状态"
+
+msgid "show only modified files"
+msgstr "只显示已修改文件的状态"
+
+msgid "show only added files"
+msgstr "只显示已增加文件的状态"
+
+msgid "show only removed files"
+msgstr "只显示已移除文件的状态"
+
+msgid "show only deleted (but tracked) files"
+msgstr "只显示已删除(但被跟踪)文件的状态"
+
+msgid "show only files without changes"
+msgstr "只显示无改动文件的状态"
+
+msgid "show only unknown (not tracked) files"
+msgstr "只显示未知(未被跟踪)文件的状态"
+
+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 "replace existing tag"
+msgstr "替换已有的标签"
+
+msgid "make the tag local"
+msgstr "标记标签为本地"
+
+msgid "revision to tag"
+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 "[-u] FILE..."
+msgstr ""
+
+msgid "overwrite locally modified files (no backup)"
+msgstr "覆盖本地修改的文件(不备份)"
+
+msgid "[-C] [-d DATE] [[-r] REV]"
+msgstr ""
+
+msgid "not found in manifest"
+msgstr ""
+
+msgid "branch name not in UTF-8!"
+msgstr ""
+
+#, python-format
+msgid "  searching for copies back to rev %d\n"
+msgstr ""
+
+#, python-format
+msgid ""
+"  unmatched files in local:\n"
+"   %s\n"
+msgstr ""
+
+#, python-format
+msgid ""
+"  unmatched files in other:\n"
+"   %s\n"
+msgstr ""
+
+msgid "  all copies found (* = to merge, ! = divergent):\n"
+msgstr ""
+
+#, python-format
+msgid "   %s -> %s %s\n"
+msgstr ""
+
+msgid "  checking for directory renames\n"
+msgstr ""
+
+#, python-format
+msgid "  dir %s -> %s\n"
+msgstr ""
+
+#, python-format
+msgid "  file %s -> %s\n"
+msgstr ""
+
+#, python-format
+msgid "'\\n' and '\\r' disallowed in filenames: %r"
+msgstr ""
+
+#, python-format
+msgid "directory %r already in dirstate"
+msgstr ""
+
+#, python-format
+msgid "file %r in dirstate clashes with %r"
+msgstr ""
+
+#, python-format
+msgid "not in dirstate: %s\n"
+msgstr ""
+
+msgid "character device"
+msgstr ""
+
+msgid "block device"
+msgstr ""
+
+msgid "fifo"
+msgstr ""
+
+msgid "socket"
+msgstr ""
+
+msgid "directory"
+msgstr ""
+
+#, python-format
+msgid "%s: unsupported file type (type is %s)\n"
+msgstr ""
+
+#, python-format
+msgid "abort: %s\n"
+msgstr "中止: %s\n"
+
+#, python-format
+msgid ""
+"hg: command '%s' is ambiguous:\n"
+"    %s\n"
+msgstr ""
+
+#, python-format
+msgid "timed out waiting for lock held by %s"
+msgstr ""
+
+#, python-format
+msgid "lock held by %s"
+msgstr ""
+
+#, python-format
+msgid "abort: %s: %s\n"
+msgstr "中止: %s: %s\n"
+
+#, python-format
+msgid "abort: could not lock %s: %s\n"
+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 "中止: %s!\n"
+
+#, python-format
+msgid "abort: %s"
+msgstr "中止: %s"
+
+msgid " empty string\n"
+msgstr ""
+
+msgid "killed!\n"
+msgstr ""
+
+#, python-format
+msgid "hg: unknown command '%s'\n"
+msgstr "hg: 未知命令 '%s'\n"
+
+#, python-format
+msgid "abort: could not import module %s!\n"
+msgstr "中止: 不能导入模块 %s!\n"
+
+msgid "(did you forget to compile extensions?)\n"
+msgstr "(你是否忘记了编译扩展?)\n"
+
+msgid "(is your Python install correct?)\n"
+msgstr "(你的 Python 安装正确吗?)\n"
+
+#, python-format
+msgid "abort: error: %s\n"
+msgstr "中止: 失败: %s\n"
+
+msgid "broken pipe\n"
+msgstr "坏掉的管道\n"
+
+msgid "interrupted!\n"
+msgstr "中断!\n"
+
+msgid ""
+"\n"
+"broken pipe\n"
+msgstr ""
+"\n"
+"坏掉的管道\n"
+
+msgid "abort: out of memory\n"
+msgstr "中止: 内存不足\n"
+
+msgid "** unknown exception encountered, details follow\n"
+msgstr "** 遇到了未知异常,详细信息如下\n"
+
+msgid "** report bug details to http://www.selenic.com/mercurial/bts\n"
+msgstr "** 报告问题详情到 http://www.selenic.com/mercurial/bts\n"
+
+msgid "** or mercurial@selenic.com\n"
+msgstr "** 或 mercurial@selenic.com\n"
+
+#, python-format
+msgid "** Mercurial Distributed SCM (version %s)\n"
+msgstr "** 分布式软件配置管理工具 - 水银 (版本 %s)\n"
+
+#, python-format
+msgid "** Extensions loaded: %s\n"
+msgstr "** 已加载的扩展: %s\n"
+
+#, python-format
+msgid "malformed --config option: %s"
+msgstr "非法 '--config' 选项: %s"
+
+#, python-format
+msgid "extension '%s' overrides commands: %s\n"
+msgstr "扩展 '%s' 覆盖了命令: %s\n"
+
+msgid "Option --config may not be abbreviated!"
+msgstr "选项 '--config' 不能简短!"
+
+msgid "Option --cwd may not be abbreviated!"
+msgstr "选项 '--cwd' 不能简短!"
+
+msgid ""
+"Option -R has to be separated from other options (i.e. not -qR) and --"
+"repository may only be abbreviated as --repo!"
+msgstr ""
+"选项 -R 必须隔离使用(也就是不能 -qR),并且 --repository 只能简短为 --repo!"
+
+#, python-format
+msgid "Time: real %.3f secs (user %.3f+%.3f sys %.3f+%.3f)\n"
+msgstr "时间: 实际 %.3f 秒(用户 %.3f+%.3f 系统 %.3f+%.3f)\n"
+
+#, python-format
+msgid "repository '%s' is not local"
+msgstr "非本地版本库 '%s'"
+
+msgid "invalid arguments"
+msgstr "非法参数"
+
+msgid "exception raised - generating profile anyway\n"
+msgstr ""
+
+msgid ""
+"lsprof not available - install from http://codespeak.net/svn/user/arigo/hack/"
+"misc/lsprof/"
+msgstr ""
+"lsprof 不可用 - 从 http://codespeak.net/svn/user/arigo/hack/misc/lsprof/ 安装"
+
+#, python-format
+msgid "*** failed to import extension %s from %s: %s\n"
+msgstr "*** 加载扩展 '%s',自 '%s': %s\n"
+
+#, python-format
+msgid "*** failed to import extension %s: %s\n"
+msgstr "*** 加载扩展 '%s' 失败: %s\n"
+
+#, python-format
+msgid "couldn't find merge tool %s\n"
+msgstr "不能找到合并工具 '%s'\n"
+
+#, python-format
+msgid "tool %s can't handle symlinks\n"
+msgstr "工具 '%s' 不能处理符号链接\n"
+
+#, python-format
+msgid "tool %s can't handle binary\n"
+msgstr "工具 '%s' 不能处理二进制\n"
+
+#, python-format
+msgid "tool %s requires a GUI\n"
+msgstr "工具 '%s' 需要 GUI\n"
+
+#, python-format
+msgid "picked tool '%s' for %s (binary %s symlink %s)\n"
+msgstr "选择工具 '%s',用于 %s(二进制 %s 符号链接 %s)\n"
+
+#, python-format
+msgid ""
+" no tool found to merge %s\n"
+"keep (l)ocal or take (o)ther?"
+msgstr ""
+" 没有找到工具合并 %s\n"
+"使用本地(l)或者他人(o)的内容?"
+
+msgid "[lo]"
+msgstr ""
+
+msgid "l"
+msgstr ""
+
+#, python-format
+msgid "merging %s and %s to %s\n"
+msgstr ""
+
+#, python-format
+msgid "merging %s\n"
+msgstr ""
+
+#, python-format
+msgid "my %s other %s ancestor %s\n"
+msgstr ""
+
+msgid " premerge successful\n"
+msgstr ""
+
+#, python-format
+msgid ""
+" output file %s appears unchanged\n"
+"was merge successful (yn)?"
+msgstr ""
+
+msgid "[yn]"
+msgstr ""
+
+msgid "n"
+msgstr ""
+
+#, python-format
+msgid "merging %s failed!\n"
+msgstr ""
+
+#, python-format
+msgid "Inconsistent state, %s:%s is good and bad"
+msgstr ""
+
+#, python-format
+msgid "unknown bisect kind %s"
+msgstr ""
+
+msgid "Date Formats"
+msgstr ""
+
+msgid ""
+"\n"
+"    Some commands allow the user to specify a date, e.g.:\n"
+"    * backout, commit, import, tag: Specify the commit date.\n"
+"    * log, revert, update: Select revision(s) by date.\n"
+"\n"
+"    Many date formats are valid. Here are some examples:\n"
+"\n"
+"    \"Wed Dec 6 13:18:29 2006\" (local timezone assumed)\n"
+"    \"Dec 6 13:18 -0600\" (year assumed, time offset provided)\n"
+"    \"Dec 6 13:18 UTC\" (UTC and GMT are aliases for +0000)\n"
+"    \"Dec 6\" (midnight)\n"
+"    \"13:18\" (today assumed)\n"
+"    \"3:39\" (3:39AM assumed)\n"
+"    \"3:39pm\" (15:39)\n"
+"    \"2006-12-06 13:18:29\" (ISO 8601 format)\n"
+"    \"2006-12-6 13:18\"\n"
+"    \"2006-12-6\"\n"
+"    \"12-6\"\n"
+"    \"12/6\"\n"
+"    \"12/6/6\" (Dec 6 2006)\n"
+"\n"
+"    Lastly, there is Mercurial's internal format:\n"
+"\n"
+"    \"1165432709 0\" (Wed Dec 6 13:18:29 2006 UTC)\n"
+"\n"
+"    This is the internal representation format for dates. unixtime is\n"
+"    the number of seconds since the epoch (1970-01-01 00:00 UTC). offset\n"
+"    is the offset of the local timezone, in seconds west of UTC (negative\n"
+"    if the timezone is east of UTC).\n"
+"\n"
+"    The log command also accepts date ranges:\n"
+"\n"
+"    \"<{datetime}\" - at or before a given date/time\n"
+"    \">{datetime}\" - on or after a given date/time\n"
+"    \"{datetime} to {datetime}\" - a date range, inclusive\n"
+"    \"-{days}\" - within a given number of days of today\n"
+"    "
+msgstr ""
+
+msgid "File Name Patterns"
+msgstr ""
+
+msgid ""
+"\n"
+"    Mercurial accepts several notations for identifying one or more\n"
+"    files at a time.\n"
+"\n"
+"    By default, Mercurial treats filenames as shell-style extended\n"
+"    glob patterns.\n"
+"\n"
+"    Alternate pattern notations must be specified explicitly.\n"
+"\n"
+"    To use a plain path name without any pattern matching, start it\n"
+"    with \"path:\". These path names must completely match starting at\n"
+"    the current repository root.\n"
+"\n"
+"    To use an extended glob, start a name with \"glob:\". Globs are\n"
+"    rooted at the current directory; a glob such as \"*.c\" will only\n"
+"    match files in the current directory ending with \".c\".\n"
+"\n"
+"    The supported glob syntax extensions are \"**\" to match any string\n"
+"    across path separators and \"{a,b}\" to mean \"a or b\".\n"
+"\n"
+"    To use a Perl/Python regular expression, start a name with \"re:\".\n"
+"    Regexp pattern matching is anchored at the root of the repository.\n"
+"\n"
+"    Plain examples:\n"
+"\n"
+"    path:foo/bar   a name bar in a directory named foo in the root of\n"
+"                   the repository\n"
+"    path:path:name a file or directory named \"path:name\"\n"
+"\n"
+"    Glob examples:\n"
+"\n"
+"    glob:*.c       any name ending in \".c\" in the current directory\n"
+"    *.c            any name ending in \".c\" in the current directory\n"
+"    **.c           any name ending in \".c\" in any subdirectory of the\n"
+"                   current directory including itself.\n"
+"    foo/*.c        any name ending in \".c\" in the directory foo\n"
+"    foo/**.c       any name ending in \".c\" in any subdirectory of foo\n"
+"                   including itself.\n"
+"\n"
+"    Regexp examples:\n"
+"\n"
+"    re:.*\\.c$      any name ending in \".c\", anywhere in the repository\n"
+"\n"
+"    "
+msgstr ""
+
+msgid "Environment Variables"
+msgstr ""
+
+msgid ""
+"\n"
+"HG::\n"
+"    Path to the 'hg' executable, automatically passed when running hooks,\n"
+"    extensions or external tools. If unset or empty, this is the hg\n"
+"    executable's name if it's frozen, or an executable named 'hg'\n"
+"    (with %PATHEXT% [defaulting to COM/EXE/BAT/CMD] extensions on\n"
+"    Windows) is searched.\n"
+"\n"
+"HGEDITOR::\n"
+"    This is the name of the editor to run when committing. See EDITOR.\n"
+"\n"
+"    (deprecated, use .hgrc)\n"
+"\n"
+"HGENCODING::\n"
+"    This overrides the default locale setting detected by Mercurial.\n"
+"    This setting is used to convert data including usernames,\n"
+"    changeset descriptions, tag names, and branches. This setting can\n"
+"    be overridden with the --encoding command-line option.\n"
+"\n"
+"HGENCODINGMODE::\n"
+"    This sets Mercurial's behavior for handling unknown characters\n"
+"    while transcoding user input. The default is \"strict\", which\n"
+"    causes Mercurial to abort if it can't map a character. Other\n"
+"    settings include \"replace\", which replaces unknown characters, and\n"
+"    \"ignore\", which drops them. This setting can be overridden with\n"
+"    the --encodingmode command-line option.\n"
+"\n"
+"HGMERGE::\n"
+"    An executable to use for resolving merge conflicts. The program\n"
+"    will be executed with three arguments: local file, remote file,\n"
+"    ancestor file.\n"
+"\n"
+"    (deprecated, use .hgrc)\n"
+"\n"
+"HGRCPATH::\n"
+"    A list of files or directories to search for hgrc files. Item\n"
+"    separator is \":\" on Unix, \";\" on Windows. If HGRCPATH is not set,\n"
+"    platform default search path is used. If empty, only the .hg/hgrc\n"
+"    from the current repository is read.\n"
+"\n"
+"    For each element in HGRCPATH:\n"
+"    * if it's a directory, all directories ending with .rc are added\n"
+"    * otherwise, the directory itself will be added\n"
+"\n"
+"HGUSER::\n"
+"    This is the string used as the author of a commit. If not set,\n"
+"    available values will be considered in this order:\n"
+"\n"
+"    * HGUSER (deprecated)\n"
+"    * hgrc files from the HGRCPATH\n"
+"    * EMAIL\n"
+"    * interactive prompt\n"
+"    * LOGNAME (with '@hostname' appended)\n"
+"\n"
+"    (deprecated, use .hgrc)\n"
+"\n"
+"EMAIL::\n"
+"    May be used as the author of a commit; see HGUSER.\n"
+"\n"
+"LOGNAME::\n"
+"    May be used as the author of a commit; see HGUSER.\n"
+"\n"
+"VISUAL::\n"
+"    This is the name of the editor to use when committing. See EDITOR.\n"
+"\n"
+"EDITOR::\n"
+"    Sometimes Mercurial needs to open a text file in an editor\n"
+"    for a user to modify, for example when writing commit messages.\n"
+"    The editor it uses is determined by looking at the environment\n"
+"    variables HGEDITOR, VISUAL and EDITOR, in that order. The first\n"
+"    non-empty one is chosen. If all of them are empty, the editor\n"
+"    defaults to 'vi'.\n"
+"\n"
+"PYTHONPATH::\n"
+"    This is used by Python to find imported modules and may need to be set\n"
+"    appropriately if this Mercurial is not installed system-wide.\n"
+"    "
+msgstr ""
+
+msgid "Specifying Single Revisions"
+msgstr ""
+
+msgid ""
+"\n"
+"    Mercurial supports several ways to specify individual\n"
+"    revisions.\n"
+"\n"
+"    A plain integer is treated as a revision number. Negative\n"
+"    integers are treated as toplogical offsets from the tip, with\n"
+"    -1 denoting the tip. As such, negative numbers are only useful\n"
+"    if you've memorized your local tree numbers and want to save\n"
+"    typing a single digit. This editor suggests copy and paste.\n"
+"\n"
+"    A 40-digit hexadecimal string is treated as a unique revision\n"
+"    identifier.\n"
+"\n"
+"    A hexadecimal string less than 40 characters long is treated as a\n"
+"    unique revision identifier, and referred to as a short-form\n"
+"    identifier. A short-form identifier is only valid if it is the\n"
+"    prefix of exactly one full-length identifier.\n"
+"\n"
+"    Any other string is treated as a tag name, which is a symbolic\n"
+"    name associated with a revision identifier. Tag names may not\n"
+"    contain the \":\" character.\n"
+"\n"
+"    The reserved name \"tip\" is a special tag that always identifies\n"
+"    the most recent revision.\n"
+"\n"
+"    The reserved name \"null\" indicates the null revision. This is the\n"
+"    revision of an empty repository, and the parent of revision 0.\n"
+"\n"
+"    The reserved name \".\" indicates the working directory parent. If\n"
+"    no working directory is checked out, it is equivalent to null.\n"
+"    If an uncommitted merge is in progress, \".\" is the revision of\n"
+"    the first parent.\n"
+"    "
+msgstr ""
+
+msgid "Specifying Multiple Revisions"
+msgstr "指定多个版本"
+
+msgid ""
+"\n"
+"    When Mercurial accepts more than one revision, they may be\n"
+"    specified individually, or provided as a topologically continuous\n"
+"    range, separated by the \":\" character.\n"
+"\n"
+"    The syntax of range notation is [BEGIN]:[END], where BEGIN and END\n"
+"    are revision identifiers. Both BEGIN and END are optional. If\n"
+"    BEGIN is not specified, it defaults to revision number 0. If END\n"
+"    is not specified, it defaults to the tip. The range \":\" thus\n"
+"    means \"all revisions\".\n"
+"\n"
+"    If BEGIN is greater than END, revisions are treated in reverse\n"
+"    order.\n"
+"\n"
+"    A range acts as a closed interval. This means that a range of 3:5\n"
+"    gives 3, 4 and 5. Similarly, a range of 9:6 gives 9, 8, 7, and 6.\n"
+"    "
+msgstr ""
+"\n"
+"    当水银接受多个版本时,它们可以单独给出,或者以字符 \":\" 分割的拓扑连续\n"
+"    范围格式提供。\n"
+"\n"
+"    范围的语法是 '[BEGIN]:[END]',其中 'BEGIN' 和 'END' 是版本标识。'BEGIN'\n"
+"    和 'END' 都是可选的。'BEGIN' 默认是 0,'END' 默认是 'tip'。因此范围 \":"
+"\"\n"
+"    意味着全部版本。\n"
+"\n"
+"    如果 'BEGIN' 大于 'END',版本视为反序。\n"
+"\n"
+"    范围是闭区间。即范围 '3:5' 是 '3','4','5'。同样,范围 '9:6' 是 '9',\n"
+"    '8','7' 和 '6'。\n"
+"    "
+
+msgid "Diff Formats"
+msgstr "差异格式"
+
+msgid ""
+"\n"
+"    Mercurial's default format for showing changes between two versions\n"
+"    of a file is compatible with the unified format of GNU diff, which\n"
+"    can be used by GNU patch and many other standard tools.\n"
+"\n"
+"    While this standard format is often enough, it does not encode the\n"
+"    following information:\n"
+"\n"
+"     - executable status and other permission bits\n"
+"     - copy or rename information\n"
+"     - changes in binary files\n"
+"     - creation or deletion of empty files\n"
+"\n"
+"    Mercurial also supports the extended diff format from the git VCS\n"
+"    which addresses these limitations. The git diff format is not\n"
+"    produced by default because a few widespread tools still do not\n"
+"    understand this format.\n"
+"\n"
+"    This means that when generating diffs from a Mercurial repository\n"
+"    (e.g. with \"hg export\"), you should be careful about things like\n"
+"    file copies and renames or other things mentioned above, because\n"
+"    when applying a standard diff to a different repository, this extra\n"
+"    information is lost. Mercurial's internal operations (like push and\n"
+"    pull) are not affected by this, because they use an internal binary\n"
+"    format for communicating changes.\n"
+"\n"
+"    To make Mercurial produce the git extended diff format, use the\n"
+"    --git option available for many commands, or set 'git = True' in the\n"
+"    [diff] section of your hgrc. You do not need to set this option when\n"
+"    importing diffs in this format or using them in the mq extension.\n"
+"    "
+msgstr ""
+"\n"
+"    水银显示文件不同版本之间差异的格式与 GNU diff 标准格式兼容,可用于\n"
+"    GNU patch 和许多标准工具。\n"
+"\n"
+"    虽然标准格式在大多数情况下都能满足要求,但是它不包含下述信息:\n"
+"\n"
+"     - 可执行状态和其它权限位\n"
+"     - 复制或改名信息\n"
+"     - 二进制文件的修改\n"
+"     - 创建或删除空文件\n"
+"\n"
+"    水银也支持解决这些限制的 git 扩展差异格式。由于一些常用的工具还不支持\n"
+"    此格式,所以它不是默认格式。\n"
+"\n"
+"    这意味着当从水银版本库(例如 \"hg export\")产生差异时,在其它版本库应用标\n"
+"    准差异时,会丢失文件复制或改名等额外信息,所以你要小心处理。水银的内部\n"
+"    操作(例如 push 和 pull)在传达改变时,使用内部的二进制格式,所以不受影\n"
+"    响。\n"
+"\n"
+"    要让水银产生 git 扩展差异格式,可以对许多命令使用选项 '--git',或者在\n"
+"    你的 hgrc 文件中的节 '[diff]' 中增加 'git = True'。当你从此格式导入时,\n"
+"    或在 mq 扩展中使用时,不需要设置此选项。\n"
+"    "
+
+msgid "Template Usage"
+msgstr "模版用法"
+
+msgid ""
+"\n"
+"    Mercurial allows you to customize output of commands through\n"
+"    templates. You can either pass in a template from the command line,\n"
+"    via the --template option, or select an existing template-style (--"
+"style).\n"
+"\n"
+"    You can customize output for any \"log-like\" command: log, outgoing,\n"
+"    incoming, tip, parents, heads and glog.\n"
+"\n"
+"    Three styles are packaged with Mercurial: default (the style used\n"
+"    when no explicit preference is passed), compact and changelog. Usage:\n"
+"\n"
+"        $ hg log -r1 --style changelog\n"
+"\n"
+"    A template is a piece of text, with markup to invoke variable expansion:\n"
+"\n"
+"        $ hg log -r1 --template \"{node}\\n\"\n"
+"        b56ce7b07c52de7d5fd79fb89701ea538af65746\n"
+"\n"
+"    Strings in curly braces are called keywords. The availability of\n"
+"    keywords depends on the exact context of the templater. These keywords\n"
+"    are usually available for templating a log-like command:\n"
+"\n"
+"    - author: String. The unmodified author of the changeset.\n"
+"    - branches: String. The name of the branch on which the changeset\n"
+"          was committed. Will be empty if the branch name was default.\n"
+"    - date: Date information. The date when the changeset was committed.\n"
+"    - desc: String. The text of the changeset description.\n"
+"    - files: List of strings. All files modified, added, or removed by\n"
+"          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 40-character\n"
+"          hexadecimal string.\n"
+"    - parents: List of strings. The parents of the changeset.\n"
+"    - rev: Integer. The repository-local changeset revision number.\n"
+"    - tags: List of strings. Any tags associated with the changeset.\n"
+"\n"
+"    The \"date\" keyword does not produce human-readable output. If you\n"
+"    want to use a date in your output, you can use a filter to process it.\n"
+"    Filters are functions which return a string based on the input variable.\n"
+"    You can also use a chain of filters to get the desired output:\n"
+"\n"
+"       $ hg tip --template \"{date|isodate}\\n\"\n"
+"       2008-08-21 18:22 +0000\n"
+"\n"
+"    List of filters:\n"
+"\n"
+"    - addbreaks: Any text. Add an XHTML \"<br />\" tag before the end of\n"
+"          every line except the last.\n"
+"    - age: Date. Returns a human-readable date/time difference between\n"
+"          the given date/time and the current 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 path\n"
+"          separator (ignoring trailing seprators). For example,\n"
+"          \"foo/bar/baz\" becomes \"baz\" and \"foo/bar//\" becomes \"bar\".\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 email\n"
+"          address, and extracts just the domain component.\n"
+"          Example: 'User <user@example.com>' becomes 'example.com'.\n"
+"    - email: Any text. Extracts the first string that looks like an email\n"
+"          address. Example: 'User <user@example.com>' becomes\n"
+"          '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"
+"    - 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"
+"    - obfuscate: Any text. Returns the input text rendered as a sequence\n"
+"          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\n"
+"          in email headers.\n"
+"    - short: Changeset hash. Returns the short form of a changeset hash,\n"
+"          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 the\n"
+"          first starting with a tab character.\n"
+"    - urlescape: Any text. Escapes all \"special\" characters. For example,\n"
+"          \"foo bar\" becomes \"foo%20bar\".\n"
+"    - user: Any text. Returns the user portion of an email address.\n"
+"    "
+msgstr ""
+"\n"
+"    水银允许你通过模版定制命令的输出。你可以通过命令行选项 '--template'\n"
+"    来使用模版,或者选择已有的模版样式(--style)。\n"
+"\n"
+"    你可以定制任意输出与日志信息类似的命令,即: log,outgoing,incoming,\n"
+"    tip,parents,heads 和 glog。\n"
+"\n"
+"    水银中内置了 3 种样式: default (默认), compact 和 changelog。用法:\n"
+"\n"
+"        $ hg log -r1 --style changelog\n"
+"\n"
+"    模版是文本片断,其中的标记用于变量扩展:\n"
+"\n"
+"        $ hg log -r1 --template \"{node}\\n\"\n"
+"        b56ce7b07c52de7d5fd79fb89701ea538af65746\n"
+"\n"
+"    花括号中的字符串称为关键字。可用的关键字依赖于模版的上下文。下述关键字\n"
+"    可用于输出与日志信息类似的命令:\n"
+"\n"
+"    - author: 字符串。修改集的作者。\n"
+"    - branches: 字符串。修改集的分支。如果分支名称为 'default' 则为空。\n"
+"    - date: 日期信息。修改集的日期。\n"
+"    - desc: 字符串。修改集的描述。\n"
+"    - files: 字符串列表。修改集中被修改、增加和删除的全部文件。\n"
+"    - file_adds: 字符串列表。修改集中被增加的文件。\n"
+"    - file_mods: 字符串列表。修改集中被修改的文件\n"
+"    - file_dels: 字符串列表。修改集中被删除的文件\n"
+"    - node: 字符串。修改集的哈系标识,40 个字符的 16 进制字符串。\n"
+"    - parents: 字符串列表。修改集的父亲。\n"
+"    - rev: 整数。本地版本库的修改集的版本号。\n"
+"    - tags: 字符串列表。修改集的标签。\n"
+"\n"
+"    关键字 \"date\" 不产生人工可读的输出。如果你想在输出中使用日期,可以使用\n"
+"    过滤器来处理它。过滤器是根据输入变量返回字符串的函数。你还可以使用过滤\n"
+"    链来产生理想的输出:\n"
+"\n"
+"       $ hg tip --template \"{date|isodate}\\n\"\n"
+"       2008-08-21 18:22 +0000\n"
+"\n"
+"    过滤器列表:\n"
+"\n"
+"    - addbreaks: 输入任意文本。除了最后一行,在每行的结尾增加 XHTML 标签\n"
+"          \"<br />\"。\n"
+"    - age: 输入日期。返回指定日期与当前日期差异的人工可读的字符串。\n"
+"    - basename: 输入任意文本。将输入视为路径,返回被路径分隔符隔开的最后\n"
+"          一个组件的名称(忽略结尾的分隔符)。例如 \"foo/bar/baz\" 成为 \"baz"
+"\",\n"
+"          \"foo/bar//\" 成为 \"bar\"。\n"
+"    - date: 输入日期。返回指定日期的 Unix 日期格式字符串,包含时区,例如: \n"
+"          \"Mon Sep 04 15:13:13 2006 0700\"。\n"
+"    - domain: 输入任意文本。找到第一个 email 地址,返回其域名。例如: \n"
+"          'User <user@example.com>' 成为 'example.com'。\n"
+"    - email: 输入任意文本。返回第一个 email 地址。例如: \n"
+"          'User <user@example.com>' 成为 'user@example.com'。\n"
+"    - escape: 输入任意文本。用 XML 实体来封装 XML/XHTML 的特殊字符 \"&\",\n"
+"          \"<\" 和 \">\"。\n"
+"    - fill68: 输入任意文本。格式化为 68 列文本。\n"
+"    - fill76: 输入任意文本。格式化为 76 列文本。\n"
+"    - firstline: 输入任意文本。返回首行。\n"
+"    - hgdate: 输入日期。返回一对数字:\n"
+"          \"1157407993 25200\" (Unix 时戳,时区偏移)。\n"
+"    - isodate: 输入日期。返回 ISO 8601 格式的日期。\n"
+"    - obfuscate: 输入任意文本。返回其 XML 实体序列。\n"
+"    - person: 输入任意文本。返回 email 地址前的文本。\n"
+"    - rfc822date: 输入日期。返回 email 头部使用的日期格式。\n"
+"    - short: 修改集哈系。返回修改集哈系的短格式。例如 12 字符的 16 进制\n"
+"          字符串。\n"
+"    - shortdate: 输入日期。返回格式类似于 \"2006-09-18\"。\n"
+"    - strip: 输入任意文本。删除全部行首与行尾空白。\n"
+"    - tabindent: 输入任意文本。除了首行,在每行的开始增加制表符号。\n"
+"    - urlescape: 输入任意文本。封装全部特殊字符。例如\n"
+"          \"foo bar\" 成为 \"foo%20bar\"。\n"
+"    - user: 输入任意文本。返回 email 地址中的用户名称部分。\n"
+"    "
+
+msgid "Url Paths"
+msgstr "统一资源定位路径"
+
+msgid ""
+"\n"
+"    Valid URLs are of the form:\n"
+"\n"
+"      local/filesystem/path (or file://local/filesystem/path)\n"
+"      http://[user[:pass]@]host[:port]/[path]\n"
+"      https://[user[:pass]@]host[:port]/[path]\n"
+"      ssh://[user[:pass]@]host[:port]/[path]\n"
+"\n"
+"    Paths in the local filesystem can either point to Mercurial\n"
+"    repositories or to bundle files (as created by 'hg bundle' or\n"
+"    'hg incoming --bundle').\n"
+"\n"
+"    An optional identifier after # indicates a particular branch, tag,\n"
+"    or changeset to use from the remote repository.\n"
+"\n"
+"    Some features, such as pushing to http:// and https:// URLs are\n"
+"    only possible if the feature is explicitly enabled on the\n"
+"    remote Mercurial server.\n"
+"\n"
+"    Some notes about using SSH with Mercurial:\n"
+"    - SSH requires an accessible shell account on the destination machine\n"
+"      and a copy of hg in the remote path or specified with as remotecmd.\n"
+"    - path is relative to the remote user's home directory by default.\n"
+"      Use an extra slash at the start of a path to specify an absolute path:\n"
+"        ssh://example.com//tmp/repository\n"
+"    - Mercurial doesn't use its own compression via SSH; the right thing\n"
+"      to do is to configure it in your ~/.ssh/config, e.g.:\n"
+"        Host *.mylocalnetwork.example.com\n"
+"          Compression no\n"
+"        Host *\n"
+"          Compression yes\n"
+"      Alternatively specify \"ssh -C\" as your ssh command in your hgrc or\n"
+"      with the --ssh command line option.\n"
+"\n"
+"    These urls can all be stored in your hgrc with path aliases under the\n"
+"    [paths] section like so:\n"
+"    [paths]\n"
+"    alias1 = URL1\n"
+"    alias2 = URL2\n"
+"    ...\n"
+"\n"
+"    You can then use the alias for any command that uses a url (for example\n"
+"    'hg pull alias1' would pull from the 'alias1' path).\n"
+"\n"
+"    Two path aliases are special because they are used as defaults\n"
+"    when you do not provide the url to a command:\n"
+"\n"
+"    default:\n"
+"      When you create a repository with hg clone, the clone command 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-\n"
+"      and pull-like commands (including in and out).\n"
+"\n"
+"    default-push:\n"
+"      The push command will look for a path named 'default-push', and\n"
+"      prefer it over 'default' if both are defined.\n"
+"    "
+msgstr ""
+"\n"
+"    有效的位置格式:\n"
+"\n"
+"      local/filesystem/path (or file://local/filesystem/path)\n"
+"      http://[user[:pass]@]host[:port]/[path]\n"
+"      https://[user[:pass]@]host[:port]/[path]\n"
+"      ssh://[user[:pass]@]host[:port]/[path]\n"
+"\n"
+"    位于本地文件系统中的路径可以指向版本库,也可以指向打包的文件(被\n"
+"    'hg bundle' 或 'hg incoming --bundle' 创建)。\n"
+"\n"
+"    在 '#' 后面可选的标识符用于指定要取得的远程版本库的分支,标签或\n"
+"    修改集。\n"
+"\n"
+"    仅当远程水银服务器显式启用时,才能推到 'http://' 和 'https://'。\n"
+"\n"
+"    在水银中使用 SSH 的一些提示:\n"
+"    - 使用 SSH 时,需要在远程主机上有可登录帐号,远程路径中还需要有\n"
+"      hg,或者有指定的远程命令。\n"
+"    - 默认 'path' 是相对于远程主机上的用户家目录。\n"
+"      可以在路径前增加一个斜线指定绝对路径:\n"
+"        ssh://example.com//tmp/repository\n"
+"    - 水银使用 SSH 时不使用压缩,所以你可以在 ~/.ssh/config 中配置\n"
+"      SSH 执行压缩,例如:\n"
+"        Host *.mylocalnetwork.example.com\n"
+"          Compression no\n"
+"        Host *\n"
+"          Compression yes\n"
+"      另一个方法是在你的 hgrc 中将 \"ssh -C\" 作为你的 ssh 命令,或\n"
+"      用于命令行参数 '--ssh' 中。\n"
+"\n"
+"    这些路径可以在你的 'hgrc' 中的节 '[paths]' 中定义别名:\n"
+"    [paths]\n"
+"    alias1 = URL1\n"
+"    alias2 = URL2\n"
+"    ...\n"
+"\n"
+"    然后你就可以在任意命令中使用这些别名作为路径(例如 'hg pull alias1'\n"
+"    会从 'alias1' 定义的路径取得指定版本)。\n"
+"\n"
+"    因为用于默认路径,所以这 2 个路径别名比较特殊:\n"
+"\n"
+"    default:\n"
+"      当你使用 'hg clone' 创建版本库时,此命令会将源版本库的位置保存\n"
+"      为新版本库的 'default' 路径,然后你可以对类似 'push' 和 'pull'\n"
+"      的命令省略路径(包含进和出)。\n"
+"\n"
+"    default-push:\n"
+"      命令 'push' 会查找别名是 'default-push' 的路径,它覆盖定义 'default'。\n"
+"    "
+
+#, python-format
+msgid "destination directory: %s\n"
+msgstr "目标目录: %s\n"
+
+#, python-format
+msgid "destination '%s' already exists"
+msgstr ""
+
+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 ""
+
+msgid "updating working directory\n"
+msgstr "正在更新工作目录\n"
+
+msgid "updated"
+msgstr "已更新"
+
+msgid "merged"
+msgstr "已合并"
+
+msgid "removed"
+msgstr "已删除"
+
+msgid "unresolved"
+msgstr "未解决"
+
+#, python-format
+msgid "%d files %s"
+msgstr "%d 个文件%s"
+
+msgid "use 'hg resolve' to retry unresolved file merges\n"
+msgstr ""
+
+msgid ""
+"use 'hg resolve' to retry unresolved file merges or 'hg up --clean' to "
+"abandon\n"
+msgstr ""
+
+msgid "(branch merge, don't forget to commit)\n"
+msgstr ""
+
+#, python-format
+msgid "error reading %s/.hg/hgrc: %s\n"
+msgstr ""
+
+msgid "SSL support is unavailable"
+msgstr ""
+
+msgid "IPv6 not available on this system"
+msgstr ""
+
+#, python-format
+msgid "cannot start server at '%s:%d': %s"
+msgstr ""
+
+#, python-format
+msgid "calling hook %s: %s\n"
+msgstr ""
+
+#, python-format
+msgid "%s hook is invalid (\"%s\" not in a module)"
+msgstr ""
+
+#, python-format
+msgid "%s hook is invalid (import of \"%s\" failed)"
+msgstr ""
+
+#, python-format
+msgid "%s hook is invalid (\"%s\" is not defined)"
+msgstr ""
+
+#, python-format
+msgid "%s hook is invalid (\"%s\" is not callable)"
+msgstr ""
+
+#, python-format
+msgid "error: %s hook failed: %s\n"
+msgstr ""
+
+#, python-format
+msgid "error: %s hook raised an exception: %s\n"
+msgstr ""
+
+#, python-format
+msgid "%s hook failed"
+msgstr ""
+
+#, python-format
+msgid "warning: %s hook failed\n"
+msgstr ""
+
+#, python-format
+msgid "running hook %s: %s\n"
+msgstr ""
+
+#, python-format
+msgid "%s hook %s"
+msgstr ""
+
+#, python-format
+msgid "warning: %s hook %s\n"
+msgstr ""
+
+msgid "connection ended unexpectedly"
+msgstr ""
+
+#, python-format
+msgid "unsupported URL component: \"%s\""
+msgstr ""
+
+#, python-format
+msgid "using %s\n"
+msgstr "使用 %s\n"
+
+#, python-format
+msgid "capabilities: %s\n"
+msgstr ""
+
+msgid "operation not supported over http"
+msgstr ""
+
+#, python-format
+msgid "sending %s command\n"
+msgstr "发送命令 '%s'\n"
+
+#, python-format
+msgid "sending %s bytes\n"
+msgstr "发送 %s 字节\n"
+
+msgid "authorization failed"
+msgstr "授权失败"
+
+#, python-format
+msgid "http error while sending %s command\n"
+msgstr ""
+
+msgid "http error, possibly caused by proxy setting"
+msgstr ""
+
+#, python-format
+msgid "real URL is %s\n"
+msgstr "实际 URL 是 '%s'\n"
+
+#, python-format
+msgid "Requested URL: '%s'\n"
+msgstr "请求的 URL: '%s'\n"
+
+#, python-format
+msgid "'%s' does not appear to be an hg repository"
+msgstr "'%s' 似乎不是水银版本库"
+
+#, python-format
+msgid "'%s' sent a broken Content-Type header (%s)"
+msgstr ""
+
+#, 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 ""
+
+#, python-format
+msgid "push failed: %s"
+msgstr ""
+
+msgid "Python support for SSL and HTTPS is not installed"
+msgstr ""
+
+msgid "cannot create new http repository"
+msgstr ""
+
+#, python-format
+msgid "%s: ignoring invalid syntax '%s'\n"
+msgstr ""
+
+#, python-format
+msgid "skipping unreadable ignore file '%s': %s\n"
+msgstr ""
+
+#, python-format
+msgid "repository %s not found"
+msgstr ""
+
+#, python-format
+msgid "repository %s already exists"
+msgstr "版本库 %s 已存在"
+
+#, python-format
+msgid "requirement '%s' not supported"
+msgstr ""
+
+#, python-format
+msgid "%r cannot be used in a tag name"
+msgstr ""
+
+msgid "working copy of .hgtags is changed (please commit .hgtags manually)"
+msgstr ""
+
+#, python-format
+msgid "%s, line %s: %s\n"
+msgstr ""
+
+msgid "cannot parse entry"
+msgstr ""
+
+#, python-format
+msgid "node '%s' is not well formed"
+msgstr ""
+
+#, python-format
+msgid "tag '%s' refers to unknown node"
+msgstr ""
+
+#, python-format
+msgid "unknown revision '%s'"
+msgstr ""
+
+#, python-format
+msgid "filtering %s through %s\n"
+msgstr ""
+
+msgid "journal already exists - run hg recover"
+msgstr ""
+
+msgid "rolling back interrupted transaction\n"
+msgstr "回滚中断的事务\n"
+
+msgid "no interrupted transaction available\n"
+msgstr ""
+
+msgid "rolling back last transaction\n"
+msgstr "回滚最近的事务\n"
+
+#, python-format
+msgid "Named branch could not be reset, current branch still is: %s\n"
+msgstr ""
+
+msgid "no rollback information available\n"
+msgstr "没有回滚信息可用\n"
+
+#, python-format
+msgid "waiting for lock on %s held by %r\n"
+msgstr ""
+
+#, python-format
+msgid "repository %s"
+msgstr ""
+
+#, python-format
+msgid "working directory of %s"
+msgstr ""
+
+#, python-format
+msgid " %s: searching for copy revision for %s\n"
+msgstr ""
+
+#, python-format
+msgid " %s: copy %s:%s\n"
+msgstr ""
+
+msgid "cannot partially commit a merge (do not specify files or patterns)"
+msgstr ""
+
+#, python-format
+msgid "%s not tracked!\n"
+msgstr "%s 没有被跟踪!\n"
+
+msgid "unresolved merge conflicts (see hg resolve)"
+msgstr "未解决的合并冲突(参见 'hg resolve')"
+
+msgid "nothing changed\n"
+msgstr "没有改变\n"
+
+#, python-format
+msgid "trouble committing %s!\n"
+msgstr "提交 '%s' 出错!\n"
+
+msgid "HG: Enter commit message.  Lines beginning with 'HG:' are removed."
+msgstr "HG: 请输入提交日志。以 'HG:' 开始的行会被删除。"
+
+msgid "empty commit message"
+msgstr "空的提交日志"
+
+#, python-format
+msgid "%s does not exist!\n"
+msgstr "%s 不存在!\n"
+
+#, 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 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 "正在搜索修改\n"
+
+#, python-format
+msgid "examining %s:%s\n"
+msgstr ""
+
+msgid "branch already found\n"
+msgstr ""
+
+#, python-format
+msgid "found incomplete branch %s:%s\n"
+msgstr ""
+
+#, python-format
+msgid "found new changeset %s\n"
+msgstr ""
+
+#, python-format
+msgid "request %d: %s\n"
+msgstr ""
+
+#, python-format
+msgid "received %s:%s\n"
+msgstr ""
+
+#, python-format
+msgid "narrowing %d:%d %s\n"
+msgstr ""
+
+#, python-format
+msgid "found new branch changeset %s\n"
+msgstr ""
+
+#, python-format
+msgid "narrowed branch search to %s:%s\n"
+msgstr ""
+
+msgid "already have changeset "
+msgstr ""
+
+msgid "warning: repository is unrelated\n"
+msgstr ""
+
+msgid "repository is unrelated"
+msgstr ""
+
+msgid "found new changesets starting at "
+msgstr ""
+
+#, python-format
+msgid "%d total queries\n"
+msgstr ""
+
+msgid "common changesets up to "
+msgstr ""
+
+msgid "requesting all changes\n"
+msgstr "正在请求全部修改\n"
+
+msgid ""
+"Partial pull cannot be done because other repository doesn't support "
+"changegroupsubset."
+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 ""
+
+#, python-format
+msgid "%d changesets found\n"
+msgstr "已发现 %d 个修改集\n"
+
+msgid "list of changesets:\n"
+msgstr ""
+
+#, python-format
+msgid "empty or missing revlog for %s"
+msgstr ""
+
+#, python-format
+msgid "add changeset %s\n"
+msgstr ""
+
+msgid "adding changesets\n"
+msgstr "正在增加修改集\n"
+
+msgid "received changelog group is empty"
+msgstr ""
+
+msgid "adding manifests\n"
+msgstr "正在增加清单\n"
+
+msgid "adding file changes\n"
+msgstr "正在增加文件改变\n"
+
+#, python-format
+msgid "adding %s revisions\n"
+msgstr ""
+
+msgid "received file revlog group is empty"
+msgstr ""
+
+#, python-format
+msgid " (%+d heads)"
+msgstr ""
+
+#, python-format
+msgid "added %d changesets with %d changes to %d files%s\n"
+msgstr "已增加 %d 个修改集,包含 %d 个改变,修改了 %d 个文件%s\n"
+
+msgid "updating the branch cache\n"
+msgstr ""
+
+msgid "Unexpected response from remote server:"
+msgstr ""
+
+msgid "operation forbidden by server"
+msgstr ""
+
+msgid "locking the remote repository failed"
+msgstr ""
+
+msgid "the server sent an unknown error code"
+msgstr ""
+
+msgid "streaming all changes\n"
+msgstr ""
+
+#, python-format
+msgid "%d files to transfer, %s of data\n"
+msgstr ""
+
+#, python-format
+msgid "adding %s (%s)\n"
+msgstr ""
+
+#, python-format
+msgid "transferred %s in %.1f seconds (%s/sec)\n"
+msgstr ""
+
+msgid "no [smtp]host in hgrc - cannot send mail"
+msgstr ""
+
+#, python-format
+msgid "sending mail: smtp host %s, port %s\n"
+msgstr ""
+
+msgid "can't use TLS: Python SSL support not installed"
+msgstr ""
+
+msgid "(using tls)\n"
+msgstr ""
+
+#, python-format
+msgid "(authenticating to mail server as %s)\n"
+msgstr ""
+
+#, python-format
+msgid "sending mail: %s\n"
+msgstr ""
+
+msgid "smtp specified as email transport, but no smtp host configured"
+msgstr ""
+
+#, python-format
+msgid "%r specified as email transport, but not in PATH"
+msgstr ""
+
+#, python-format
+msgid "ignoring invalid sendcharset: %s\n"
+msgstr ""
+
+#, python-format
+msgid "invalid email address: %s"
+msgstr ""
+
+#, python-format
+msgid "invalid local address: %s"
+msgstr ""
+
+msgid "'\\n' and '\\r' disallowed in filenames"
+msgstr ""
+
+#, python-format
+msgid "failed to remove %s from manifest"
+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 ""
+
+#, python-format
+msgid "case-folding collision between %s and %s"
+msgstr ""
+
+msgid "resolving manifests\n"
+msgstr "正在解析清单\n"
+
+#, python-format
+msgid " overwrite %s partial %s\n"
+msgstr ""
+
+#, python-format
+msgid " ancestor %s local %s remote %s\n"
+msgstr ""
+
+#, python-format
+msgid ""
+" conflicting flags for %s\n"
+"(n)one, e(x)ec or sym(l)ink?"
+msgstr ""
+
+#, python-format
+msgid ""
+" local changed %s which remote deleted\n"
+"use (c)hanged version or (d)elete?"
+msgstr ""
+
+msgid "[cd]"
+msgstr ""
+
+msgid "c"
+msgstr ""
+
+#, python-format
+msgid ""
+"remote changed %s which local deleted\n"
+"use (c)hanged version or leave (d)eleted?"
+msgstr ""
+
+#, python-format
+msgid "preserving %s for resolve of %s\n"
+msgstr ""
+
+#, python-format
+msgid "update failed to remove %s: %s!\n"
+msgstr ""
+
+#, python-format
+msgid "getting %s\n"
+msgstr "正在检出 %s\n"
+
+#, python-format
+msgid "moving %s to %s\n"
+msgstr ""
+
+#, python-format
+msgid "getting %s to %s\n"
+msgstr ""
+
+#, python-format
+msgid "warning: detected divergent renames of %s to:\n"
+msgstr ""
+
+#, python-format
+msgid "branch %s not found"
+msgstr ""
+
+msgid "can't merge with ancestor"
+msgstr ""
+
+msgid "nothing to merge (use 'hg update' or check 'hg heads')"
+msgstr ""
+
+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 ""
+
+#, python-format
+msgid "cannot create %s: destination already exists"
+msgstr ""
+
+#, python-format
+msgid "cannot create %s: unable to create destination directory"
+msgstr ""
+
+#, python-format
+msgid "found patch at byte %d\n"
+msgstr ""
+
+msgid "patch generated by hg export\n"
+msgstr ""
+
+#, python-format
+msgid "unable to find '%s' for patching\n"
+msgstr ""
+
+#, python-format
+msgid "patching file %s\n"
+msgstr ""
+
+#, python-format
+msgid "%d out of %d hunks FAILED -- saving rejects to file %s\n"
+msgstr ""
+
+#, python-format
+msgid "bad hunk #%d %s (%d %d %d %d)"
+msgstr ""
+
+#, python-format
+msgid "file %s already exists\n"
+msgstr ""
+
+#, python-format
+msgid "Hunk #%d succeeded at %d %s(offset %d %s).\n"
+msgstr ""
+
+#, python-format
+msgid "Hunk #%d FAILED at %d\n"
+msgstr ""
+
+#, python-format
+msgid "bad hunk #%d"
+msgstr ""
+
+#, python-format
+msgid "bad hunk #%d old text line %d"
+msgstr ""
+
+msgid "could not extract binary patch"
+msgstr ""
+
+#, python-format
+msgid "binary patch is %d bytes, not %d"
+msgstr ""
+
+#, python-format
+msgid "unable to strip away %d dirs from %s"
+msgstr ""
+
+msgid "undefined source and destination files"
+msgstr ""
+
+#, python-format
+msgid "malformed patch %s %s"
+msgstr ""
+
+#, python-format
+msgid "unsupported parser state: %s"
+msgstr ""
+
+#, python-format
+msgid "patch command failed: %s"
+msgstr ""
+
+#, python-format
+msgid "no valid hunks found; trying with %r instead\n"
+msgstr ""
+
+#, python-format
+msgid "saving bundle to %s\n"
+msgstr ""
+
+msgid "adding branch\n"
+msgstr ""
+
+#, python-format
+msgid "cannot %s; remote repository does not support the %r capability"
+msgstr ""
+
+#, python-format
+msgid "unknown compression type %r"
+msgstr ""
+
+#, python-format
+msgid "index %s unknown flags %#04x for format v0"
+msgstr ""
+
+#, python-format
+msgid "index %s unknown flags %#04x for revlogng"
+msgstr ""
+
+#, python-format
+msgid "index %s unknown format %d"
+msgstr ""
+
+msgid "no node"
+msgstr ""
+
+msgid "ambiguous identifier"
+msgstr ""
+
+msgid "no match found"
+msgstr ""
+
+#, python-format
+msgid "incompatible revision flag %x"
+msgstr ""
+
+#, python-format
+msgid "%s not found in the transaction"
+msgstr ""
+
+msgid "unknown base"
+msgstr ""
+
+msgid "consistency error adding group"
+msgstr ""
+
+#, python-format
+msgid "%s looks like a binary file."
+msgstr ""
+
+msgid "can only specify two labels."
+msgstr ""
+
+msgid "warning: conflicts during merge.\n"
+msgstr ""
+
+#, python-format
+msgid "couldn't parse location %s"
+msgstr ""
+
+msgid "could not create remote repo"
+msgstr ""
+
+msgid "remote: "
+msgstr ""
+
+msgid "no suitable response from remote hg"
+msgstr ""
+
+#, python-format
+msgid "push refused: %s"
+msgstr ""
+
+msgid "unsynced changes"
+msgstr ""
+
+msgid "cannot lock static-http repository"
+msgstr ""
+
+msgid "cannot create new static-http repository"
+msgstr ""
+
+#, python-format
+msgid "invalid entry in fncache, line %s"
+msgstr ""
+
+msgid "scanning\n"
+msgstr "正在扫描\n"
+
+#, python-format
+msgid "%d files, %d bytes to transfer\n"
+msgstr "需要传输 %d 个文件,%d 字节\n"
+
+#, python-format
+msgid "sending %s (%d bytes)\n"
+msgstr "正在发送 %s (%d 字节)\n"
+
+msgid "unmatched quotes"
+msgstr "不匹配的引号"
+
+#, python-format
+msgid "style not found: %s"
+msgstr "没有找到样式: %s"
+
+#, python-format
+msgid "%s:%s: parse error"
+msgstr "%s:%s: 解析出错"
+
+#, python-format
+msgid "template file %s: %s"
+msgstr "模版文件 %s: %s"
+
+#, python-format
+msgid "Error expanding '%s%%%s'"
+msgstr ""
+
+msgid "transaction abort!\n"
+msgstr "事务中止!\n"
+
+#, python-format
+msgid "failed to truncate %s\n"
+msgstr "截断 '%s' 失败\n"
+
+msgid "rollback completed\n"
+msgstr "完成回滚\n"
+
+#, python-format
+msgid "Not trusting file %s from untrusted user %s, group %s\n"
+msgstr ""
+
+#, python-format
+msgid ""
+"Failed to parse %s\n"
+"%s"
+msgstr ""
+"解析 '%s' 失败\n"
+"%s"
+
+#, python-format
+msgid "Ignored: %s\n"
+msgstr ""
+
+#, python-format
+msgid "unable to open %s: %s"
+msgstr ""
+
+#, python-format
+msgid ""
+"failed to parse %s\n"
+"%s"
+msgstr ""
+
+#, python-format
+msgid ""
+"Error in configuration section [%s] parameter '%s':\n"
+"%s"
+msgstr ""
+
+#, python-format
+msgid "Ignoring untrusted configuration option %s.%s = %s\n"
+msgstr ""
+
+#, python-format
+msgid ""
+"Error in configuration section [%s]:\n"
+"%s"
+msgstr ""
+
+msgid "enter a commit username:"
+msgstr ""
+
+#, python-format
+msgid "No username found, using '%s' instead\n"
+msgstr ""
+
+msgid "Please specify a username."
+msgstr ""
+
+#, python-format
+msgid "username %s contains a newline\n"
+msgstr ""
+
+msgid "unrecognized response\n"
+msgstr ""
+
+msgid "response expected"
+msgstr ""
+
+msgid "password: "
+msgstr "密码: "
+
+msgid "edit failed"
+msgstr ""
+
+msgid "http authorization required"
+msgstr "需要 http 授权"
+
+msgid "http authorization required\n"
+msgstr "需要 http 授权\n"
+
+#, python-format
+msgid "realm: %s\n"
+msgstr "领域: %s\n"
+
+#, python-format
+msgid "user: %s\n"
+msgstr "用户: %s\n"
+
+msgid "user:"
+msgstr "用户:"
+
+#, python-format
+msgid "proxying through http://%s:%s\n"
+msgstr ""
+
+#, python-format
+msgid "http auth: user %s, password %s\n"
+msgstr ""
+
+#, python-format
+msgid "%s, please check your locale settings"
+msgstr ""
+
+#, python-format
+msgid "command '%s' failed: %s"
+msgstr ""
+
+#, python-format
+msgid "path contains illegal component: %s"
+msgstr ""
+
+#, python-format
+msgid "path %r is inside repo %r"
+msgstr ""
+
+#, python-format
+msgid "path %r traverses symbolic link %r"
+msgstr ""
+
+msgid "Hardlinks not supported"
+msgstr ""
+
+msgid "user name not available - set USERNAME environment variable"
+msgstr ""
+
+#, python-format
+msgid "exited with status %d"
+msgstr ""
+
+#, python-format
+msgid "killed by signal %d"
+msgstr ""
+
+#, python-format
+msgid "stopped by signal %d"
+msgstr ""
+
+msgid "invalid exit code"
+msgstr ""
+
+#, python-format
+msgid "could not symlink to %r: %s"
+msgstr ""
+
+#, python-format
+msgid "invalid date: %r "
+msgstr ""
+
+#, python-format
+msgid "date exceeds 32 bits: %d"
+msgstr ""
+
+#, python-format
+msgid "impossible time zone offset: %d"
+msgstr ""
+
+#, python-format
+msgid "invalid day spec: %s"
+msgstr ""
+
+#, python-format
+msgid "%.0f GB"
+msgstr ""
+
+#, python-format
+msgid "%.1f GB"
+msgstr ""
+
+#, python-format
+msgid "%.2f GB"
+msgstr ""
+
+#, python-format
+msgid "%.0f MB"
+msgstr ""
+
+#, python-format
+msgid "%.1f MB"
+msgstr ""
+
+#, python-format
+msgid "%.2f MB"
+msgstr ""
+
+#, python-format
+msgid "%.0f KB"
+msgstr ""
+
+#, python-format
+msgid "%.1f KB"
+msgstr ""
+
+#, python-format
+msgid "%.2f KB"
+msgstr ""
+
+#, python-format
+msgid "%.0f bytes"
+msgstr ""
+
+msgid "cannot verify bundle or remote repos"
+msgstr ""
+
+msgid "interrupted"
+msgstr ""
+
+#, python-format
+msgid "empty or missing %s"
+msgstr ""
+
+#, python-format
+msgid "data length off by %d bytes"
+msgstr ""
+
+#, python-format
+msgid "index contains %d extra bytes"
+msgstr ""
+
+#, python-format
+msgid "warning: `%s' uses revlog format 1"
+msgstr ""
+
+#, python-format
+msgid "warning: `%s' uses revlog format 0"
+msgstr ""
+
+#, python-format
+msgid "rev %d point to %s changeset %d"
+msgstr ""
+
+#, python-format
+msgid " (expected %s)"
+msgstr ""
+
+#, python-format
+msgid "unknown parent 1 %s of %s"
+msgstr ""
+
+#, python-format
+msgid "unknown parent 2 %s of %s"
+msgstr ""
+
+#, python-format
+msgid "checking parents of %s"
+msgstr ""
+
+#, python-format
+msgid "duplicate revision %d (%d)"
+msgstr ""
+
+#, python-format
+msgid "repository uses revlog format %d\n"
+msgstr ""
+
+msgid "checking changesets\n"
+msgstr ""
+
+#, python-format
+msgid "unpacking changeset %s"
+msgstr ""
+
+msgid "checking manifests\n"
+msgstr ""
+
+msgid "file without name in manifest"
+msgstr ""
+
+#, python-format
+msgid "reading manifest delta %s"
+msgstr ""
+
+msgid "crosschecking files in changesets and manifests\n"
+msgstr ""
+
+#, python-format
+msgid "changeset refers to unknown manifest %s"
+msgstr ""
+
+msgid "in changeset but not in manifest"
+msgstr ""
+
+msgid "in manifest but not in changeset"
+msgstr ""
+
+msgid "checking files\n"
+msgstr ""
+
+#, python-format
+msgid "cannot decode filename '%s'"
+msgstr ""
+
+#, python-format
+msgid "broken revlog! (%s)"
+msgstr ""
+
+msgid "missing revlog!"
+msgstr ""
+
+#, python-format
+msgid "%s not in manifests"
+msgstr ""
+
+#, python-format
+msgid "unpacked size is %s, %s expected"
+msgstr ""
+
+#, python-format
+msgid "unpacking %s"
+msgstr ""
+
+#, python-format
+msgid "empty or missing copy source revlog %s:%s"
+msgstr ""
+
+#, python-format
+msgid "warning: %s@%s: copy source revision is nullid %s:%s"
+msgstr ""
+
+#, python-format
+msgid "checking rename of %s"
+msgstr ""
+
+#, python-format
+msgid "%s in manifests not found"
+msgstr ""
+
+#, python-format
+msgid "warning: orphan revlog '%s'"
+msgstr ""
+
+#, python-format
+msgid "%d files, %d changesets, %d total revisions\n"
+msgstr ""
+
+#, python-format
+msgid "%d warnings encountered!\n"
+msgstr ""
+
+#, python-format
+msgid "%d integrity errors encountered!\n"
+msgstr ""
+
+#, python-format
+msgid "(first damaged changeset appears to be %d)\n"
+msgstr ""