[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Re: Simplified Chinese Translation of TortoiseSVN DOC

From: Garfield Yao <field977_at_gmail.com>
Date: Wed, 11 Mar 2009 23:00:55 +0800

Dongsheng Song wrote:
> Yes, you should modify trunk/doc/po/TortoiseSVN_zh_CN.po.
>
> If you like to translate, please join i18n-zh[1], commit to it[2].
> After a review, I can commit it to tsvn for you. Or send to the
> mail list[2].
>
> [1] http://code.google.com/p/i18n-zh/
> [2] https://i18n-zh.googlecode.com/svn/trunk/doc/TortoiseSVN/
>
>
> [3] "translators" <translators_at_tortoisesvn.tigris.org>,
>
> ---
> Dongsheng Song
>
>
> 2009/3/11 Garfield Yao <field977_at_gmail.com>:
>
>> Hi Developers,
>>
>> I am a TorroiseSVN user, and my native language is Chinese(Simplified). I
>> can translate the TortoiseSVN DOC into Simplified Chinese(zh_CN) in spare
>> time. But I didn't know the detail of translating. Who can give me some
>> instruction? (Such as, Which file should I modify, is it
>> "trunk/doc/po/TortoiseSVN_zh_CN.po"? After translating, how do I commit the
>> file to project?)
>> Thanks a lot!
>>
>> Garfield Yao
>>
>>
Thanks for your reply.
How to join i18n-zh? I have never worked with GoogleCode.
Downloading TortoiseSVN_zh_CN.po and reading it expend some time. So I
translated only a little of sentences today. I will speed up
translation in days come. Please see the attachment.

Garfield Yao

------------------------------------------------------
http://tortoisesvn.tigris.org/ds/viewMessage.do?dsForumId=757&dsMessageId=1308261

To unsubscribe from this discussion, e-mail: [dev-unsubscribe_at_tortoisesvn.tigris.org].

#
# Simplified Chinese translation for TortoiseSVN
# Copyright (C) 2004-2008 the TortoiseSVN team
# This file is distributed under the same license as TortoiseSVN
#
# Last commit by:
# $Author: cauchy $
# $Date: 2009-03-05 16:10:41 +0800 (星期四, 2009-03-05) $
# $Rev: 15568 $
#
# Authors:
# Dongsheng Song <dongsheng.song_at_gmail.com>, 2006-2008
# rocksun <daijun_at_gmail.com>, 2006-2007
# amo <amosir_at_gmail.com>, 2006
# Jaxx_chen <Jaxx.Chen_at_gmail.com>, 2006
# kkeric <kkeric_at_sina.com>, 2006
# liuheqi <liuheqi_at_gmail.com>, 2006
# lulu2me <lu-liuyun_at_163.com>, 2006
# Stan <thinkernel_at_yeah.net>, 2006
# sunjing <sunjingzhi_at_gmail.com>, 2006
# Tan Ruyan <try876_at_gmail.com>, 2006
# xingyu.wang <xingyu.wang_at_gmail.com>, 2006
# yasakya <yasakya_at_gmail.com>, 2006
#
# Update to new pot:
# msgmerge --update TortoiseSVN_zh_CN.po TortoiseSVN.pot
#
# Check translation:
# msgfmt --statistics -c TortoiseSVN_zh_CN.po
#
# Please format your translation before commit:
# msgmerge --width=80 -o TortoiseSVN_zh_CN_new.po TortoiseSVN_zh_CN.po TortoiseSVN.pot
# mv -f TortoiseSVN_zh_CN_new.po TortoiseSVN_zh_CN.po
#
# Dictionary:
# BASE revision 基础版本
# blame 追溯
# checkout 检出
# default 默认
# HEAD revision 最新版本
# overlay 重载
# remove 删除
# rename 改名
# repository 版本库
# revert 恢复
# revision 版本
# Subversion book Subversion 手册
# undo 撤销
# unified diff 标准差异
# unversioned 未版本控制
# versioned 已版本控制
# working copy 工作副本
#
msgid ""
msgstr ""
"Project-Id-Version: TortoiseSVN Documentation\n"
"POT-Creation-Date: 2009-03-04 23:21 +0000\n"
"PO-Revision-Date: 2008-12-24 09:40+0800\n"
"Last-Translator: Dongsheng Song <dongsheng.song_at_gmail.com>\n"
"Language-Team: TortoiseSVN translation team <dev_at_tortoisesvn.tigris.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"

#. When image changes, this message will be marked fuzzy or untranslated for you.
#. It doesn't matter what you translate it to: it's not used at all.
#. (None)
msgid "@@image: 'images/svn_move.png'; md5=THIS FILE DOESN'T EXIST"
msgstr ""

#. (title)
#. (secondary)
msgid "TortoiseSVN"
msgstr "TortoiseSVN"

#. (subtitle)
msgid "A Subversion client for Windows"
msgstr "针对 Windows 平台的 Subversion 客户端"

#. TRANSLATORS: "$MajorVersion$.$MinorVersion$.$MicroVersion$" is a literal value and should not be translated
#. (subtitle)
msgid "Version $MajorVersion$.$MinorVersion$.$MicroVersion$"
msgstr "版本 $MajorVersion$.$MinorVersion$.$MicroVersion$"

#. (edition)
msgid "First"
msgstr "首先"

#. (firstname)
msgid "Stefan"
msgstr "Stefan"

#. (surname)
msgid "Küng"
msgstr "Küng"

#. (firstname)
msgid "Lübbe"
msgstr "Lübbe"

#. (surname)
msgid "Onken"
msgstr "Onken"

#. (firstname)
msgid "Simon"
msgstr "Simon"

#. (surname)
msgid "Large"
msgstr "Large"

#. (title)
msgid "Preface"
msgstr "前言"

#. (para)
msgid "Do you work in a team?"
msgstr "你是否在一个团队中工作?"

#. (para)
msgid ""
"Has it ever happened that you were working on a file, and someone else was "
"working on the same file at the same time? Did you lose your changes to that "
"file because of that?"
msgstr ""
"是否发生过这样的情况: 当你在修改一个文件时,其他人也在修改这个文件?而你是否因"
"此丢失过自己所作的修改呢?"

#. (para)
msgid ""
"Have you ever saved a file, and then wanted to revert the changes you made? "
"Have you ever wished you could see what a file looked like some time ago?"
msgstr ""
"是否曾经保存完一个修改,然后又想把个文件恢复到修改以前的状态?是否曾经希望能够"
"看到一个文件以前某个时间点的状态?"

#. (para)
msgid ""
"Have you ever found a bug in your project and wanted to know when that bug "
"got into your files?"
msgstr "是否曾经在项目中发现了一个 BUG,然后想调查它是什么时候产生的?"

#. (para)
msgid ""
"If you answered <quote>yes</quote> to one of these questions, then "
"TortoiseSVN is for you! Just read on to find out how TortoiseSVN can help you "
"in your work. It's not that difficult."
msgstr ""
"如果这些问题中的任何一个回答<quote>是</quote>的话,那么 TortoiseSVN 就是为你准"
"备的!请继续读下去,你就能知道怎样让 TortoiseSVN 对你的工作起到帮助,这其实并"
"不困难。"

#. (title)
msgid "Audience"
msgstr "致读者"

#. (para)
msgid ""
"This book is written for computer literate folk who want to use Subversion to "
"manage their data, but are uncomfortable using the command line client to do "
"so. Since TortoiseSVN is a windows shell extension it's assumed that the user "
"is familiar with the windows explorer and knows how to use it."
msgstr ""
"本书面向这样的计算机用户: 希望使用 Subversion 管理数据,但又不愿意使用 "
"Subversion 的命令行客户端。因为 TortoiseSVN 是 Windows 的外壳扩展应用,所以我"
"们假设用户很熟悉 Windows 资源管理器的使用。"

#. (title)
msgid "Reading Guide"
msgstr "阅读指南"

#. (para)
#, fuzzy
msgid ""
"This <xref linkend=\"tsvn-preface\"/> explains a little about the TortoiseSVN "
"project, the community of people who work on it, and the licensing conditions "
"for using it and distributing it."
msgstr ""
"在<emphasis>前言</emphasis>里简单介绍了 TortoiseSVN 项目,以及其开发团体,还介"
"绍了使用及分发该软件应遵循的许可证。"

#. (para)
#, fuzzy
msgid ""
"The <xref linkend=\"tsvn-introduction\"/> explains what TortoiseSVN is, what "
"it does, where it comes from and the basics for installing it on your PC."
msgstr ""
"在<emphasis>简介</emphasis>一章里解释了 TortoiseSVN 是什么,能够做什么,它的开"
"发过程以及安装相关的基础知识。"

#. (para)
#, fuzzy
msgid ""
"In <xref linkend=\"tsvn-basics\"/> we give a short introduction to the "
"<emphasis>Subversion</emphasis> revision control system which underlies "
"TortoiseSVN. This is borrowed from the documentation for the Subversion "
"project and explains the different approaches to version control, and how "
"Subversion works."
msgstr ""
"在<emphasis>基本概念</emphasis>一章里简短地介绍了 <emphasis>Subversion</"
"emphasis> 版本控制系统,Subversion 是 TortoiseSVN 的基础。这一章引用了 "
"Subversion 工程的文档,介绍了各种版本控制模式,以及 Subversion 的工作原理。"

#. (para)
#, fuzzy
msgid ""
"The chapter on <xref linkend=\"tsvn-repository\"/> explains how to set up a "
"local repository, which is useful for testing Subversion and TortoiseSVN "
"using a single PC. It also explains a bit about repository administration "
"which is also relevant to repositories located on a server. There is also a "
"section here on how to setup a server if you need one."
msgstr ""
"<emphasis>版本库</emphasis>这一章解释了如何设置一个本地版本库,怎样在一台 PC "
"上测试 Subversion 和 TortoiseSVN,这一章也介绍了一点版本库管理,也就是如何管理"
"服务器上的版本库。"

#. (para)
#, fuzzy
msgid ""
"The <xref linkend=\"tsvn-dug\"/> is the most important section as it explains "
"all the main features of TortoiseSVN and how to use them. It takes the form "
"of a tutorial, starting with checking out a working copy, modifying it, "
"committing your changes, etc. It then progresses to more advanced topics."
msgstr ""
"<emphasis>日常使用指南</emphasis>是最重要的章节,介绍了 TortoiseSVN 最主要特性"
"的使用。它以教程的形式,从检出一个工作副本开始,然后修改,提交你的修改,之后进"
"入高级主题。"

#. (para)
#, fuzzy
msgid ""
"<xref linkend=\"tsvn-subwcrev\"/> is a separate program included with "
"TortoiseSVN which can extract the information from your working copy and "
"write it into a file. This is useful for including build information in your "
"projects."
msgstr ""
"<emphasis>SubWCRev</emphasis> 是 TortoiseSVN 的一个独立程序,可以从工作副本抽"
"取信息并记录到一个文件,可以用来在项目中包含构建信息。"

#. (para)
#, fuzzy
msgid ""
"The <xref linkend=\"tsvn-howto\"/> section answers some common questions "
"about performing tasks which are not explicitly covered elsewhere."
msgstr ""
"<emphasis>我该怎么做 …</emphasis>这一节回答了一些操作方面的常见问题。这些常见"
"问题在其他章节没有被明确的提到过。"

#. (para)
#, fuzzy
msgid ""
"The section on <xref linkend=\"tsvn-automation\"/> shows how the TortoiseSVN "
"GUI dialogs can be called from the command line. This is useful for scripting "
"where you still need user interaction."
msgstr ""
"<emphasis>自动化 TortoiseSVN</emphasis> 这一小节展示了如何使用命令行调用 "
"TortoiseSVN 的 GUI 对话框,当你在使用脚本时仍希望用户交互时非常有用。"

#. (para)
#, fuzzy
msgid ""
"The <xref linkend=\"tsvn-cli\"/> give a correlation between TortoiseSVN "
"commands and their equivalents in the Subversion command line client "
"<literal>svn.exe</literal>."
msgstr ""
"<emphasis>命令行交叉索引</emphasis>给出了 TortoiseSVN 命令与其对应的 "
"Subversion 命令行工具 <literal>svn.exe</literal> 命令之间的关系。"

#. (title)
msgid "TortoiseSVN is free!"
msgstr "TortoiseSVN 是完全免费的!"

#. (para)
msgid ""
"TortoiseSVN is free. You don't have to pay to use it, and you can use it any "
"way you want. It is developed under the GNU General Public License (GPL)."
msgstr ""
"TortoiseSVN 是免费的,你不需要为使用它而付费,可以用任何你希望的方式使用它,它"
"开发的许可证是 GNU General Public License (GPL)。"

#. (para)
msgid ""
"TortoiseSVN is an Open Source project. That means you have full read access "
"to the source code of this program. You can browse it on this link <ulink url="
"\"http://tortoisesvn.tigris.org/svn/tortoisesvn/\"><citetitle>http://"
"tortoisesvn.tigris.org/svn/tortoisesvn/</citetitle></ulink>. You will be "
"prompted to enter username and password. The username is <literal>guest</"
"literal>, and the password must be left blank. The most recent version (where "
"we're currently working) is located under <filename>/trunk/</filename>, and "
"the released versions are located under <filename>/tags/</filename>."
msgstr ""
"TortoiseSVN 是一个开源软件项目。这意味着你可以取得它的全部源代码。你可以访问以"
"下链接得到源代码:<ulink url=\"http://tortoisesvn.tigris.org/svn/tortoisesvn/"
"\"><citetitle>http://tortoisesvn.tigris.org/svn/tortoisesvn/</citetitle></"
"ulink>。你会被提示输入用户名称和密码。用户名称是 <literal>guest</literal>,不"
"能填写密码。最新的版本(我们当前正在开发的)放在 <filename>/trunk/</filename> ,"
"已发布版本放在 <filename>/tags/</filename> 。"

#. (title)
msgid "Community"
msgstr "社区"

#. (para)
#, fuzzy
msgid ""
"Both TortoiseSVN and Subversion are developed by a community of people who "
"are working on those projects. They come from different countries all over "
"the world and work together to create wonderful programs."
msgstr ""
"TortoiseSVN 和 Subversion 由工作在这些项目的社区成员开发。他们来自全世界不同的"
"国家,联合起来创造美妙的程序。"

#. (title)
msgid "Acknowledgments"
msgstr "致谢"

#. (term)
msgid "Tim Kemp"
msgstr "时间机器"

#. (para)
msgid "for founding the TortoiseSVN project"
msgstr "TortoiseSVN 项目的发起者"

#. (term)
msgid "Stefan Küng"
msgstr "Stefan Küng"

#. (para)
msgid "for the hard work to get TortoiseSVN to what it is now"
msgstr "TortoiseSVN 的主要开发者"

#. (term)
msgid "Lübbe Onken"
msgstr "Lübbe Onken"

#. (para)
#, fuzzy
msgid ""
"for the beautiful icons, logo, bug hunting, translating and managing the "
"translations"
msgstr "制作了漂亮的图标、Logo,错误跟踪及文档维护"

#. (term)
msgid "Simon Large"
msgstr "Simon Large"

#. (para)
msgid "for helping with the documentation and bug hunting"
msgstr "协助文档编制和错误跟踪"

#. (term)
msgid "The Subversion Book"
msgstr "Subversion 手册"

#. (para)
msgid ""
"for the great introduction to Subversion and its chapter 2 which we copied "
"here"
msgstr "为了对 Subversion 大量介绍,我们复制了其第二章"

#. (term)
msgid "The Tigris Style project"
msgstr "Tigris 样式项目"

#. (para)
msgid "for some of the styles which are reused in this documentation"
msgstr "我们在本文重用了一些样式"

#. (term)
msgid "Our Contributors"
msgstr "我们的贡献者"

#. (para)
msgid ""
"for the patches, bug reports and new ideas, and for helping others by "
"answering questions on our mailing list."
msgstr "为了那些补丁,问题报告和新创意,以及在邮件列表里通过回答问题帮助别人。"

#. (term)
msgid "Our Donators"
msgstr "我们的捐赠者"

#. (para)
msgid "for many hours of joy with the music they sent us"
msgstr "他们发送给我们的那些音乐带来了快乐"

#. (title)
msgid "Terminology used in this document"
msgstr "本文使用的术语"

#. (para)
msgid ""
"To make reading the docs easier, the names of all the screens and Menus from "
"TortoiseSVN are marked up in a different font. The <guilabel>Log Dialog</"
"guilabel> for instance."
msgstr ""
"为了使文档更加易读,所有 TortoiseSVN 的窗口名和菜单名使用不同的字体,例如"
"<guilabel>日志对话框</guilabel>。"

#. (para)
msgid ""
"A menu choice is indicated with an arrow. <menuchoice><guimenu>TortoiseSVN</"
"guimenu><guimenuitem>Show Log</guimenuitem></menuchoice> means: select "
"<emphasis>Show Log</emphasis> from the <emphasis>TortoiseSVN</emphasis> "
"context menu."
msgstr ""
"菜单选择使用箭头显示。<menuchoice><guimenu>TortoiseSVN</guimenu><guimenuitem>"
"显示日志</guimenuitem></menuchoice>的含义是: 从<emphasis>TortoiseSVN</"
"emphasis>右键菜单选择<emphasis>显示日志</emphasis>。"

#. (para)
msgid ""
"Where a local context menu appears within one of the TortoiseSVN dialogs, it "
"is shown like this: <menuchoice><guimenu>Context Menu</"
"guimenu><guimenuitem>Save As ...</guimenuitem></menuchoice>"
msgstr ""
"在 TortoiseSVN 对话框中出现的右键菜单,可能是这个样子: <menuchoice><guimenu>右"
"键菜单</guimenu><guimenuitem>另存为 ...</guimenuitem></menuchoice>"

#. (para)
msgid ""
"User Interface Buttons are indicated like this: Press <guibutton>OK</"
"guibutton> to continue."
msgstr "用户界面按钮的显示形式: 点击<guibutton>OK</guibutton>以继续。"

#. (para)
#, fuzzy
msgid ""
"User Actions are indicated using a bold font. <keycap>Alt+A</keycap>: press "
"the <keycap>Alt</keycap>-Key on your keyboard and while holding it down press "
"the <keycap>A</keycap>-Key as well. <action>Right-drag</action>: press the "
"right mouse button and while holding it down <emphasis>drag</emphasis> the "
"items to the new location."
msgstr ""
"用户动作使用粗体显示。<action>ALT+A</action>: 按下键盘的<keycap>ALT</keycap>"
"键,同时按下<keycap>A</keycap>键,<action>右键拖拽</action>: 点击鼠标邮件并保"
"持,将项目<emphasis>拖放</emphasis>到新位置。"

#. (para)
msgid ""
"System output and keyboard input is indicated with a <literal>different</"
"literal> font as well."
msgstr "系统输出和键盘输入也使用<literal>不同的</literal>字体显示。"

#. (para)
msgid "Important notes are marked with an icon."
msgstr "使用图标标记的重要提示。"

#. (para)
msgid "Tips that make your life easier."
msgstr "技巧让你的生活更加简单。"

#. (para)
msgid "Places where you have to be careful what you are doing."
msgstr "操作时需要小心的地方。"

#. (para)
msgid ""
"Where extreme care has to be taken, data corruption or other nasty things may "
"occur if these warnings are ignored."
msgstr ""
"需要特别关注的地方,如果忽略这些警告,会导致数据损坏或其他令人讨厌的事情。"

#. (title)
#. (title)
#. (title)
msgid "Introduction"
msgstr "简介"

#. (primary)
msgid "version control"
msgstr "版本控制"

#. (para)
msgid ""
"Version control is the art of managing changes to information. It has long "
"been a critical tool for programmers, who typically spend their time making "
"small changes to software and then undoing or checking some of those changes "
"the next day. Imagine a team of such developers working concurrently - and "
"perhaps even simultaneously on the very same files! - and you can see why a "
"good system is needed to <emphasis>manage the potential chaos</emphasis>."
msgstr ""
"版本控制是管理信息修改的艺术,它一直是程序员最重要的工具,程序员经常会花时间作"
"出小的修改,然后又在某一天取消了这些修改,想象一下一个开发者并行工作的团队 - "
"或许是同时工作在同一个文件!- 你就会明白为什么一个好的系统需要<emphasis>管理潜"
"在的混乱</emphasis>。"

#. (title)
msgid "What is TortoiseSVN?"
msgstr "什么是 TortoiseSVN?"

#. (para)
msgid ""
"TortoiseSVN is a free open-source client for the <firstterm>Subversion</"
"firstterm> version control system. That is, TortoiseSVN manages files and "
"directories over time. Files are stored in a central <firstterm>repository</"
"firstterm>. The repository is much like an ordinary file server, except that "
"it remembers every change ever made to your files and directories. This "
"allows you to recover older versions of your files and examine the history of "
"how and when your data changed, and who changed it. This is why many people "
"think of Subversion and version control systems in general as a sort of "
"<quote>time machine</quote>."
msgstr ""
"TortoiseSVN 是 <firstterm>Subversion</firstterm> 版本控制系统的一个免费开源客"
"户端,可以超越时间的管理文件和目录。文件保存在中央<firstterm>版本库</"
"firstterm>,除了能记住文件和目录的每次修改以外,版本库非常像普通的文件服务器。"
"你可以将文件恢复到过去的版本,并且可以通过检查历史知道数据做了哪些修改,谁做的"
"修改。这就是为什么许多人将 Subversion 和版本控制系统看作一种<quote>时间机器</"
"quote>。"

#. (para)
msgid ""
"Some version control systems are also software configuration management (SCM) "
"systems. These systems are specifically tailored to manage trees of source "
"code, and have many features that are specific to software development - such "
"as natively understanding programming languages, or supplying tools for "
"building software. Subversion, however, is not one of these systems; it is a "
"general system that can be used to manage <emphasis>any</emphasis> collection "
"of files, including source code."
msgstr ""
"某些版本控制系统也是软件配置管理(SCM)系统,这种系统经过精巧的设计,专门用来管"
"理源代码树,并且具备许多与软件开发有关的特性 - 比如,对编程语言的支持,或者提"
"供程序构建工具。不过 Subversion 并不是这样的系统;它是一个通用系统,可以管理"
"<emphasis>任何</emphasis>类型的文件集,包括源代码。"

#. (title)
msgid "TortoiseSVN's History"
msgstr "TortoiseSVN 的历史"

#. (para)
msgid ""
"In 2002, Tim Kemp found that Subversion was a very good version control "
"system, but it lacked a good GUI client. The idea for a Subversion client as "
"a Windows shell integration was inspired by the similar client for CVS named "
"TortoiseCVS."
msgstr ""
"在2002年,Tim Kemp 发现 Subversion 是一个很好的版本控制系统,但是没有好的图形"
"化客户端,创建一个作为 Windows 外壳集成的 Subversion 客户端的创意来自 "
"TortoiseCVS,一个非常类似的 CVS 客户端。"

#. (para)
msgid ""
"Tim studied the source code of TortoiseCVS and used it as a base for "
"TortoiseSVN. He then started the project, registered the domain "
"<literal>tortoisesvn.org</literal> and put the source code online. During "
"that time, Stefan Küng was looking for a good and free version control system "
"and found Subversion and the source for TortoiseSVN. Since TortoiseSVN was "
"still not ready for use then he joined the project and started programming. "
"Soon he rewrote most of the existing code and started adding commands and "
"features, up to a point where nothing of the original code remained."
msgstr ""
"Tim 学习了 TortoiseCVS 的源代码,将其作为 TortoiseSVN 的基础,然后开始这个项"
"目,注册了域名 <literal>tortoisesvn.org</literal>,并将源代码提交到网上。此时 "
"Stefan Küng 正在寻找一个好的免费版本控制系统,他发现了 Subversion 和 "
"TortoiseSVN,由于 TortoiseSVN 还不能够使用,他加入了这个项目并开始编程。很快他"
"便重写了大多数代码,并且开始添加命令和特性,此时,最初的代码都已经不复存在了。"

#. (para)
msgid ""
"As Subversion became more stable it attracted more and more users who also "
"started using TortoiseSVN as their Subversion client. The user base grew "
"quickly (and is still growing every day). That's when Lübbe Onken offered to "
"help out with some nice icons and a logo for TortoiseSVN. And he takes care "
"of the website and manages the translation."
msgstr ""
"随着 Subversion 越来越稳定,吸引了越来越多的用户开始使用 TortoiseSVN 作为他们"
"的 Subversion 客户端。用户群增长迅速(每天都持续增长)。Lübbe Onken 提供了许多漂"
"亮图标和 TortoiseSVN 的 logo,细心照料网站并且管理翻译。"

#. (title)
msgid "TortoiseSVN's Features"
msgstr "TortoiseSVN 的特性"

#. (para)
msgid ""
"What makes TortoiseSVN such a good Subversion client? Here's a short list of "
"features."
msgstr ""
"是什么让 TortoiseSVN 成为一个好的 Subversion 客户端?下面是一个简短的特性列"
"表。"

#. (term)
msgid "Shell integration"
msgstr "外壳集成"

#. (primary)
msgid "Windows shell"
msgstr "Windows 外壳"

#. (primary)
msgid "explorer"
msgstr "资源管理器"

#. (para)
msgid ""
"TortoiseSVN integrates seamlessly into the Windows shell (i.e. the explorer). "
"This means you can keep working with the tools you're already familiar with. "
"And you do not have to change into a different application each time you need "
"functions of the version control!"
msgstr ""
"TortoiseSVN 与Windows 外壳(例如资源管理器)无缝集成,你可以保持在熟悉的工具上工"
"作,不需要在每次使用版本控制功能时切换应用程序。"

#. (para)
msgid ""
"And you are not even forced to use the Windows Explorer. TortoiseSVN's "
"context menus work in many other file managers, and in the File/Open dialog "
"which is common to most standard Windows applications. You should, however, "
"bear in mind that TortoiseSVN is intentionally developed as extension for the "
"Windows Explorer. Thus it is possible that in other applications the "
"integration is not as complete and e.g. the icon overlays may not be shown."
msgstr ""
"并且你不一定必须使用 Windows 资源管理器,TortoiseSVN 的右键菜单可以工作在其他"
"文件管理器,以及文件/打开对话框等标准的 Windows 应用程序中。你必须牢记,"
"TortoiseSVN 是有意作为 Windows 资源管理器的扩展开发,因此在其他程序可能集成的"
"并不完整,例如重载图标可能不会显示。"

#. (term)
msgid "Icon overlays"
msgstr "重载图标"

#. (para)
msgid ""
"The status of every versioned file and folder is indicated by small overlay "
"icons. That way you can see right away what the status of your working copy "
"is."
msgstr ""
"每个版本控制的文件和目录的状态使用小的重载图标表示,可以让你立刻看出工作副本的"
"状态。"

#. (term)
msgid "Easy access to Subversion commands"
msgstr "Subversion 命令的简便访问"

#. (para)
msgid ""
"All Subversion commands are available from the explorer context menu. "
"TortoiseSVN adds its own submenu there."
msgstr ""
"所有的 Subversion 命令存在于资源管理器的右键菜单,TortoiseSVN 在那里添加子菜"
"单。"

#. (para)
msgid ""
"Since TortoiseSVN is a Subversion client, we would also like to show you some "
"of the features of Subversion itself:"
msgstr ""
"因为 TortoiseSVN 是一个 Subversion 客户端,我们也很愿意为你展示一些 "
"Subversion 本身的特性: "

#. (term)
msgid "Directory versioning"
msgstr "目录版本控制"

#. (para)
msgid ""
"CVS only tracks the history of individual files, but Subversion implements a "
"<quote>virtual</quote> versioned filesystem that tracks changes to whole "
"directory trees over time. Files <emphasis>and</emphasis> directories are "
"versioned. As a result, there are real client-side <command>move</command> "
"and <command>copy</command> commands that operate on files and directories."
msgstr ""
"CVS 只能追踪单个文件的历史,但是 Subversion 实现了一个<quote>虚拟</quote>文件"
"系统,可以追踪整个目录树的修改,文件<emphasis>和</emphasis>目录都是版本控制"
"的,结果就是可以在客户端对文件和目录执行<command>移动</command>和<command>复制"
"</command>命令。"

#. (term)
msgid "Atomic commits"
msgstr "原子提交"

#. (para)
msgid ""
"A commit either goes into the repository completely, or not at all. This "
"allows developers to construct and commit changes as logical chunks."
msgstr ""
"提交要么完全进入版本库,要么一点都没有,这允许开发者以一个逻辑块提交修改。"

#. (term)
msgid "Versioned metadata"
msgstr "版本控制的元数据"

#. (para)
msgid ""
"Each file and directory has an invisible set of <quote>properties</quote> "
"attached. You can invent and store any arbitrary key/value pairs you wish. "
"Properties are versioned over time, just like file contents."
msgstr ""
"每个文件和目录都有一组附加的<quote>属性</quote>,你可以发明和保存任意的键/值"
"对,属性是版本控制的,就像文件内容。"

#. (term)
msgid "Choice of network layers"
msgstr "可选的网络层"

#. (para)
msgid ""
"Subversion has an abstracted notion of repository access, making it easy for "
"people to implement new network mechanisms. Subversion's <quote>advanced</"
"quote> network server is a module for the Apache web server, which speaks a "
"variant of HTTP called WebDAV/DeltaV. This gives Subversion a big advantage "
"in stability and interoperability, and provides various key features for "
"free: authentication, authorization, wire compression, and repository "
"browsing, for example. A smaller, standalone Subversion server process is "
"also available. This server speaks a custom protocol which can be easily "
"tunneled over ssh."
msgstr ""
"Subversion 在版本库访问方面有一个抽象概念,利于人们去实现新的网络机制,"
"Subversion 的<quote>高级</quote>服务器是 Apache 网络服务器的一个模块,使用 "
"HTTP 的变种协议 WebDAV/DeltaV 通讯,这给了 Subversion 在稳定性和交互性方面很大"
"的好处,可以直接使用服务器的特性,例如认证、授权、传输压缩和版本库浏览等等。也"
"有一个轻型的,单独运行的 Subversion 服务器,这个服务器使用自己的协议,可以轻松"
"的用 SSH 封装。"

#. (term)
msgid "Consistent data handling"
msgstr "一致的数据处理"

#. (para)
msgid ""
"Subversion expresses file differences using a binary differencing algorithm, "
"which works identically on both text (human-readable) and binary (human-"
"unreadable) files. Both types of files are stored equally compressed in the "
"repository, and differences are transmitted in both directions across the "
"network."
msgstr ""
"Subversion 使用二进制文件差异算法展现文件的区别,对于文本(人类可读)和二进制(人"
"类不可读)文件具备一致的操作方式,两种类型的文件都压缩存放在版本库中,差异在网"
"络上双向传递。"

#. (term)
msgid "Efficient branching and tagging"
msgstr "高效的分支和标签"

#. (para)
msgid ""
"The cost of branching and tagging need not be proportional to the project "
"size. Subversion creates branches and tags by simply copying the project, "
"using a mechanism similar to a hard-link. Thus these operations take only a "
"very small, constant amount of time, and very little space in the repository."
msgstr ""
"分支与标签的代价不与工程的大小成比例,Subversion 建立分支与标签时只是复制项"
"目,使用了一种类似于硬链接的机制,因而这类操作通常只会花费很少并且相对固定的时"
"间,以及很小的版本库空间。"

#. (term)
msgid "Hackability"
msgstr "良好的维护能力"

#. (para)
msgid ""
"Subversion has no historical baggage; it is implemented as a collection of "
"shared C libraries with well-defined APIs. This makes Subversion extremely "
"maintainable and usable by other applications and languages."
msgstr ""
"Subversion 没有历史负担,它由一系列良好的共享 C 库实现,具有定义良好的 API,这"
"使 Subversion 非常容易维护,可以轻易的被其他语言和程序使用。"

#. (title)
msgid "Installing TortoiseSVN"
msgstr "安装 TortoiseSVN"

#. (title)
msgid "System requirements"
msgstr "系统要求"

#. (para)
msgid ""
"TortoiseSVN runs on Windows 2000 SP2, Windows XP or higher. Windows 98, "
"Windows ME and Windows NT4 are no longer supported since TortoiseSVN 1.2.0, "
"but you can still download the older versions if you really need them."
msgstr ""
"TortoiseSVN 可以运行在 Windows 2000 SP2,Windows XP 或更高的版本。"
"TortoiseSVN 1.2.0 以后不再支持 Windows 98, Windows ME 和 Windows NT4,但是如果"
"需要的话,你仍旧可以下载以前的版本。"

#. (para)
msgid ""
"If you encounter any problems during or after installing TortoiseSVN please "
"refer to <xref linkend=\"tsvn-faq\"/> first."
msgstr ""
"如果在安装 TortoiseSVN 时发现了任何问题,请首先参考<xref linkend=\"tsvn-faq\"/"
">。"

#. (title)
msgid "Installation"
msgstr "安装"

#. (primary)
msgid "install"
msgstr "安装"

#. (para)
msgid ""
"TortoiseSVN comes with an easy to use installer. Double click on the "
"installer file and follow the instructions. The installer will take care of "
"the rest."
msgstr ""
"TortoiseSVN提供一个容易使用的安装程序。双击安装程序文件并按提示操作。安装程序"
"将会完成剩余的步骤。"

#. (para)
msgid "You need Administrator privileges to install TortoiseSVN."
msgstr "你需要管理员权限来安装TortoiseSVN。"

#. (title)
msgid "Language Packs"
msgstr "语言包"

#. (primary)
msgid "language packs"
msgstr "语言包"

#. (primary)
msgid "translations"
msgstr "翻译"

#. (para)
msgid ""
"The TortoiseSVN user interface has been translated into many different "
"languages, so you may be able to download a language pack to suit your needs. "
"You can find the language packs on our <ulink url=\"http://tortoisesvn.net/"
"translation_status\"><citetitle>translation status page</citetitle></ulink>. "
"And if there is no language pack available yet, why not join the team and "
"submit your own translation ;-)"
msgstr ""
"TortoiseSVN 的界面已经翻译成了许多种语言,所以你可以下载符合你要求的语言包。你"
"可以在我们的<ulink url=\"http://tortoisesvn.net/translation_status"
"\"><citetitle>翻译状态页</citetitle></ulink>里看到语言包。如果没有你需要的,为"
"什么不加入我们的团队并且提交你的翻译呢?-)"

#. (para)
msgid ""
"Each language pack is packaged as a <literal>.exe</literal> installer. Just "
"run the install program and follow the instructions. Next time you restart, "
"the translation will be available."
msgstr ""
"每一种语言包都是一个 <literal>.exe</literal> 安装程序,只要根据向导运行安装程"
"序,当你下一次启动程序时,翻译就会生效。"

#. (title)
msgid "Spellchecker"
msgstr "拼写检查器"

#. (primary)
msgid "spellchecker"
msgstr "拼写检查器"

#. (primary)
msgid "dictionary"
msgstr "词典"

#. (para)
msgid ""
"TortoiseSVN includes a spell checker which allows you to check your commit "
"log messages. This is especially useful if the project language is not your "
"native language. The spell checker uses the same dictionary files as <ulink "
"url=\"http://openoffice.org\"><citetitle>OpenOffice</citetitle></ulink> and "
"<ulink url=\"http://mozilla.org\"><citetitle>Mozilla</citetitle></ulink>."
msgstr ""
"TortoiseSVN 包括了一个拼写检查器,可以检查你的提交日志信息,当你的项目语言不是"
"你的本地语言时尤其有用,拼写检查器使用 <ulink url=\"http://openoffice.org"
"\"><citetitle>OpenOffice</citetitle></ulink> 和 <ulink url=\"http://mozilla."
"org\"><citetitle>Mozilla</citetitle></ulink> 相同的词典。"

#. (para)
msgid ""
"The installer automatically adds the US and UK English dictionaries. If you "
"want other languages, the easiest option is simply to install one of "
"TortoiseSVN's language packs. This will install the appropriate dictionary "
"files as well as the TortoiseSVN local user interface. Next time you restart, "
"the dictionary will be available too."
msgstr ""
"安装程序自动添加 US 和 UK 英语词典。如果你需要其他语言,最简单的方法是安装 "
"TortoiseSVN 的语言包,这会安装合适的词典文件和 TortoiseSVN 的本地用户界面,当"
"你下一次启动程序时,词典也将会生效。"

#. (para)
msgid ""
"Or you can install the dictionaries yourself. If you have OpenOffice or "
"Mozilla installed, you can copy those dictionaries, which are located in the "
"installation folders for those applications. Otherwise, you need to download "
"the required dictionary files from <ulink url=\"http://wiki.services."
"openoffice.org/wiki/Dictionaries\"><citetitle>http://wiki.services.openoffice."
"org/wiki/Dictionaries</citetitle></ulink>"
msgstr ""
"或者你也可以自己安装词典。如果你安装了 OpenOffice 或 Mozilla,你可以复制这些词"
"典,位于那些应用的安装目录。否则,你需要从 <ulink url=\"http://wiki.services."
"openoffice.org/wiki/Dictionaries\"><citetitle>http://wiki.services.openoffice."
"org/wiki/Dictionaries</citetitle></ulink> 下载必要的词典文件。"

#. (filename)
msgid "en_US.aff"
msgstr "en_US.aff"

#. (filename)
msgid "en_US.dic"
msgstr "en_US.dic"

#. (para)
msgid ""
"Once you have got the dictionary files, you probably need to rename them so "
"that the filenames only have the locale chars in it. Example: <placeholder-1/"
"> Then just copy them to the <filename>bin</filename> sub-folder of the "
"TortoiseSVN installation folder. Normally this will be <filename>C:\\Program "
"Files\\TortoiseSVN\\bin</filename>. If you don't want to litter the "
"<filename>bin</filename> sub-folder, you can instead place your spell checker "
"files in <filename>C:\\Program Files\\TortoiseSVN\\Languages</filename>. If "
"that folder isn't there, you have to create it first. The next time you start "
"TortoiseSVN, the spell checker will be available."
msgstr ""
"一旦你得到了词典文件,你可能需要重命名文件,这样文件名只包含位置信息,例如: "
"<placeholder-1/>然后把它们复制到TortoiseSVN 安装目录的 <filename>bin</"
"filename> 子目录,通常情况下,可能是在 <filename>C:\\Program Files"
"\\TortoiseSVN\\bin</filename>。如果你不希望弄乱<filename>bin</filename>子目"
"录,你可以将拼写检查文件放置在<filename>C:\\Program Files\\TortoiseSVN"
"\\Languages</filename>,如果那个目录不存在,你可以自己创建,当你下次启动"
"TortoiseSVN 时,就可以使用拼写检查器。"

#. (para)
msgid ""
"Check the <literal>tsvn:projectlanguage</literal> setting. Refer to <xref "
"linkend=\"tsvn-dug-propertypage\"/> for information about setting project "
"properties."
msgstr ""
"检查 <literal>tsvn:projectlanguage</literal> 设置,关于设置项目属性可以参考"
"<xref linkend=\"tsvn-dug-propertypage\"/>。"

#. (para)
msgid ""
"If no project language is set, or that language is not installed, try the "
"language corresponding to the Windows locale."
msgstr ""
"如果没有设置项目语言,或者那个语言没有安装,尝试使用对应 Windows 区域信息的语"
"言。"

#. (para)
msgid ""
"If the exact Windows locale doesn't work, try the <quote>Base</quote> "
"language, eg. <literal>de_CH</literal> (Swiss-German) falls back to "
"<literal>de_DE</literal> (German)."
msgstr ""
"如果精确的 Windows 区域信息不起作用,可以试一下<quote>基础</quote>语言,例如"
"将 <literal>de_CH</literal>(Swiss-German) 修改为 <literal>de_DE</literal> "
"(German)。"

#. (para)
msgid ""
"If none of the above works, then the default language is English, which is "
"included with the standard installation."
msgstr "如果以上都没有效果,则缺省语言是英语,包含在标准安装中。"

#. (para)
msgid ""
"If you install multiple dictionaries, TortoiseSVN uses these rules to select "
"which one to use. <placeholder-1/>"
msgstr ""
"如果你安装了多个词典,TortoiseSVN 使用下面的规则选择一个。<placeholder-1/>"

#. (title)
#, fuzzy
msgid "Basic Version-Control Concepts"
msgstr "基本概念"

#. (primary)
msgid "Subversion book"
msgstr "Subversion 手册"

#. (para)
msgid ""
"This chapter is a slightly modified version of the same chapter in the "
"Subversion book. An online version of the Subversion book is available here: "
"<ulink url=\"http://svnbook.red-bean.com/\"><citetitle>http://svnbook.red-"
"bean.com/</citetitle></ulink>."
msgstr ""
"本章修改自《使用 Subversion 进行版本管理》的相同章节,它的在线版本位于: "
"<ulink url=\"http://svnbook.red-bean.com/\"><citetitle>http://svnbook.red-"
"bean.com/</citetitle></ulink>。"

#. (para)
msgid ""
"This chapter is a short, casual introduction to Subversion. If you're new to "
"version control, this chapter is definitely for you. We begin with a "
"discussion of general version control concepts, work our way into the "
"specific ideas behind Subversion, and show some simple examples of Subversion "
"in use."
msgstr ""
"这一章是对 Subversion 一个简短随意的介绍,如果你对版本控制很陌生,这一章节完全"
"是为你准备的,我们从讨论基本概念开始,深入理解 Subversion 的思想,然后展示许多"
"简单的实例。"

#. (para)
msgid ""
"Even though the examples in this chapter show people sharing collections of "
"program source code, keep in mind that Subversion can manage any sort of file "
"collection - it's not limited to helping computer programmers."
msgstr ""
"尽管我们的例子展示了人们如何分享程序源代码,仍然要记住 Subversion 可以控制所有"
"类型的文件-它并没有限制只为程序员工作。"

#. (title)
#. (title)
#. (title)
msgid "The Repository"
msgstr "版本库"

#. (primary)
#. (primary)
msgid "repository"
msgstr "版本库"

#. (para)
msgid ""
"Subversion is a centralized system for sharing information. At its core is a "
"<firstterm>repository</firstterm>, which is a central store of data. The "
"repository stores information in the form of a <firstterm>filesystem tree</"
"firstterm> - a typical hierarchy of files and directories. Any number of "
"<firstterm>clients</firstterm> connect to the repository, and then read or "
"write to these files. By writing data, a client makes the information "
"available to others; by reading data, the client receives information from "
"others."
msgstr ""
"Subversion 是一种集中的分享信息的系统,它的核心是<firstterm>版本库</"
"firstterm>,储存所有的数据,版本库按照<firstterm>文件树</firstterm>形式储存数"
"据-包括文件和目录,任意数量的<firstterm>客户端</firstterm>可以连接到版本库,"
"读写这些文件。通过写数据,别人可以看到这些信息;通过读数据,可以看到别人的修"
"改。"

#. (title)
msgid "A Typical Client/Server System"
msgstr "一个典型的客户/服务器系统"

#. (para)
msgid ""
"So why is this interesting? So far, this sounds like the definition of a "
"typical file server. And indeed, the repository <emphasis>is</emphasis> a "
"kind of file server, but it's not your usual breed. What makes the Subversion "
"repository special is that <emphasis>it remembers every change</emphasis> "
"ever written to it: every change to every file, and even changes to the "
"directory tree itself, such as the addition, deletion, and rearrangement of "
"files and directories."
msgstr ""
"所以为什么这很有趣呢?讲了这么多,让人感觉这是一种普通的文件服务器,但实际上,"
"版本库<emphasis>是</emphasis>另一种文件服务器,而不是你常见的那一种。最特别的"
"是 Subversion <emphasis>会记录每一次的更改</emphasis>,不仅针对文件也包括目录"
"本身,包括增加、删除和重新组织文件和目录。"

#. (para)
#, fuzzy
msgid ""
"When a client reads data from the repository, it normally sees only the "
"latest version of the filesystem tree. But the client also has the ability to "
"view <emphasis>previous</emphasis> states of the filesystem. For example, a "
"client can ask historical questions like, <quote>what did this directory "
"contain last Wednesday?</quote>, or <quote>who was the last person to change "
"this file, and what changes did they make?</quote> These are the sorts of "
"questions that are at the heart of any <firstterm>version control system</"
"firstterm>: systems that are designed to record and track changes to data "
"over time."
msgstr ""
"当一个客户端从版本库读取数据时,通常只会看到最新的版本,但是客户端也可以去看"
"<emphasis>以前</emphasis>的任何一个版本。举个例子,一个客户端可以问这样的历史"
"问题,<quote>上个星期三的目录是怎样的?</quote>,或者<quote>是谁最后一个修改了"
"这个文件,改动了什么?</quote>,这些是任何<firstterm>版本控制系统</firstterm>"
"的核心问题: 系统是设计用来记录和跟踪每次修改的。"

#. (title)
msgid "Versioning Models"
msgstr "版本模型"

#. (para)
msgid ""
"All version control systems have to solve the same fundamental problem: how "
"will the system allow users to share information, but prevent them from "
"accidentally stepping on each other's feet? It's all too easy for users to "
"accidentally overwrite each other's changes in the repository."
msgstr ""
"所有的版本控制系统都需要解决这样一个基础问题: 怎样让系统允许用户共享信息,而不"
"会让他们因意外而互相干扰?版本库里意外覆盖别人的更改非常的容易。"

#. (title)
msgid "The Problem of File-Sharing"
msgstr "文件共享的问题"

#. (para)
msgid ""
"Consider this scenario: suppose we have two co-workers, Harry and Sally. They "
"each decide to edit the same repository file at the same time. If Harry saves "
"his changes to the repository first, then it's possible that (a few moments "
"later) Sally could accidentally overwrite them with her own new version of "
"the file. While Harry's version of the file won't be lost forever (because "
"the system remembers every change), any changes Harry made <emphasis>won't</"
"emphasis> be present in Sally's newer version of the file, because she never "
"saw Harry's changes to begin with. Harry's work is still effectively lost - "
"or at least missing from the latest version of the file - and probably by "
"accident. This is definitely a situation we want to avoid!"
msgstr ""
"考虑这个情景,我们有两个共同工作者,Harry 和 Sally,他们想同时编辑版本库里的同"
"一个文件,如果首先 Harry 保存它的修改,过了一会,Sally 可能凑巧用自己的版本覆"
"盖了这些文件,Harry 的更改不会永远消失(因为系统记录了每次修改),Harry 所有的修"
"改<emphasis>不会</emphasis>出现在 Sally 的文件中,所以 Harry 的工作还是丢失了"
"&mdash;至少是从最新的版本中丢失了&mdash;而且是意外的,这就是我们要明确避免的情"
"况!"

#. (title)
msgid "The Problem to Avoid"
msgstr "需要避免的问题"

#. (title)
#. (title)
msgid "The Lock-Modify-Unlock Solution"
msgstr "锁定-修改-解锁 方案"

#. (para)
#, fuzzy
msgid ""
"Many version control systems use a <firstterm>lock-modify-unlock</firstterm> "
"model to address this problem, which is a very simple solution. In such a "
"system, the repository allows only one person to change a file at a time. "
"First Harry must <emphasis>lock</emphasis> the file before he can begin "
"making changes to it. Locking a file is a lot like borrowing a book from the "
"library; if Harry has locked a file, then Sally cannot make any changes to "
"it. If she tries to lock the file, the repository will deny the request. All "
"she can do is read the file, and wait for Harry to finish his changes and "
"release his lock. After Harry unlocks the file, his turn is over, and now "
"Sally can take her turn by locking and editing."
msgstr ""
"许多版本控制系统使用<firstterm>锁定-修改-解锁</firstterm>这种机制解决这种问"
"题,在这样的模型里,在一个时间段里版本库的一个文件只允许被一个人修改。首先在修"
"改之前,Harry 要“锁定”住这个文件,锁定很像是从图书馆借一本书,如果 Harry 锁住"
"这个文件,Sally 不能做任何修改,如果 Sally 想请求得到一个锁,版本库会拒绝这个"
"请求。在 Harry 结束编辑并且放开这个锁之前,她只可以阅读文件。Harry 解锁后,就"
"要换班了,Sally 得到自己的轮换位置,锁定并且开始编辑这个文件。"

#. (para)
msgid ""
"The problem with the lock-modify-unlock model is that it's a bit restrictive, "
"and often becomes a roadblock for users:"
msgstr "锁定-修改-解锁模型有一点问题就是限制太多,经常会成为用户的障碍: "

#. (para)
msgid ""
"<emphasis>Locking may cause administrative problems.</emphasis> Sometimes "
"Harry will lock a file and then forget about it. Meanwhile, because Sally is "
"still waiting to edit the file, her hands are tied. And then Harry goes on "
"vacation. Now Sally has to get an administrator to release Harry's lock. The "
"situation ends up causing a lot of unnecessary delay and wasted time."
msgstr ""
"<emphasis>锁定可能导致管理问题。</emphasis>有时候 Harry 会锁住文件然后忘了此"
"事,这就是说 Sally 一直等待解锁来编辑这些文件,她在这里僵住了。然后 Harry 去旅"
"行了,现在 Sally 只好去找管理员放开锁,这种情况会导致不必要的耽搁和时间浪费。"

#. (para)
msgid ""
"<emphasis>Locking may cause unnecessary serialization.</emphasis> What if "
"Harry is editing the beginning of a text file, and Sally simply wants to edit "
"the end of the same file? These changes don't overlap at all. They could "
"easily edit the file simultaneously, and no great harm would come, assuming "
"the changes were properly merged together. There's no need for them to take "
"turns in this situation."
msgstr ""
"<emphasis>锁定可能导致不必要的线性化开发。</emphasis>如果 Harry 编辑一个文件的"
"开始,Sally 想编辑同一个文件的结尾,这种修改不会冲突,设想修改可以正确的合并到"
"一起,他们可以轻松的并行工作而没有太多的坏处,没有必要让他们轮流工作。"

#. (para)
msgid ""
"<emphasis>Locking may create a false sense of security.</emphasis> Pretend "
"that Harry locks and edits file A, while Sally simultaneously locks and edits "
"file B. But suppose that A and B depend on one another, and the changes made "
"to each are semantically incompatible. Suddenly A and B don't work together "
"anymore. The locking system was powerless to prevent the problem - yet it "
"somehow provided a sense of false security. It's easy for Harry and Sally to "
"imagine that by locking files, each is beginning a safe, insulated task, and "
"thus inhibits them from discussing their incompatible changes early on."
msgstr ""
"<emphasis>锁定可能导致错误的安全状态。</emphasis>假设 Harry 锁定和编辑一个文"
"件 A,同时 Sally 锁定并编辑文件 B,如果 A 和 B 互相依赖,这种变化是必须同时作"
"的,这样 A 和 B 不能正确的工作了,锁定机制对防止此类问题将无能为力—从而产生了"
"一种处于安全状态的假相。很容易想象 Harry 和 Sally 都以为自己锁住了文件,而且从"
"一个安全,孤立的情况开始工作,因而没有尽早发现他们不匹配的修改。"

#. (title)
#. (title)
msgid "The Copy-Modify-Merge Solution"
msgstr "复制-修改-合并 方案"

#. (para)
msgid ""
"Subversion, CVS, and other version control systems use a <firstterm>copy-"
"modify-merge</firstterm> model as an alternative to locking. In this model, "
"each user's client reads the repository and creates a personal "
"<firstterm>working copy</firstterm> of the file or project. Users then work "
"in parallel, modifying their private copies. Finally, the private copies are "
"merged together into a new, final version. The version control system often "
"assists with the merging, but ultimately a human being is responsible for "
"making it happen correctly."
msgstr ""
"Subversion,CVS 和一些版本控制系统使用<firstterm>复制-修改-合并</firstterm>模"
"型,在这种模型里,每一个客户读取项目版本库建立一个私有<firstterm>工作副本</"
"firstterm>&mdash;版本库中文件和目录的本地映射。用户并行工作,修改各自的工作副"
"本,最终,各个私有的复制合并在一起,成为最终的版本,这种系统通常可以辅助合并操"
"作,但是最终要靠人工去确定正误。"

#. (para)
#, fuzzy
msgid ""
"Here's an example. Say that Harry and Sally each create working copies of the "
"same project, copied from the repository. They work concurrently, and make "
"changes to the same file <filename>A</filename> within their copies. Sally "
"saves her changes to the repository first. When Harry attempts to save his "
"changes later, the repository informs him that his file A is <firstterm>out-"
"of-date</firstterm>. In other words, that file A in the repository has "
"somehow changed since he last copied it. So Harry asks his client to "
"<firstterm>merge</firstterm> any new changes from the repository into his "
"working copy of file A. Chances are that Sally's changes don't overlap with "
"his own; so once he has both sets of changes integrated, he saves his working "
"copy back to the repository."
msgstr ""
"这是一个例子,Harry 和 Sally 为同一个项目各自建立了一个工作副本,工作是并行"
"的,修改了同一个文件 A,Sally 首先保存修改到版本库,当 Harry 想去提交修改的时"
"候,版本库提示文件 A 已经<firstterm>过期</firstterm>,换句话说,A 在他上次更新"
"之后已经更改了,所以当他通过客户端请求<firstterm>合并</firstterm>版本库和他的"
"工作副本之后,碰巧 Sally 的修改和他的不冲突,所以一旦他把所有的修改集成到一"
"起,他可以将工作副本保存到版本库。"

#. (title)
msgid "...Copy-Modify-Merge Continued"
msgstr "复制-修改-合并 方案(续)"

#. (primary)
#. (primary)
msgid "conflict"
msgstr "冲突"

#. (para)
msgid ""
"But what if Sally's changes <emphasis>do</emphasis> overlap with Harry's "
"changes? What then? This situation is called a <firstterm>conflict</"
"firstterm>, and it's usually not much of a problem. When Harry asks his "
"client to merge the latest repository changes into his working copy, his copy "
"of file A is somehow flagged as being in a state of conflict: he'll be able "
"to see both sets of conflicting changes, and manually choose between them. "
"Note that software can't automatically resolve conflicts; only humans are "
"capable of understanding and making the necessary intelligent choices. Once "
"Harry has manually resolved the overlapping changes (perhaps by discussing "
"the conflict with Sally!), he can safely save the merged file back to the "
"repository."
msgstr ""
"但是如果 Sally 和 Harry 的修改<emphasis>重叠</emphasis>了该怎么办?这种情况叫"
"做<firstterm>冲突</firstterm>,这通常不是个大问题,当 Harry 告诉他的客户端去合"
"并版本库的最新修改到自己的工作副本时,他的文件 A 就会处于冲突状态: 他可以看到"
"一对冲突的修改集,并手工的选择保留一组修改。需要注意的是软件不能自动的解决冲"
"突,只有人可以理解并作出智能的选择,一旦 Harry 手工的解决了冲突(也许需要与 "
"Sally 讨论),他就可以安全的把合并的文件保存到版本库。"

#. (para)
msgid ""
"The copy-modify-merge model may sound a bit chaotic, but in practice, it runs "
"extremely smoothly. Users can work in parallel, never waiting for one "
"another. When they work on the same files, it turns out that most of their "
"concurrent changes don't overlap at all; conflicts are infrequent. And the "
"amount of time it takes to resolve conflicts is far less than the time lost "
"by a locking system."
msgstr ""
"复制-修改-合并模型感觉是有一点混乱,但在实践中,通常运行的很平稳,用户可以并行"
"的工作,不必等待别人,当工作在同一个文件上时,也很少会有重叠发生,冲突并不频"
"繁,处理冲突的时间远比等待解锁花费的时间少。"

#. (para)
msgid ""
"In the end, it all comes down to one critical factor: user communication. "
"When users communicate poorly, both syntactic and semantic conflicts "
"increase. No system can force users to communicate perfectly, and no system "
"can detect semantic conflicts. So there's no point in being lulled into a "
"false promise that a locking system will somehow prevent conflicts; in "
"practice, locking seems to inhibit productivity more than anything else."
msgstr ""
"最后,一切都要归结到一条重要的因素: 用户交流。当用户交流贫乏,语法和语义的冲突"
"就会增加,没有系统可以强制用户完美的交流,没有系统可以检测语义上的冲突,所以没"
"有任何证据能够承诺锁定系统可以防止冲突,实践中,锁定除了约束了生产力,并没有做"
"什么事。"

#. (para)
msgid ""
"There is one common situation where the lock-modify-unlock model comes out "
"better, and that is where you have unmergeable files. For example if your "
"repository contains some graphic images, and two people change the image at "
"the same time, there is no way for those changes to be merged together. "
"Either Harry or Sally will lose their changes."
msgstr ""
"有一种情况下锁定-修改-解锁模型会更好,也就是你有不可合并的文件,例如你的版本库"
"包含了图片,两个人同时编辑这个文件,没有办法将这两个修改合并,Harry 或 Sally "
"会丢失他们的修改。"

#. (title)
msgid "What does Subversion Do?"
msgstr "Subversion 怎么做?"

#. (para)
msgid ""
"Subversion uses the copy-modify-merge solution by default, and in many cases "
"this is all you will ever need. However, as of Version 1.2, Subversion also "
"supports file locking, so if you have unmergeable files, or if you are simply "
"forced into a locking policy by management, Subversion will still provide the "
"features you need."
msgstr ""
"Subversion 缺省使用复制-修改-合并模型,大多数情况下可以满足你的需求。然而,"
"Subversion 1.2 后还是支持锁定,如果你有不可合并的文件,或者你只是想实行强制管"
"理策略,Subversion 仍然会提供你需要的特性。"

#. (title)
msgid "Subversion in Action"
msgstr "Subversion 实战"

#. (title)
msgid "Working Copies"
msgstr "工作副本"

#. (primary)
msgid "working copy"
msgstr "工作副本"

#. (para)
msgid ""
"You've already read about working copies; now we'll demonstrate how the "
"Subversion client creates and uses them."
msgstr ""
"你已经阅读过了关于工作副本的内容,现在我们要讲一讲客户端怎样建立和使用它。"

#. (para)
msgid ""
"A Subversion working copy is an ordinary directory tree on your local system, "
"containing a collection of files. You can edit these files however you wish, "
"and if they're source code files, you can compile your program from them in "
"the usual way. Your working copy is your own private work area: Subversion "
"will never incorporate other people's changes, nor make your own changes "
"available to others, until you explicitly tell it to do so."
msgstr ""
"一个 Subversion 工作副本是你本地机器一个普通的目录,保存着一些文件,你可以任意"
"的编辑文件,而且如果是源代码文件,你可以像平常一样编译,你的工作副本是你的私有"
"工作区,在你明确的做了特定操作之前,Subversion 不会把你的修改与其他人的合并,"
"也不会把你的修改展示给别人。"

#. (para)
#, fuzzy
msgid ""
"After you've made some changes to the files in your working copy and verified "
"that they work properly, Subversion provides you with commands to "
"<emphasis>publish</emphasis> your changes to the other people working with "
"you on your project (by writing to the repository). If other people publish "
"their own changes, Subversion provides you with commands to merge those "
"changes into your working directory (by reading from the repository)."
msgstr ""
"当你在工作副本作了一些修改并且确认它们工作正常之后,Subversion 提供了一个命令"
"可以“发布”你的修改给项目中的其他人(通过写到版本库),如果别人发布了各自的修改,"
"Subversion 提供了手段可以把这些修改与你的工作目录进行合并(通过读取版本库)。"

#. (para)
msgid ""
"A working copy also contains some extra files, created and maintained by "
"Subversion, to help it carry out these commands. In particular, each "
"directory in your working copy contains a subdirectory named <filename>.svn</"
"filename>, also known as the working copy <firstterm>administrative "
"directory</firstterm>. The files in each administrative directory help "
"Subversion recognize which files contain unpublished changes, and which files "
"are out-of-date with respect to others' work."
msgstr ""
"一个工作副本也包括一些由 Subversion 创建并维护的额外文件,用来协助执行这些命"
"令。通常情况下,你的工作副本每一个文件夹有一个以 <filename>.svn</filename> 为"
"名的文件夹,也被叫做工作副本<firstterm>管理目录</firstterm>,这个目录里的文件"
"能够帮助 Subversion 识别哪一个文件做过修改,哪一个文件相对于别人的工作已经过期"
"了。"

#. (para)
msgid ""
"A typical Subversion repository often holds the files (or source code) for "
"several projects; usually, each project is a subdirectory in the repository's "
"filesystem tree. In this arrangement, a user's working copy will usually "
"correspond to a particular subtree of the repository."
msgstr ""
"一个典型的 Subversion 的版本库经常包含许多项目的文件(或者说源代码),通常每一个"
"项目都是版本库的子目录,在这种安排下,一个用户的工作副本往往对应版本库的的一个"
"子目录。"

#. (para)
msgid ""
"For example, suppose you have a repository that contains two software "
"projects."
msgstr "举一个例子,你的版本库包含两个软件项目。"

#. (title)
msgid "The Repository's Filesystem"
msgstr "版本库的文件系统"

#. (para)
msgid ""
"In other words, the repository's root directory has two subdirectories: "
"<filename>paint</filename> and <filename>calc</filename>."
msgstr ""
"换句话说,版本库的根目录包含两个子目录: <filename>paint</filename> 和 "
"<filename>calc</filename>。"

#. (para)
#, fuzzy
msgid ""
"To get a working copy, you must <firstterm>check out</firstterm> some subtree "
"of the repository. (The term <emphasis>check out</emphasis> may sound like it "
"has something to do with locking or reserving resources, but it doesn't; it "
"simply creates a private copy of the project for you)."
msgstr ""
"为了得到一个工作副本,你必须<firstterm>检出</firstterm>版本库的一个子树,(术"
"语“检出”听起来像是锁定或者保留资源,实际上不是,它只是简单的得到一个项目的私有"
"副本)。"

#. (para)
msgid ""
"Suppose you make changes to <filename>button.c</filename>. Since the "
"<filename>.svn</filename> directory remembers the file's modification date "
"and original contents, Subversion can tell that you've changed the file. "
"However, Subversion does not make your changes public until you explicitly "
"tell it to. The act of publishing your changes is more commonly known as "
"<firstterm>committing</firstterm> (or <firstterm>checking in</firstterm>) "
"changes to the repository."
msgstr ""
"假定你修改了 <filename>button.c</filename>,因为 <filename>.svn</filename> 目"
"录记录着文件的修改日期和原始内容,Subversion 可以告诉你已经修改了文件,然而,"
"在你明确告诉它之前,Subversion 不会将你的改变公开。将改变公开的操作被叫做提交"
"(或者是<firstterm>检入</firstterm>),它提交修改到版本库中。"

#. (para)
msgid ""
"To publish your changes to others, you can use Subversion's <command>commit</"
"command> command."
msgstr "发布你的修改给别人,可以使用 Subversion 的提交命令。"

#. (para)
msgid ""
"Now your changes to <filename>button.c</filename> have been committed to the "
"repository; if another user checks out a working copy of <filename>/calc</"
"filename>, they will see your changes in the latest version of the file."
msgstr ""
"这时你对 <filename>button.c</filename> 的修改已经提交到了版本库,如果其他人取"
"出了 <filename>/calc</filename> 的一个工作副本,他们会看到这个文件最新的版本。"

#. (para)
msgid ""
"Suppose you have a collaborator, Sally, who checked out a working copy of "
"<filename>/calc</filename> at the same time you did. When you commit your "
"change to <filename>button.c</filename>, Sally's working copy is left "
"unchanged; Subversion only modifies working copies at the user's request."
msgstr ""
"设你有个合作者,Sally,她和你同时取出了 <filename>/calc</filename> 的一个工作"
"副本,你提交了你对 <filename>button.c</filename> 的修改,Sally 的工作副本并没"
"有改变,Subversion 只在用户要求的时候才改变工作副本。"

#. (para)
msgid ""
"To bring her project up to date, Sally can ask Subversion to "
"<firstterm>update</firstterm> her working copy, by using the Subversion "
"<command>update</command> command. This will incorporate your changes into "
"her working copy, as well as any others that have been committed since she "
"checked it out."
msgstr ""
"要使项目最新,Sally 可以要求 Subversion <firstterm>更新</firstterm>她的工作副"
"本,通过使用更新命令,可以将你和所有其他人在她上次更新之后的修改合并到她的工作"
"副本。"

#. (para)
msgid ""
"Note that Sally didn't need to specify which files to update; Subversion uses "
"the information in the <filename>.svn</filename> directory, and further "
"information in the repository, to decide which files need to be brought up to "
"date."
msgstr ""
"注意,Sally 不必指定要更新的文件,Subversion 利用 <filename>.svn</filename> 以"
"及版本库的进一步信息决定哪些文件需要更新。"

#. (title)
msgid "Repository URLs"
msgstr "版本库的 URL"

#. (para)
msgid ""
"Subversion repositories can be accessed through many different methods - on "
"local disk, or through various network protocols. A repository location, "
"however, is always a URL. The URL schema indicates the access method:"
msgstr ""
"Subversion 可以通过多种方式访问-本地磁盘访问,或各种各样不同的网络协议,但一"
"个版本库地址永远都是一个 URL,URL 方案反映了访问方法。"

#. (title)
msgid "Repository Access URLs"
msgstr "版本库访问 URL"

#. (entry)
msgid "Schema"
msgstr "方案"

#. (entry)
msgid "Access Method"
msgstr "访问方法"

#. (literal)
msgid "file://"
msgstr "file://"

#. (entry)
msgid "Direct repository access on local or network drive."
msgstr "直接版本库访问(本地磁盘或者网络磁盘)。"

#. (literal)
#. (literal)
msgid "http://"
msgstr "http://"

#. (entry)
msgid "Access via WebDAV protocol to Subversion-aware Apache server."
msgstr "通过 WebDAV 协议访问支持 Subversion 的 Apache 服务器。"

#. (literal)
msgid "https://"
msgstr "https://"

#. (entry)
msgid "Same as <placeholder-1/>, but with SSL encryption."
msgstr "与 <placeholder-1/> 相似,但是用 SSL 加密。"

#. (literal)
msgid "svn://"
msgstr "svn://"

#. (literal)
#. (literal)
#. (primary)
#. (primary)
msgid "svnserve"
msgstr "svnserve"

#. (entry)
msgid ""
"Unauthenticated TCP/IP access via custom protocol to a <placeholder-1/> "
"server."
msgstr "通过未认证的 TCP/IP 自定义协议访问 <placeholder-1/> 服务器。"

#. (literal)
msgid "svn+ssh://"
msgstr "svn+ssh://"

#. (entry)
msgid ""
"authenticated, encrypted TCP/IP access via custom protocol to a <placeholder-"
"1/> server."
msgstr "通过认证并加密的 TCP/IP 自定义协议访问 <placeholder-1/> 服务器。"

#. (para)
#, fuzzy
msgid ""
"For the most part, Subversion's URLs use the standard syntax, allowing for "
"server names and port numbers to be specified as part of the URL. The "
"<literal>file://</literal> access method is normally used for local access, "
"although it can be used with UNC paths to a networked host. The URL therefore "
"takes the form <systemitem class=\"url\">file://hostname/path/to/repos</"
"systemitem>. For the local machine, the <literal>hostname</literal> portion "
"of the URL is required to be either absent or <literal>localhost</literal>. "
"For this reason, local paths normally appear with three slashes, <systemitem "
"class=\"url\">file:///path/to/repos</systemitem>."
msgstr ""
"大多数情况下,Subversion 的 URL 使用标准语法,允许服务器名称和端口号作为 URL "
"的一部分。<literal>file:</literal>访问方法通常用来本地访问,尽管也可以使用 "
"UNC 路径访问网络主机,采用的 URL 形式为 <literal>file://hostname/path/to/"
"repos</literal>。对于本地主机,主机部分可以为空或者是<literal>localhost</"
"literal>,因此,本地路径通常出现三个斜线-<literal>file:///path/to/repos</"
"literal>。"

#. (para)
#, fuzzy
msgid ""
"Also, users of the <literal>file://</literal> scheme on Windows platforms "
"will need to use an unofficially <quote>standard</quote> syntax for accessing "
"repositories that are on the same machine, but on a different drive than the "
"client's current working drive. Either of the two following URL path syntaxes "
"will work where <literal>X</literal> is the drive on which the repository "
"resides:"
msgstr ""
"另外,在 Windows 平台的 <literal>file:</literal> 方案有时候需要使用一种非正式"
"的<quote>标准</quote>协议访问本地但不是程序运行磁盘的版本库,以下两种 URL 路径"
"语法都可以工作,其中的 <literal>X</literal> 是版本库所在的磁盘: "

#. (screen)
#, no-wrap
msgid ""
"\n"
"file:///X:/path/to/repos\n"
"...\n"
"file:///X|/path/to/repos\n"
"...\n"
msgstr ""
"\n"
"file:///X:/path/to/repos\n"
"...\n"
"file:///X|/path/to/repos\n"
"...\n"

#. (para)
msgid ""
"Note that a URL uses ordinary slashes even though the native (non-URL) form "
"of a path on Windows uses backslashes."
msgstr "注意 URL 使用普通的斜杠,而不是 Windows 本地(非 URL)形式的路径。"

#. (para)
msgid ""
"You can safely access a FSFS repository via a network share, but you "
"<emphasis>cannot</emphasis> access a BDB repository in this way."
msgstr ""
"你可以安全的访问网络共享的 FSFS 版本库,但是你<emphasis>不能</emphasis>以这种"
"方式访问 BDB 版本库。"

#. (para)
#. (para)
msgid ""
"Do not create or access a Berkeley DB repository on a network share. It "
"<emphasis>cannot</emphasis> exist on a remote filesystem. Not even if you "
"have the network drive mapped to a drive letter. If you attempt to use "
"Berkeley DB on a network share, the results are unpredictable - you may see "
"mysterious errors right away, or it may be months before you discover that "
"your repository database is subtly corrupted."
msgstr ""
"不要创建和访问网络共享上的 Berkeley DB 版本库,它<emphasis>不能</emphasis>存在"
"于一个远程的文件系统,即使是映射到盘符的共享。如果你希望在网络共享使用 "
"Berkeley DB,结果难以预料-你可能会立刻看到奇怪的错误,也有可能几个月之后才发"
"现数据库已经损坏了。"

#. (title)
msgid "Revisions"
msgstr "修订版本"

#. (primary)
#. (primary)
msgid "revision"
msgstr "修订版本"

#. (para)
msgid ""
"A <command>svn commit</command> operation can publish changes to any number "
"of files and directories as a single atomic transaction. In your working "
"copy, you can change files' contents, create, delete, rename and copy files "
"and directories, and then commit the complete set of changes as a unit."
msgstr ""
"<command>svn commit</command> 操作可以作为一个原子事务操作发布任意数量文件和目"
"录的修改。在你的工作副本中,你可以改变文件内容,创建、删除、改名和复制文件和目"
"录,然后作为一个整体提交。"

#. (para)
msgid ""
"In the repository, each commit is treated as an atomic transaction: either "
"all the commits changes take place, or none of them take place. Subversion "
"retains this atomicity in the face of program crashes, system crashes, "
"network problems, and other users' actions."
msgstr ""
"在版本库中,每次提交被当作一次原子事务操作: 要么所有的改变发生,要么都不发生,"
"Subversion 努力保持原子性以应对程序错误、系统错误、网络问题和其他用户行为。"

#. (para)
msgid ""
"Each time the repository accepts a commit, this creates a new state of the "
"filesystem tree, called a <firstterm>revision</firstterm>. Each revision is "
"assigned a unique natural number, one greater than the number of the previous "
"revision. The initial revision of a freshly created repository is numbered "
"zero, and consists of nothing but an empty root directory."
msgstr ""
"每当版本库接受了一个提交,文件系统进入了一个新的状态,叫做版本,每个版本被赋予"
"一个独一无二的自然数,一个比一个大,初始修订号是 0,只创建了一个空目录,没有任"
"何内容。"

#. (para)
msgid ""
"A nice way to visualize the repository is as a series of trees. Imagine an "
"array of revision numbers, starting at 0, stretching from left to right. Each "
"revision number has a filesystem tree hanging below it, and each tree is a "
"<quote>snapshot</quote> of the way the repository looked after each commit."
msgstr ""
"可以形象的把版本库看作一系列树,想象有一组版本号,从 0 开始,从左到右,每一个"
"修订号有一个目录树挂在它下面,每一个树好像是一次提交后的版本库“快照”。"

#. (title)
msgid "Global Revision Numbers"
msgstr "全局版本号"

#. (para)
msgid ""
"Unlike those of many other version control systems, Subversion's revision "
"numbers apply to <emphasis>entire trees</emphasis>, not individual files. "
"Each revision number selects an entire tree, a particular state of the "
"repository after some committed change. Another way to think about it is that "
"revision N represents the state of the repository filesystem after the Nth "
"commit. When a Subversion user talks about ``revision 5 of <filename>foo.c</"
"filename>'', they really mean ``<filename>foo.c</filename> as it appears in "
"revision 5.'' Notice that in general, revisions N and M of a file do "
"<emphasis>not</emphasis> necessarily differ!"
msgstr ""
"不像其它版本控制系统,Subversion 的版本号是针对整个<emphasis>目录树</emphasis>"
"的,而不是单个文件。每一个版本号代表了一次提交后版本库整个目录树的特定状态,另"
"一种理解是版本 N 代表版本库已经经过了 N 次提交。当 Subversion 用户讨"
"论“<filename>foo.c</filename>的版本 5”时,他们的实际意思是“在版本 5 时的"
"<filename>foo.c</filename>”。需要注意的是,一个文件的版本 N 和 M 并<emphasis>"
"不</emphasis>表示它必定不同。"

#. (para)
msgid ""
"It's important to note that working copies do not always correspond to any "
"single revision in the repository; they may contain files from several "
"different revisions. For example, suppose you check out a working copy from a "
"repository whose most recent revision is 4:"
msgstr ""
"需要特别注意的是,工作副本并不一定对应版本库中的单一版本,他们可能包含多个版本"
"的文件。举个例子,你从版本库检出一个工作副本,最新的版本是 4: "

#. (screen)
#, no-wrap
msgid ""
"\n"
"calc/Makefile:4\n"
" integer.c:4\n"
" button.c:4\n"
msgstr ""
"\n"
"calc/Makefile:4\n"
" integer.c:4\n"
" button.c:4\n"

#. (para)
msgid ""
"At the moment, this working directory corresponds exactly to revision 4 in "
"the repository. However, suppose you make a change to <filename>button.c</"
"filename>, and commit that change. Assuming no other commits have taken "
"place, your commit will create revision 5 of the repository, and your working "
"copy will now look like this:"
msgstr ""
"此刻,工作目录与版本库的版本 4 完全对应,然而,你修改了 <filename>button.c</"
"filename> 并且提交之后,假设没有别的提交出现,你的提交会在版本库建立版本 5,你"
"的工作副本会是这个样子的: "

#. (screen)
#, no-wrap
msgid ""
"\n"
"calc/Makefile:4\n"
" integer.c:4\n"
" button.c:5\n"
msgstr ""
"\n"
"calc/Makefile:4\n"
" integer.c:4\n"
" button.c:5\n"

#. (para)
msgid ""
"Suppose that, at this point, Sally commits a change to <filename>integer.c</"
"filename>, creating revision 6. If you use <command>svn update</command> to "
"bring your working copy up to date, then it will look like this:"
msgstr ""
"假设此刻,Sally 提交了对 <filename>integer.c</filename> 的修改,建立修订版本 "
"6,如果你使用 <command>svn update</command> 来更新你的工作副本,你会看到: "

#. (screen)
#, no-wrap
msgid ""
"\n"
"calc/Makefile:6\n"
" integer.c:6\n"
" button.c:6\n"
msgstr ""
"\n"
"calc/Makefile:6\n"
" integer.c:6\n"
" button.c:6\n"

#. (para)
msgid ""
"Sally's changes to <filename>integer.c</filename> will appear in your working "
"copy, and your change will still be present in <filename>button.c</filename>. "
"In this example, the text of <filename>Makefile</filename> is identical in "
"revisions 4, 5, and 6, but Subversion will mark your working copy of "
"<filename>Makefile</filename> with revision 6 to indicate that it is still "
"current. So, after you do a clean update at the top of your working copy, it "
"will generally correspond to exactly one revision in the repository."
msgstr ""
"Sally 对 <filename>integer.c</filename> 的改变会出现在你的工作副本,你对 "
"<filename>button.c</filename> 的改变还在,在这个例子里,<filename>Makefile</"
"filename> 在 4、5、6 版本都是一样的,但是 Subversion 会把 "
"<filename>Makefile</filename> 的版本设为 6 来表明它是最新的,所以你在工作副本"
"顶级目录作一次干净的更新,会使所有内容对应版本库的同一修订版本。"

#. (title)
msgid "How Working Copies Track the Repository"
msgstr "工作副本怎样跟踪版本库"

#. (para)
msgid ""
"For each file in a working directory, Subversion records two essential pieces "
"of information in the <filename>.svn/</filename> administrative area:"
msgstr ""
"对于工作副本的每一个文件,Subversion 在管理目录 <filename>.svn/</filename> 记"
"录两项关键的信息: "

#. (para)
msgid ""
"what revision your working file is based on (this is called the file's "
"<firstterm>working revision</firstterm>), and"
msgstr "工作文件的基准版本(叫做文件的<firstterm>工作版本</firstterm>)和"

#. (para)
msgid ""
"a timestamp recording when the local copy was last updated by the repository."
msgstr "一个本地副本最后更新的时间戳。"

#. (para)
msgid ""
"Given this information, by talking to the repository, Subversion can tell "
"which of the following four states a working file is in:"
msgstr ""
"给定这些信息,通过与版本库通讯,Subversion 可以告诉我们工作文件是处与如下四种"
"状态的那一种: "

#. (term)
msgid "Unchanged, and current"
msgstr "未修改且是当前的"

#. (para)
msgid ""
"The file is unchanged in the working directory, and no changes to that file "
"have been committed to the repository since its working revision. A "
"<command>commit</command> of the file will do nothing, and an "
"<command>update</command> of the file will do nothing."
msgstr ""
"文件在工作目录里没有修改,在工作版本之后没有修改提交到版本库。<command>svn "
"commit</command> 操作不做任何事情,<command>svn update</command> 不做任何事"
"情。"

#. (term)
msgid "Locally changed, and current"
msgstr "本地已修改且是当前的"

#. (para)
msgid ""
"The file has been changed in the working directory, and no changes to that "
"file have been committed to the repository since its base revision. There are "
"local changes that have not been committed to the repository, thus a "
"<command>commit</command> of the file will succeed in publishing your "
"changes, and an <command>update</command> of the file will do nothing."
msgstr ""
"工作副本已经修改,从基准版本之后没有修改提交到版本库。本地修改没有提交,因此 "
"<command>commit</command> 会成功的提交,<command>update</command> 不做任何事"
"情。"

#. (term)
msgid "Unchanged, and out-of-date"
msgstr "本地未修改且过时"

#. (para)
msgid ""
"The file has not been changed in the working directory, but it has been "
"changed in the repository. The file should eventually be updated, to make it "
"current with the public revision. A <command>commit</command> of the file "
"will do nothing, and an <command>update</command> of the file will fold the "
"latest changes into your working copy."
msgstr ""
"这个文件在工作副本没有修改,但在版本库中已经修改了。这个文件应当更新到最新公共"
"版本。<command>commit</command> 不做任何事情,<command>update</command> 将会更"
"新工作副本到最新的版本。"

#. (term)
msgid "Locally changed, and out-of-date"
msgstr "本地已修改且过时"

#. (para)
#, fuzzy
msgid ""
"The file has been changed both in the working directory, and in the "
"repository. A <command>commit</command> of the file will fail with an "
"<emphasis>out-of-date</emphasis> error. The file should be updated first; an "
"<command>update</command> command will attempt to merge the public changes "
"with the local changes. If Subversion can't complete the merge in a plausible "
"way automatically, it leaves it to the user to resolve the conflict."
msgstr ""
"这个文件在工作副本和版本库都被修改。<command>commit</command> 将会失败,这个文"
"件必须首先更新,<command>update</command> 命令会尝试合并公共和本地修改,如果 "
"Subversion 不能自动完成,将会让用户解决冲突。"

#. (title)
msgid "Summary"
msgstr "摘要"

#. (para)
msgid ""
"We've covered a number of fundamental Subversion concepts in this chapter:"
msgstr "我们在这一章里学习了许多 Subversion 基本概念: "

#. (para)
msgid ""
"We've introduced the notions of the central repository, the client working "
"copy, and the array of repository revision trees."
msgstr "我们介绍了中央版本库、客户工作副本和版本库中版本树队列的概念。"

#. (para)
msgid ""
"We've seen some simple examples of how two collaborators can use Subversion "
"to publish and receive changes from one another, using the 'copy-modify-"
"merge' model."
msgstr ""
"我们介绍了两个协作者如何使用使用<quote>复制-修改-合并</quote>模型,用 "
"Subversion 发布和获得对方的修改。"

#. (para)
msgid ""
"We've talked a bit about the way Subversion tracks and manages information in "
"a working copy."
msgstr "我们讨论了一些 Subversion 跟踪和管理工作副本信息的方式。"

#. (para)
msgid ""
"No matter which protocol you use to access your repositories, you always need "
"to create at least one repository. This can either be done with the "
"Subversion command line client or with TortoiseSVN."
msgstr ""
"无论你用什么协议访问你的版本库,都至少需要创建一个版本库,这可以使用Subversion"
"命令行客户端或TortoiseSVN完成。"

#. (para)
msgid ""
"If you haven't created a Subversion repository yet, it's time to do that now."
msgstr "如果你还没有创建Subversion版本库,是时间开始了。"

#. (title)
msgid "Repository Creation"
msgstr "创建版本库"

#. (primary)
msgid "create repository"
msgstr "创建版本库"

#. (para)
#, fuzzy
msgid ""
"You can create a repository with the FSFS backend or with the older Berkeley "
"Database (BDB) format. The FSFS format is generally faster and easier to "
"administer, and it works on network shares and Windows 98 without problems. "
"The BDB format was once considered more stable simply because it has been in "
"use for longer, but since FSFS has now been in use in the field for several "
"years, that argument is now rather weak. Read <ulink url=\"http://svnbook.red-"
"bean.com/en/1.5/svn.reposadmin.planning.html#svn.reposadmin.basics.backends"
"\"><citetitle>Choosing a Data Store</citetitle></ulink> in the Subversion "
"book for more information."
msgstr ""
"你可以使用 FSFS 或较老的 Berkeley 数据库(BDB)作为版本库的后端,FSFS 格式通常更"
"快一点,还容易管理,而且可以正常运行在网络共享磁盘上 或 Windows 98 中。BDB 格"
"式曾经简单的被认为更加稳定,因为其经过了更长时间的验证,但是既然 FSFS 已经使用"
"了几年,这个论据已经相当不牢固了。参考 Subversion 手册的 <ulink url=\"http://"
"svnbook.red-bean.com/en/1.4/svn.reposadmin.planning.html#svn.reposadmin."
"basics.backends\"><citetitle>选择数据存储</citetitle></ulink> 以获得更多信息。"

#. (title)
msgid "Creating a Repository with the Command Line Client"
msgstr "使用命令行工具创建版本库"

#. (primary)
#. (primary)
msgid "Create"
msgstr "创建"

#. (secondary)
msgid "Command Line Client"
msgstr "命令行工具"

#. (para)
msgid ""
"Create an empty folder with the name SVN (e.g. <filename>D:\\SVN\\</"
"filename>), which is used as root for all your repositories."
msgstr ""
"创建一个名为SVN(例如<filename>D:\\SVN\\</filename>)的空文件夹,作为你的所有版"
"本库的根。"

#. (para)
msgid ""
"Create another folder <filename>MyNewRepository</filename> inside <filename>D:"
"\\SVN\\</filename>."
msgstr ""
"在<filename>D:\\SVN\\</filename>里创建另一个目录<filename>MyNewRepository</"
"filename>。"

#. (para)
msgid ""
"Open the command prompt (or DOS-Box), change into <filename>D:\\SVN\\</"
"filename> and type <screen>\n"
"svnadmin create --fs-type bdb MyNewRepository\n"
"</screen> or <screen>\n"
"svnadmin create --fs-type fsfs MyNewRepository\n"
"</screen>"
msgstr ""
"打开命令行窗口(或DOS窗口),进入<filename>D:\\SVN\\</filename>目录,输入"
"<screen>\n"
"svnadmin create --fs-type bdb MyNewRepository\n"
"</screen>或<screen>\n"
"svnadmin create --fs-type fsfs MyNewRepository\n"
"</screen>"

#. (para)
msgid ""
"Now you've got a new repository located at <filename>D:\\SVN"
"\\MyNewRepository</filename>."
msgstr ""
"现在你在<filename>D:\\SVN\\MyNewRepository</filename>创建了一个新的版本库。"

#. (title)
msgid "Creating The Repository With TortoiseSVN"
msgstr "使用 TortoiseSVN 创建版本库"

#. (title)
msgid "The TortoiseSVN menu for unversioned folders"
msgstr "未版本控制文件夹的 TortoiseSVN 菜单"

#. (para)
msgid "Open the windows explorer"
msgstr "打开资源管理器"

#. (para)
msgid "Create a new folder and name it e.g. <filename>SVNRepository</filename>"
msgstr "创建一个新的文件夹,命名为<filename>SVNRepository</filename>"

#. (para)
msgid ""
"<action>Right-click</action> on the newly created folder and select "
"<menuchoice><guimenu>TortoiseSVN</guimenu><guimenuitem>Create Repository "
"here...</guimenuitem></menuchoice>."
msgstr ""
"<action>右键点击</action>新创建的目录,选择<menuchoice><guimenu>TortoiseSVN</"
"guimenu><guimenuitem>在此创建版本库...</guimenuitem></menuchoice>。"

#. (para)
msgid ""
"A repository is then created inside the new folder. <emphasis>Don't edit "
"those files yourself!!!</emphasis>. If you get any errors make sure that the "
"folder is empty and not write protected."
msgstr ""
"然后就会在新文件夹创建一个版本库,<emphasis>不要手工编辑这些文件!!!</"
"emphasis>如果你得到什么警告,一定要先确定目录非空并且没有写保护。"

#. (para)
msgid ""
"TortoiseSVN no longer offers the option to create BDB repositories, although "
"you can still use the command line client to create them. FSFS repositories "
"are generally easier for you to maintain, and also makes it easier for us to "
"maintain TortoiseSVN due to compatibility issues between the different BDB "
"versions."
msgstr ""
"TortoiseSVN 不再给你创建 BDB 版本库的选择,尽管你仍旧可以使用命令行工具创建。"
"FSFS 版本库通常很容易维护,也让我们维护 TortoiseSVN 变得更容易,因为我们不再需"
"要处理不同 BDB 版本之间的兼容性问题。"

#. (para)
#, fuzzy
msgid ""
"Future versions of TortoiseSVN will not support <literal>file://</literal> "
"access to BDB repositories due to these compatibility issues, although it "
"will of course always support this repository format when accessed via a "
"server through the <literal>svn://</literal>, <literal>http://</literal> or "
"<literal>https://</literal> protocols. For this reason, we strongly recommend "
"that any new repository which must be accessed using <literal>file://</"
"literal> protocol is created as FSFS."
msgstr ""
"由于这些兼容性问题,将来的 TortoiseSVN 不再支持使用 <literal>file:///</"
"literal> 访问 BDB 版本库,尽管我们继续支持使用 <literal>svn://</literal>,"
"<literal>http://</literal> 或 <literal>https://</literal> 协议访问 BDB 版本"
"库。因此,我们强烈建议任何新的必须使用 <literal>file:///</literal> 协议访问的"
"版本库使用 FSFS 格式。"

#. (para)
#, fuzzy
msgid ""
"Of course we also recommend that you don't use <literal>file://</literal> "
"access at all, apart from local testing purposes. Using a server is more "
"secure and more reliable for all but single-developer use."
msgstr ""
"当然除了本地测试之外,我们也建议你根本不要使用 <literal>file:///</literal> 协"
"议访问。除非是单个开发人员,使用服务器模型更为安全可靠。"

#. (title)
msgid "Local Access to the Repository"
msgstr "本地访问版本库"

#. (primary)
msgid "Access"
msgstr "访问"

#. (primary)
msgid "UNC paths"
msgstr "UNC路径"

#. (para)
msgid ""
"To access your local repository you need the path to that folder. Just "
"remember that Subversion expects all repository paths in the form <systemitem "
"class=\"url\">file:///C:/SVNRepository/</systemitem>. Note the use of forward "
"slashes throughout."
msgstr ""
"为了访问本地版本库,你需要这个文件夹的路径,只要记住Subversion期望所有的版本库"
"路径使用的形式为<systemitem class=\"url\">file:///C:/SVNRepository/</"
"systemitem>,请注意全部使用的是斜杠。"

#. (para)
msgid ""
"To access a repository located on a network share you can either use drive "
"mapping, or you can use the UNC path. For UNC paths, the form is <systemitem "
"class=\"url\">file://ServerName/path/to/repos/</systemitem>. Note that there "
"are only 2 leading slashes here."
msgstr ""
"为了访问网络共享中的版本库,你可以使用驱动器影射或使用UNC路径,对于UNC路径,形"
"式为<systemitem class=\"url\">file://ServerName/path/to/repos/</systemitem>,"
"请注意这里前面只有两个斜杠。"

#. (para)
msgid ""
"Prior to SVN 1.2, UNC paths had to be given in the more obscure form "
"<systemitem class=\"url\">file:///\\ServerName/path/to/repos</systemitem>. "
"This form is still supported, but not recommended."
msgstr ""
"在SVN 1.2之前,UNC路径曾经是一种非常晦涩的格式<systemitem class=\"url"
"\">file:///\\ServerName/path/to/repos</systemitem>,这种格式依然支持,但不推"
"荐。"

#. (para)
msgid ""
"Do not create or access a Berkeley DB repository on a network share. It "
"<emphasis>cannot</emphasis> exist on a remote file system. Not even if you "
"have the network drive mapped to a drive letter. If you attempt to use "
"Berkeley DB on a network share, the results are unpredictable - you may see "
"mysterious errors right away, or it may be months before you discover that "
"your repository database is subtly corrupted."
msgstr ""
"不要创建和访问网络共享上的 Berkeley DB 版本库。它<emphasis>不能</emphasis>存在"
"于远程文件系统。即使是映射到盘符的共享。如果你尝试在网络共享使用 Berkeley DB,"
"结果难以预料 - 你可能会立刻看到奇怪的错误,也有可能几个月之后才发现数据库已经"
"损坏了。"

#. (title)
msgid "Accessing a Repository on a Network Share"
msgstr "访问网络共享磁盘上的版本库"

#. (primary)
msgid "Network share"
msgstr "网络共享"

#. (para)
msgid ""
"Although in theory it is possible to put a FSFS repository on a network share "
"and have multiple users access it using <literal>file://</literal> protocol, "
"this is most definitely <emphasis>not</emphasis> recommended. In fact we "
"would <emphasis>strongly</emphasis> discourage it, and do not support such "
"use."
msgstr "尽管从理论上说,将一个FSFS格式的版本库放在网络中共享并且多用户通过<literal>file://</literal>协议访问是可以的。"
"但这样做是非常<emphasis>不</emphasis>推荐的。事实上我们<emphasis>强烈</emphasis>阻止这样做,并且不支持这样的用法。"

#. (para)
msgid ""
"Firstly you are giving every user direct write access to the repository, so "
"any user could accidentally delete the entire repository or make it unusable "
"in some other way."
msgstr ""
"首先,这样赋予所有用户对版本库的写权限,所以任何一个用户都可能意外的删除整个版"
"本库或者因为别的问题导致版本库不可用。"

#. (para)
msgid ""
"Secondly not all network file sharing protocols support the locking that "
"Subversion requires, so you may find your repository gets corrupted. It may "
"not happen straight away, but one day two users will try to access the "
"repository at the same time."
msgstr ""
"其次,不是所有的网络文件共享协议都支持Subversion需要的文件锁定,所以你会发现你"
"的版本库被毁了。它也许不会马上发生,但是总有一天会有2个用户同时访问版本库。"

#. (para)
msgid ""
"Thirdly the file permissions have to be set just so. You may just about get "
"away with it on a native Windows share, but SAMBA is particularly difficult."
msgstr ""
"第三,文件的权限必需要设置的井井有条。也许Windows的共享可以避开这个问题,但是"
"在SAMBA中却是相当困难的。"

#. (para)
msgid ""
"<literal>file://</literal> access is intended for local, single-user access "
"only, particularly testing and debugging. When you want to share the "
"repository you <emphasis>really</emphasis> need to set up a proper server, "
"and it is not nearly as difficult as you might think. Read <xref linkend="
"\"tsvn-serversetup\"/> for guidelines on choosing and setting up a server."
msgstr ""
"<literal>file://</literal>访问是为本机工作而准备的,只能单用户访问,特别是测试"
"和调试。当你打算共享版本库的时候,你<emphasis>真的</emphasis>需要设置一个适当"
"的服务器,而且它并不像你想象的那样困难。阅读<xref linkend=\"tsvn-serversetup"
"\"/>获得选择并设置服务器的指导。"

#. (title)
msgid "Repository Layout"
msgstr "版本库布局"

#. (para)
msgid ""
"Before you import your data into the repository you should first think about "
"how you want to organize your data. If you use one of the recommended layouts "
"you will later have it much easier."
msgstr ""
"在将你的数据导入到版本库之前,首先你得考虑如何组织你的数据。如果你使用一种推荐"
"的布局,你在后面的操作将会更容易许多。"

#. (para)
#, fuzzy
msgid ""
"There are some standard, recommended ways to organize a repository. Most "
"people create a <filename>trunk</filename> directory to hold the <quote>main "
"line</quote> of development, a <filename>branches</filename> directory to "
"contain branch copies, and a <filename>tags</filename> directory to contain "
"tag copies. If a repository holds only one project, then often people create "
"these top-level directories:"
msgstr ""
"有一些标准的、推荐的方式来组织一个版本库。大多数人建一个<filename>trunk</"
"filename>目录来存放开发的“主线”、一个<filename>branches</filename>目录来容纳分"
"支副本、以及一个<filename>tags</filename>目录来容纳标签复制。如果一个版本库只"
"存放一个项目,人们通常创建三个这样的顶层目录: "

#. (screen)
#, no-wrap
msgid ""
"\n"
"/trunk\n"
"/branches\n"
"/tags\n"
msgstr ""
"\n"
"/trunk\n"
"/branches\n"
"/tags\n"

#. (para)
msgid ""
"If a repository contains multiple projects, people often index their layout "
"by branch:"
msgstr "如果一个版本库包含多个项目,人们通常按分支来安排布局: "

#. (screen)
#, no-wrap
msgid ""
"\n"
"/trunk/paint\n"
"/trunk/calc\n"
"/branches/paint\n"
"/branches/calc\n"
"/tags/paint\n"
"/tags/calc\n"
msgstr ""
"\n"
"/trunk/paint\n"
"/trunk/calc\n"
"/branches/paint\n"
"/branches/calc\n"
"/tags/paint\n"
"/tags/calc\n"

#. (para)
msgid "...or by project:"
msgstr "……或者按项目: "

#. (screen)
#, no-wrap
msgid ""
"\n"
"/paint/trunk\n"
"/paint/branches\n"
"/paint/tags\n"
"/calc/trunk\n"
"/calc/branches\n"
"/calc/tags\n"
msgstr ""
"\n"
"/paint/trunk\n"
"/paint/branches\n"
"/paint/tags\n"
"/calc/trunk\n"
"/calc/branches\n"
"/calc/tags\n"

#. (para)
msgid ""
"Indexing by project makes sense if the projects are not closely related and "
"each one is checked out individually. For related projects where you may want "
"to check out all projects in one go, or where the projects are all tied "
"together in a single distribution package, it is often better to index by "
"branch. This way you have only one trunk to checkout, and the relationships "
"between the sub-projects is more easily visible."
msgstr ""
"如果项目不是密切相关,而且每一个是单独被检出,那么按项目布局是合理的。对于那些"
"你想一次检出所有项目,或需要将它们打成一个分发包的相关项目,按分支来布局通常比"
"较好。这种方式你只要检出一个分支,而且子项目之间的关系也比较清楚。"

#. (para)
msgid ""
"If you adopt a top level <filename>/trunk /tags /branches</filename> "
"approach, there is nothing to say that you have to copy the entire trunk for "
"every branch and tag, and in some ways this structure offers the most "
"flexibility."
msgstr ""
"如果你采用顶层<filename>/trunk /tags /branches</filename>这种方式,并不意味着"
"你必须复制整个主线为分支或标签,而且某些情况下这种结构更具灵活性。"

#. (para)
msgid ""
"For unrelated projects you may prefer to use separate repositories. When you "
"commit changes, it is the revision number of the whole repository which "
"changes, not the revision number of the project. Having 2 unrelated projects "
"share a repository can mean large gaps in the revision numbers. The "
"Subversion and TortoiseSVN projects appear at the same host address, but are "
"completely separate repositories allowing independent development, and no "
"confusion over build numbers."
msgstr ""
"对于不相关的项目,你可能更愿意使用不同的版本库。当你提交时,改变的是整个版本库"
"的修订号,而不是项目的。让两个不相关的项目共用一个版本库,会导致修订号出现较大"
"的跳跃。Subversion和TortoiseSVN项目看起来是在同一个主机地址,但是它们是在完全"
"独立的版本库中开发着,并且版本号也不相干。"

#. (para)
msgid ""
"Of course, you're free to ignore these common layouts. You can create any "
"sort of variation, whatever works best for you or your team. Remember that "
"whatever you choose, it's not a permanent commitment. You can reorganize your "
"repository at any time. Because branches and tags are ordinary directories, "
"TortoiseSVN can move or rename them however you wish."
msgstr ""
"当然,你完全可以不理会上面提及的通用布局。你可以自由改变,来满足你和你团队的需"
"要。请记住,不管你选择哪种布局,它都不是永久的。你可以在随时重新组织你的版本"
"库。因为分支和标签是普通的目录,只要你愿意,TortoiseSVN可以将它们移动或重命"
"名。"

#. (para)
msgid ""
"Switching from one layout to another is just a matter of issuing a series of "
"server-side moves; If you don't like the way things are organized in the "
"repository, just juggle the directories around."
msgstr ""
"从一种布局转换到另一种布局仅仅是在服务器端移动一些文件或目录;如果你不喜欢版本"
"库的组织形式,仅管大胆地修改那些目录。"

#. (para)
msgid "create a new empty folder on your hard drive"
msgstr "在你的硬盘上创建一个空的文件夹"

#. (para)
msgid ""
"create your desired top-level folder structure inside that folder - don't put "
"any files in it yet!"
msgstr "在那个文件夹下创建你想要的顶级目录--千万不要放任何文件进去!"

#. (para)
msgid ""
"import this structure into the repository via a <action>right click</action> "
"on the folder and selecting <menuchoice><guimenu>TortoiseSVN</"
"guimenu><guimenuitem>Import...</guimenuitem></menuchoice> This will import "
"your temp folder into the repository root to create the basic repository "
"layout."
msgstr ""
"通过在那个文件夹<action>右键</action>,选择<menuchoice><guimenu>TortoiseSVN</"
"guimenu><guimenuitem>导入...</guimenuitem></menuchoice> 将这个结构导入到版本库"
"中。这将导入临时文件夹到版本库的根目录形成一个基本的版本库布局。"

#. (para)
msgid ""
"So if you haven't already created a basic folder structure inside your "
"repository you should do that now. There are two ways to achieve this. If you "
"simply want to create a <filename>/trunk /tags /branches</filename> "
"structure, you can use the repository browser to create the three folders (in "
"three separate commits). If you want to create a deeper hierarchy then it is "
"simpler to create a folder structure on disk first and import it in a single "
"commit, like this: <placeholder-1/>"
msgstr ""

#. (para)
msgid ""
"Note that the name of the folder you are importing does not appear in the "
"repository, only its contents. For example, create the following folder "
"structure: <screen>\n"
"C:\\Temp\\New\\trunk\n"
"C:\\Temp\\New\\branches\n"
"C:\\Temp\\New\\tags\n"
"</screen> Import <filename>C:\\Temp\\New</filename> into the repository root, "
"which will then look like this: <screen>\n"
"/trunk\n"
"/branches\n"
"/tags\n"
"</screen>"
msgstr ""
"注意,你所导入的那个文件夹的名字并不存在于版本库中,仅仅是它所包含的内容。比"
"如,创建如下结构的文件夹<screen>\n"
"C:\\Temp\\New\\trunk\n"
"C:\\Temp\\New\\branches\n"
"C:\\Temp\\New\\tags\n"
"</screen>导入<filename>C:\\Temp\\New</filename>到版本库的根目录,版本库中将会"
"是这样: <screen>\n"
"/trunk\n"
"/branches\n"
"/tags\n"
"</screen>"

#. (title)
msgid "Repository Backup"
msgstr "版本库备份"

#. (primary)
msgid "backup"
msgstr "备份"

#. (para)
msgid ""
"Whichever type of repository you use, it is vitally important that you "
"maintain regular backups, and that you verify the backup. If the server "
"fails, you may be able to access a recent version of your files, but without "
"the repository all your history is lost forever."
msgstr ""
"无论你使用何种版本库,定期维护和验证版本库备份非常重要,或许你可以访问最近版本"
"的文件,但是如果没有版本库,所有的历史将会丢失。"

#. (para)
msgid ""
"The simplest (but not recommended) way is just to copy the repository folder "
"onto the backup medium. However, you have to be absolutely sure that no "
"process is accessing the data. In this context, access means <emphasis>any</"
"emphasis> access at all. A BDB repository is written to even when the "
"operation only appears to require reading, such as getting status. If your "
"repository is accessed at all during the copy, (web browser left open, "
"WebSVN, etc.) the backup will be worthless."
msgstr ""
"最简单(但不推荐)的方法是复制整个版本库目录到备份介质,然而你必须绝对确定没有访"
"问数据的进程,在这里“访问”的意思是<emphasis>任何</emphasis>访问,一个BDB版本库"
"即使在访问看起来只需要读时也会有写操作,如果在复制时版本库被访问了(web浏览器,"
"WebSVN等等),备份将毫无价值。"

#. (para)
msgid ""
"The recommended method is to run <screen>\n"
"svnadmin hotcopy path/to/repository path/to/backup --clean-logs\n"
"</screen> to create a copy of your repository in a safe manner. Then backup "
"the copy. The <literal>--clean-logs</literal> option is not required, but "
"removes any redundant log files when you backup a BDB repository, which may "
"save some space."
msgstr ""
"推荐的方法是运行<screen>\n"
"svnadmin hotcopy path/to/repository path/to/backup --clean-logs\n"
"</screen>,用一种安全的方式创建版本库的备份,备份是一个副本,<literal>--clean-"
"logs</literal>选项并不必须,但是通过删除BDB版本库中多余的日志文件可以节省一些"
"空间。"

#. (para)
msgid ""
"The <literal>svnadmin</literal> tool is installed automatically when you "
"install the Subversion command line client. If you are installing the command "
"line tools on a Windows PC, the best way is to download the Windows installer "
"version. It is compressed more efficiently than the <filename>.zip</filename> "
"version, so the download is smaller, and it takes care of setting the paths "
"for you. You can download the latest version of the Subversion command line "
"client from <ulink url=\"http://subversion.tigris.org/servlets/"
"ProjectDocumentList?folderID=91\"><citetitle>http://subversion.tigris.org/"
"servlets/ProjectDocumentList?folderID=91</citetitle></ulink>."
msgstr ""
"<literal>svnadmin</literal>在安装Subversion命令行客户端时会自动安装,如果你在"
"Windows PC上安装这个命令行工具,最好的方式是下载Windows安装版本,它比"
"<filename>.zip</filename>版本的压缩效率更好,所以更小,并且小心的为你设定路"
"径。你可以从<ulink url=\"http://subversion.tigris.org/servlets/"
"ProjectDocumentList?folderID=91\"><citetitle>http://subversion.tigris.org/"
"servlets/ProjectDocumentList?folderID=91</citetitle></ulink>下载最新版本的命令"
"行客户端。"

#. (title)
msgid "Server side hook scripts"
msgstr "服务器端钩子脚本"

#. (primary)
msgid "hooks"
msgstr "钩子"

#. (primary)
#. (primary)
msgid "hook scripts"
msgstr "钩子脚本"

#. (primary)
msgid "server side hook scripts"
msgstr "服务器端钩子脚本"

#. (para)
#, fuzzy
msgid ""
"A hook script is a program triggered by some repository event, such as the "
"creation of a new revision or the modification of an unversioned property. "
"Each hook is handed enough information to tell what that event is, what target"
"(s) it's operating on, and the username of the person who triggered the "
"event. Depending on the hook's output or return status, the hook program may "
"continue the action, stop it, or suspend it in some way. Please refer to the "
"chapter on <ulink url=\"http://svnbook.red-bean.com/en/1.5/svn.reposadmin."
"create.html#svn.reposadmin.create.hooks\"><citetitle>Hook Scripts</"
"citetitle></ulink> in the Subversion Book for full details about the hooks "
"which are implemented."
msgstr ""
"钩子脚本是被一些版本库事件触发的程序,例如创建新版本,或修改非版本控制的属性。"
"每种钩子都会被告知事件的足够信息,操作的目标,触发事件的用户名。依赖于钩子的输"
"出或返回状态,钩子程序可以继续执行,停止或以某种方式挂起。请参阅 Subversion 手"
"册的 <ulink url=\"http://svnbook.red-bean.com/en/1.4/svn.reposadmin.create."
"html#svn.reposadmin.create.hooks\"><citetitle>钩子脚本</citetitle></ulink> 部"
"分以获得关于实现钩子的细节。"

#. (para)
msgid ""
"These hook scripts are executed by the server that hosts the repository. "
"TortoiseSVN also allows you to configure client side hook scripts that are "
"executed locally upon certain events. See <xref linkend=\"tsvn-dug-settings-"
"hooks\"/> for more information."
msgstr ""
"这些钩子脚本被版本库所在的服务器执行。TortoiseSVN 也允许你配置由确定事件触发,"
"在本地执行的客户端脚本。请参看 <xref linkend=\"tsvn-dug-settings-hooks\"/> 以"
"获得更多信息。"

#. (para)
msgid ""
"Sample hook scripts can be found in the <filename>hooks</filename> directory "
"of the repository. These sample scripts are suitable for Unix/Linux servers "
"but need to be modified if your server is Windows based. The hook can be a "
"batch file or an executable. The sample below shows a batch file which might "
"be used to implement a pre-revprop-change hook. <screen>\n"
"rem Only allow log messages to be changed.\n"
"if \"%4\" == \"svn:log\" exit 0\n"
"echo Property '%4' cannot be changed &gt;&amp;2\n"
"exit 1\n"
"</screen> Note that anything sent to stdout is discarded. if you want a "
"message to appear in the Commit Reject dialog you must send it to stderr. In "
"a batch file this is achieved using <filename>&gt;&amp;2</filename>"
msgstr ""
"版本库的<filename>hooks</filename>目录中有一些钩子的例子脚本,这些例子脚本适合"
"于Unix/Linux服务器,在Windows下需要修改。钩子可以是批处理文件或可执行文件,下"
"面是用来实现pre-revprop-change钩子的例子。<screen>\n"
"rem Only allow log messages to be changed.\n"
"if \"%4\" == \"svn:log\" exit 0\n"
"echo Property '%4' cannot be changed &gt;&amp;2\n"
"exit 1\n"
"</screen>请注意所有发送到标准输出的东西都会被忽略,如果你希望信息出现在拒绝提"
"交对话框中,你需要将这些信息发送到标准错误,在一个批处理文件中使用"
"<filename>&gt;&amp;2</filename>实现。"

#. (title)
msgid "Checkout Links"
msgstr "检出链接"

#. (primary)
msgid "checkout link"
msgstr "检出链接"

#. (primary)
msgid "TortoiseSVN link"
msgstr "TortoiseSVN 链接"

#. (primary)
msgid "link"
msgstr "链接"

#. (primary)
msgid "website"
msgstr "WEB 站点"

#. (para)
msgid ""
"If you want to make your Subversion repository available to others you may "
"want to include a link to it from your website. One way to make this more "
"accessible is to include a <firstterm>checkout link</firstterm> for other "
"TortoiseSVN users."
msgstr ""
"如果你希望你的 Subversion 版本库对于别人可用,你可以在你的站点包含一个链接。为"
"了让其更加容易访问,你可以为其它 TortoiseSVN 用户包含一个<firstterm>检出链接</"
"firstterm>。"

#. (para)
msgid ""
"When you install TortoiseSVN, it registers a new <literal>tsvn:</literal> "
"protocol. When a TortoiseSVN user clicks on such a link, the checkout dialog "
"will open automatically with the repository URL already filled in."
msgstr ""
"当你安装了 TortoiseSVN,它会注册一个 <literal>tsvn:</literal> 协议,当 "
"TortoiseSVN 用户点击这样一个链接,检出窗口会自动弹出,且版本库 URL 已经填入。"

#. (programlisting)
#, fuzzy, no-wrap
msgid ""
"\n"
"&lt;a href=\"tsvn:http://project.domain.org/svn/trunk\"&gt;\n"
"&lt;/a&gt;\n"
msgstr ""
"\n"
"&lt;a href=\"tsvn:https://tortoisesvn.tigris.org/svn/tortoisesvn/trunk\"&gt;\n"
"&lt;/a&gt;\n"

#. (para)
#, fuzzy
msgid ""
"To include such a link in your own html page, you need to add code which "
"looks something like this: <placeholder-1/>"
msgstr ""
"为了在你自己的网页上包含这样一个链接,你需要添加类似下面的代码: <screen>\n"
"&lt;a href=\"tsvn:https://tortoisesvn.tigris.org/svn/tortoisesvn/trunk\"&gt;"
"&lt;/a&gt;\n"
"</screen>"

#. (programlisting)
#, fuzzy, no-wrap
msgid ""
"\n"
"&lt;a href=\"tsvn:http://project.domain.org/svn/trunk\"&gt;\n"
"&lt;img src=TortoiseCheckout.png&gt;&lt;/a&gt;\n"
msgstr ""
"\n"
"&lt;a href=\"tsvn:https://tortoisesvn.tigris.org/svn/tortoisesvn/trunk\"&gt;\n"
"&lt;img src=TortoiseCheckout.png&gt;&lt;/a&gt;\n"

#. (para)
#, fuzzy
msgid ""
"Of course it would look even better if you included a suitable picture. You "
"can use the <ulink url=\"http://tortoisesvn.tigris.org/images/"
"TortoiseCheckout.png\"><citetitle>TortoiseSVN logo</citetitle></ulink> or you "
"can provide your own image. <placeholder-1/>"
msgstr ""
"当然,如果你提供一个合适的图片会更好,你可以使用<ulink url=\"http://"
"tortoisesvn.tigris.org/images/TortoiseCheckout.png\"><citetitle>TortoiseSVN "
"logo</citetitle></ulink>,也可以使用自己的图片。<screen>\n"
"&lt;a href=\"tsvn:https://tortoisesvn.tigris.org/svn/tortoisesvn/trunk\"&gt;\n"
"&lt;img src=TortoiseCheckout.png&gt;&lt;/a&gt;\n"
"</screen>"

#. (programlisting)
#, fuzzy, no-wrap
msgid ""
"\n"
"&lt;a href=\"tsvn:http://project.domain.org/svn/trunk?100\"&gt;\n"
"&lt;/a&gt;\n"
msgstr ""
"\n"
"&lt;a href=\"tsvn:https://tortoisesvn.tigris.org/svn/tortoisesvn/trunk?100\"&gt;\n"
"&lt;/a&gt;\n"

#. (para)
msgid ""
"You can also make the link point to a specific revision, for example "
"<placeholder-1/>"
msgstr ""

#. (title)
#, fuzzy
msgid "Accessing the Repository"
msgstr "本地访问版本库"

#. (para)
#, fuzzy
msgid ""
"To use TortoiseSVN (or any other Subversion client), you need a place where "
"your repositories are located. You can either store your repositories locally "
"and access them using the <literal>file://</literal> protocol or you can "
"place them on a server and access them with the <literal>http://</literal> or "
"<literal>svn://</literal> protocols. The two server protocols can also be "
"encrypted. You use <literal>https://</literal> or <literal>svn+ssh://</"
"literal>, or you can use <literal>svn://</literal> with SASL."
msgstr ""
"为了使用TortoiseSVN(或任何其他Subversion客户端),你需要放置你的版本库,你可以"
"将版本库存于本地并使用<emphasis>file://</emphasis>协议访问,也可以放置于服务"
"器,使用<emphasis>http://</emphasis>或<emphasis>svn://</emphasis>访问,这两种"
"服务器协议也可以被加密,使用<emphasis>https://</emphasis>或<emphasis>svn"
"+ssh://</emphasis>。本章介绍了在Windows主机上设置一个服务器的步骤。"

#. (para)
msgid ""
"If you are using a public hosting service such as <ulink url=\"http://code."
"google.com/hosting/\"><citetitle>Google Code</citetitle></ulink> or your "
"server has already been setup by someone else then there is nothing else you "
"need to do. Move along to <xref linkend=\"tsvn-dug\"/>."
msgstr ""

#. (para)
#, fuzzy
msgid ""
"If you don't have a server and you work alone, or if you are just evaluating "
"Subversion and TortoiseSVN in isolation, then local repositories are probably "
"your best choice. Just create a repository on your own PC as described "
"earlier in <xref linkend=\"tsvn-repository\"/>. You can skip the rest of this "
"chapter and go directly to <xref linkend=\"tsvn-dug\"/> to find out how to "
"start using it."
msgstr ""
"如果你没有一个服务器,或者你独自工作,本地版本库会是你的最佳选择,你可以跳过本"
"章,直接到<xref linkend=\"tsvn-repository\"/>。"

#. (para)
msgid ""
"If you were thinking about setting up a multi-user repository on a network "
"share, think again. Read <xref linkend=\"tsvn-repository-local-share\"/> to "
"find out why we think this is a bad idea. Setting up a server is not as hard "
"as it sounds, and will give you better reliability and probably speed too."
msgstr ""

#. (para)
#, fuzzy
msgid ""
"The next sections are a step-by-step guide on how you can set up such a "
"server on a Windows machine. Of course you can also set up a server on a "
"Linux machine, but that is beyond the scope of this guide. More detailed "
"information on the Subversion server options, and how to choose the best "
"architecture for your situation, can be found in the Subversion book under "
"<ulink url=\"http://svnbook.red-bean.com/en/1.5/svn.serverconfig.html"
"\"><citetitle>Server Configuration</citetitle></ulink>."
msgstr ""
"关于 Subversion 服务器选项的详细信息,以及如何根据你的情况选择最好的架构,可以"
"参考 Subversion 手册的<ulink url=\"http://svnbook.red-bean.com/en/1.4/svn."
"serverconfig.html\"><citetitle>服务器配置</citetitle></ulink>。"

#. (title)
msgid "Svnserve Based Server"
msgstr "基于 svnserve 的服务器"

#. (para)
msgid ""
"Subversion includes Svnserve - a lightweight stand-alone server which uses a "
"custom protocol over an ordinary TCP/IP connection. It is ideal for smaller "
"installations, or where a full blown Apache server cannot be used."
msgstr ""

#. (para)
#, fuzzy
msgid ""
"In most cases svnserve is easier to setup and runs faster than the Apache "
"based server, although it doesn't have some of the advanced features. And now "
"that SASL support is included it is easy to secure as well."
msgstr "大多数情况下svnserve的设置更加简单,也比Apache的服务器更加快。"

#. (title)
msgid "Installing svnserve"
msgstr "安装 svnserve"

#. (para)
msgid ""
"Get the latest version of Subversion from <ulink url=\"http://subversion."
"tigris.org/servlets/ProjectDocumentList?folderID=91\"><citetitle>http://"
"subversion.tigris.org/servlets/ProjectDocumentList?folderID=91</citetitle></"
"ulink>. Alternatively get a pre-packaged installer from CollabNet at <ulink "
"url=\"http://www.collab.net/downloads/subversion\"><citetitle>http://www."
"collab.net/downloads/subversion</citetitle></ulink>. This installer will "
"setup svnserve as a Windows service, and also includes some of the tools you "
"need if you are going to use SASL for security."
msgstr ""

#. (para)
msgid ""
"If you already have a version of Subversion installed, and svnserve is "
"running, you will need to stop it before continuing."
msgstr ""
"如果你已经安装了Subversion,svnserve已经运行,你需要在继续之前把它停下来。"

#. (para)
#, fuzzy
msgid ""
"Run the Subversion installer. If you run the installer on your server "
"(recommended) you can skip step 4."
msgstr "运行Subversion安装程序,如果你在你的服务器上运行,可以跳过第4步。"

#. (para)
msgid ""
"Open the windows-explorer, go to the installation directory of Subversion "
"(usually <filename>C:\\Program Files\\Subversion</filename>) and in the "
"<filename>bin</filename> directory, find the files <filename>svnserve.exe</"
"filename>, <filename>intl3_svn.dll</filename>, <filename>libapr.dll</"
"filename>, <filename>libapriconv.dll</filename>, <filename>libapriutil.dll</"
"filename>, <filename>libdb*.dll</filename>, <filename>libeay32.dll</filename> "
"and <filename>ssleay32.dll</filename> - copy these files, or just copy all of "
"the <filename>bin</filename> directory, into a directory on your server e.g. "
"<filename>c:\\svnserve</filename>"
msgstr ""
"打开资源管理器,进入Subversion的安装目录(通常是<filename>C:\\Program Files"
"\\Subversion</filename>)的<filename>bin</filename>目录,找到文件"
"<filename>svnserve.exe</filename>,<filename>intl3_svn.dll</filename>,"
"<filename>libapr.dll</filename>,<filename>libapriconv.dll</filename>,"
"<filename>libapriutil.dll</filename>,<filename>libdb*.dll</filename>,"
"<filename>libeay32.dll</filename>和<filename>ssleay32.dll</filename>,复制这些"
"文件,或所有<filename>bin</filename>目录内的文件到你的服务器目录,例如"
"<filename>c:\\svnserve</filename>。"

#. (title)
msgid "Running svnserve"
msgstr "运行 svnserve"

#. (para)
msgid ""
"Now that svnserve is installed, you need it running on your server. The "
"simplest approach is to run the following from a DOS shell or create a "
"windows shortcut: <screen>\n"
"svnserve.exe --daemon\n"
"</screen> svnserve will now start waiting for incoming requests on port 3690. "
"The --daemon switch tells svnserve to run as a daemon process, so it will "
"always exist until it is manually terminated."
msgstr ""
"现在svnserve已经安装了,你需要在你的server运行它,最简单的方法是在DOS窗口或者"
"windows快捷方式输入: <screen>\n"
"svnserve.exe --daemon\n"
"</screen>svnserve将会在端口3690等待请求,--daemon选项告诉svnserve以守护进程方"
"式运行,这样在手动终止之前不会退出。"

#. (para)
msgid ""
"If you have not yet created a repository, follow the instructions given with "
"the Apache server setup <xref linkend=\"tsvn-serversetup-apache-4\"/>."
msgstr ""
"如果你没有创建一个版本库,根据下面的Apache服务器设置指令<xref linkend=\"tsvn-"
"serversetup-apache-4\"/>。"

#. (para)
msgid ""
"To test that svnserve is working, use <menuchoice><guimenu>TortoiseSVN</"
"guimenu><guimenuitem>Repo-Browser</guimenuitem></menuchoice> to view a "
"repository."
msgstr ""
"为了验证svnserve正常工作,使用<menuchoice><guimenu>TortoiseSVN</"
"guimenu><guimenuitem>版本库浏览器</guimenuitem></menuchoice>来查看版本库。"

#. (para)
msgid ""
"Assuming your repository is located in <filename>c:\\repos\\TestRepo</"
"filename>, and your server is called <filename>localhost</filename>, enter: "
"<screen>\n"
"svn://localhost/repos/TestRepo\n"
"</screen> when prompted by the repo browser."
msgstr ""
"假定你的版本库位于<filename>c:\\repos\\TestRepo</filename>,你的服务器叫做"
"<filename>localhost</filename>,输入: <screen>\n"
"svn://localhost/repos/TestRepo\n"
"</screen>当被版本库浏览器提示输入。"

#. (para)
msgid ""
"You can also increase security and save time entering URLs with svnserve by "
"using the --root switch to set the root location and restrict access to a "
"specified directory on the server: <screen>\n"
"svnserve.exe --daemon --root drive:\\path\\to\\repository\\root\n"
"</screen> Using the previous test as a guide, svnserve would now run as: "
"<screen>\n"
"svnserve.exe --daemon --root c:\\repos\n"
"</screen> And in TortoiseSVN our repo-browser URL is now shortened to: "
"<screen>\n"
"svn://localhost/TestRepo\n"
"</screen> Note that the --root switch is also needed if your repository is "
"located on a different partition or drive than the location of svnserve on "
"your server."
msgstr ""
"你也可以使用 --root 选项设置根位置来限制访问服务器的目录,从而增加安全性和节约"
"输入 svnserve URL 的时间: <screen>\n"
"svnserve.exe --daemon --root drive:\\path\\to\\repository\\root\n"
"</screen>以前面的测试为例,svnserve 现在的运行命令为: <screen>\n"
"svnserve.exe --daemon --root c:\\repos\n"
"</screen>然后在 TortoiseSVN 中我们的版本库浏览器 URL 缩短为: <screen>\n"
"svn://localhost/TestRepo\n"
"</screen>注意,当 svnserve 和版本库位于不同分区或盘符时也需要使用 --root 选"
"项。"

#. (para)
msgid ""
"Svnserve will service any number of repositories. Just locate them somewhere "
"below the root folder you just defined, and access them using a URL relative "
"to that root."
msgstr ""
"Svnserve 可以提供任意数量的版本库服务。只要将这些版本库放到你刚才定义的根目录"
"下即可,然后使用相对于根的URL访问它们。"

#. (title)
msgid "Run svnserve as a Service"
msgstr "以服务形式运行 svnserve"

#. (para)
msgid ""
"Running svnserve as a user is usually not the best way. It means always "
"having a user logged in on your server, and remembering to restart it after a "
"reboot. A better way is to run svnserve as a windows service. Starting with "
"Subversion 1.4, svnserve can be installed as a native windows service."
msgstr ""
"使用普通用户直接运行 svnserve 通常不是最好的方法。它意味着你的服务器必须有一个"
"用户登录,还要记着重新启动服务器后重新启动 svnserve。最好的方法是将 svnserve "
"作为 windows 服务运行。从 Subversion 1.4 开始,svnserve 可以安装为 windows 服"
"务。"

#. (para)
#, fuzzy
msgid ""
"To install svnserve as a native windows service, execute the following "
"command all on one line to create a service which is automatically started "
"when windows starts. <screen>\n"
"sc create svnserve binpath= \"c:\\svnserve\\svnserve.exe --service \n"
" --root c:\\repos\" displayname= \"Subversion\" depend= tcpip \n"
" start= auto\n"
"</screen> If any of the paths include spaces, you have to use (escaped) "
"quotes around the path, like this: <screen>\n"
"sc create svnserve binpath= \"\n"
" \\\"C:\\Program Files\\Subversion\\bin\\svnserve.exe\\\"\n"
" --service --root c:\\repos\" displayname= \"Subversion\" \n"
" depend= tcpip start= auto\n"
"</screen> You can also add a description after creating the service. This "
"will show up in the Windows Services Manager. <screen>\n"
"sc description svnserve \"Subversion server (svnserve)\"\n"
"</screen>"
msgstr ""
"为了将 svnserve 安装为 Windows 服务,在一行内执行下面的命令,创建一个当 "
"Windows 启动后,自动启动的服务。<screen>\n"
"sc create svnserve binpath= \"c:\\svnserve\\svnserve.exe --service \n"
" --root c:\\repos\" displayname= \"Subversion\" depend= tcpip start= auto\n"
"</screen> 如果任一个路径包含空格,你必须使用双引号(逃逸字符)包含路径,例如:"
"<screen>\n"
"sc create svnserve binpath= \"\\\"C:\\Program Files\\Subversion\\bin"
"\\svnserve.exe\\\"\n"
" --service --root c:\\repos\" displayname= \"Subversion\" depend= tcpip "
"start= auto\n"
"</screen> 在创建服务以后,你还可以增加描述。它在 Windows 服务管理器中显示。"
"<screen>\n"
"sc description svnserve \"Subversion server (svnserve)\"\n"
"</screen>"

#. (para)
msgid ""
"Note the rather unusual command line format used by <literal>sc</literal>. In "
"the <literal>key= value</literal> pairs there must be no space between the "
"key and the <literal>=</literal> but there must be a space before the value."
msgstr ""
"注意 <literal>sc</literal> 的命令行很特殊。在 <literal>key= value</literal> 对"
"中,key 与 <literal>=</literal> 之间不能有空格,但是在 value 之前,必须有空"
"格。"

#. (para)
msgid ""
"Microsoft now recommend services to be run as under either the Local Service "
"or Network Service account. Refer to <ulink url=\"http://www.microsoft.com/"
"technet/security/topics/serversecurity/serviceaccount/default.mspx"
"\"><citetitle>The Services and Service Accounts Security Planning Guide</"
"citetitle></ulink>. To create the service under the Local Service account, "
"append the following to the example above. <screen>\n"
"obj= \"NT AUTHORITY\\LocalService\"\n"
"</screen> Note that you would have to give the Local Service account "
"appropriate rights to both Subversion and your repositories, as well as any "
"applications which are used by hook scripts. The built-in group for this is "
"called \"LOCAL SERVICE\"."
msgstr ""
"Microsoft 现在建议服务程序使用本地服务或网络服务帐户运行,参考 <ulink url="
"\"http://www.microsoft.com/technet/security/topics/serversecurity/"
"serviceaccount/default.mspx\"><citetitle>The Services and Service Accounts "
"Security Planning Guide</citetitle></ulink>。以本地服务帐户创建服务,需要在上"
"面的例子里追加下面几行。<screen>\n"
"obj= \"NT AUTHORITY\\LocalService\"\n"
"</screen>请注意需要给本地服务帐户一些目录的适当权限,包括的 Subversion 和你的"
"版本库,还有所有钩子脚本使用的应用。此帐号的内置组名是\"LOCAL SERVICE\"。"

#. (para)
msgid ""
"Once you have installed the service, you need to go to the services manager "
"to start it (this time only; it will start automatically when the server "
"reboots)."
msgstr ""
"服务安装完毕后,你需要在服务管理器中启动它(仅此一次;当服务器重启后它会自动启"
"动)。"

#. (para)
msgid ""
"For more detailed information, refer to <ulink url=\"http://svn.collab.net/"
"repos/svn/trunk/notes/windows-service.txt\"><citetitle>Windows Service "
"Support for Svnserve</citetitle></ulink>."
msgstr ""
"为了得到更详细的信息,可参考 <ulink url=\"http://svn.collab.net/repos/svn/"
"trunk/notes/windows-service.txt\"><citetitle>Windows Service Support for "
"Svnserve</citetitle></ulink>。"

#. (para)
msgid ""
"If you installed an earlier version of svnserve using the "
"<literal>SVNService</literal> wrapper, and you now want to use the native "
"support instead, you will need to unregister the wrapper as a service "
"(remember to stop the service first!). Simply use the command <screen>\n"
"svnservice -remove\n"
"</screen> to remove the service registry entry."
msgstr ""
"如果你已经使用 <literal>SvnService</literal> 包装安装了早期的 svnserve,现在想"
"使用内置服务,那么你需要将其从服务中删除(切记先停止服务!)。使用简单的命令 "
"<screen>\n"
"svnservice -remove\n"
"</screen> 即可删除服务。"

#. (title)
msgid "Basic Authentication with svnserve"
msgstr "svnserve 与基本认证"

#. (para)
#, fuzzy
msgid ""
"The default svnserve setup provides anonymous read-only access. This means "
"that you can use an <literal>svn://</literal> URL to checkout and update, or "
"use the repo-browser in TortoiseSVN to view the repository, but you won't be "
"able to commit any changes."
msgstr ""
"缺省的 svnserve 配置提供了匿名的只读访问。这意味着你可以使用 <filename>svn://"
"</filename> 的 URL 进行检出和更新,或者使用 TortoiseSVN 的版本库浏览器查看版本"
"库,但是不能提交任何修改。"

#. (para)
msgid ""
"To enable write access to a repository, you need to edit the <filename>conf/"
"svnserve.conf</filename> file in your repository directory. This file "
"controls the configuration of the svnserve daemon, and also contains useful "
"documentation."
msgstr ""
"为了打开对版本库的写访问,你可以编辑版本库目录的<filename>conf/svnserve.conf</"
"filename>文件,这个文件控制了svnserve守护进程的配置,也提供了有用的文档。"

#. (para)
msgid ""
"You can enable anonymous write access by simply setting: <screen>\n"
"[general]\n"
"anon-access = write\n"
"</screen> However, you will not know who has made changes to a repository, as "
"the <literal>svn:author</literal> property will be empty. You will also be "
"unable to control who makes changes to a repository. This is a somewhat risky "
"setup!"
msgstr ""
"为了打开匿名的写访问,只需要简单得设置: <screen>\n"
"[general]\n"
"anon-access = write\n"
"</screen>然而,你不会知道谁修改了版本库,因为<literal>svn:author</literal>属性"
"是空的,你也不能控制谁来修改版本库,这是一个很危险的设置。"

#. (para)
msgid ""
"One way to overcome this is to create a password database: <screen>\n"
"[general]\n"
"anon-access = none\n"
"auth-access = write\n"
"password-db = userfile\n"
"</screen> Where <filename>userfile</filename> is a file which exists in the "
"same directory as <filename>svnserve.conf</filename>. This file can live "
"elsewhere in your file system (useful for when you have multiple repositories "
"which require the same access rights) and may be referenced using an absolute "
"path, or a path relative to the <filename>conf</filename> directory. If you "
"include a path, it must be written <filename>/the/unix/way</filename>. Using "
"\\ or drive letters will not work. The <filename>userfile</filename> should "
"have a structure of: <screen>\n"
"[users]\n"
"username = password\n"
"...\n"
"</screen> This example would deny all access for unauthenticated (anonymous) "
"users, and give read-write access to users listed in <filename>userfile</"
"filename>."
msgstr ""
"解决这个问题的一个方法是创建密码数据库: <screen>\n"
"[general]\n"
"anon-access = none\n"
"auth-access = write\n"
"password-db = userfile\n"
"</screen>这里的 <literal>userfile</literal> 与 <filename>svnserve.conf</"
"filename> 文件在同一个目录,这个文件也可以存在于文件系统的其他地方(当多个版本"
"库使用相同的访问权限时尤其有用),可以使用绝对路径,或者是 <filename>conf</"
"filename> 的相对目录,使用 \\ 或盘符不能工作。<filename>userfile</filename> 的"
"结构如下:<screen>\n"
"[general]\n"
"anon-access = none\n"
"auth-access = write\n"
"password-db = userfile\n"
"</screen>这个例子拒绝所有的未认证用户(匿名)访问,给 <filename>userfile</"
"filename> 中的用户读写权限。"

#. (para)
#, fuzzy
msgid ""
"If you maintain multiple repositories using the same password database, the "
"use of an authentication realm will make life easier for users, as "
"TortoiseSVN can cache your credentials so that you only have to enter them "
"once. More information can be found in the Subversion book, specifically in "
"the sections <ulink url=\"http://svnbook.red-bean.com/en/1.5/svn.serverconfig."
"svnserve.html#svn.serverconfig.svnserve.auth.users\"><citetitle>Create a "
"'users' file and realm</citetitle></ulink> and <ulink url=\"http://svnbook."
"red-bean.com/en/1.5/svn.serverconfig.netmodel.html#svn.serverconfig.netmodel."
"credcache\"><citetitle>Client Credentials Caching</citetitle></ulink>"
msgstr ""
"如果使用相同的密码数据库维护多个版本库,使用一个认证域将让用户的工作更加简单,"
"因为 TortoiseSVN 可以缓存你的凭证,所以你只需要输入一次,更多的信息可以参考 "
"Subversion 手册的 <ulink url=\"http://svnbook.red-bean.com/en/1.4/svn."
"serverconfig.svnserve.html#svn.serverconfig.svnserve.auth.users\"><citetitle>"
"创建用户文件和域</citetitle></ulink> 和 <ulink url=\"http://svnbook.red-bean."
"com/en/1.4/svn.serverconfig.netmodel.html#svn.serverconfig.netmodel.credcache"
"\"><citetitle>客户端凭证缓存</citetitle></ulink>。"

#. (title)
msgid "Better Security with SASL"
msgstr "使用 SASL 以便更安全"

#. (primary)
msgid "SASL"
msgstr "SASL"

#. (title)
msgid "What is SASL?"
msgstr "什么是 SASL?"

#. (para)
msgid ""
"The Cyrus Simple Authentication and Security Layer is open source software "
"written by Carnegie Mellon University. It adds generic authentication and "
"encryption capabilities to any network protocol, and as of Subversion 1.5 and "
"later, both the svnserve server and TortoiseSVN client know how to make use "
"of this library."
msgstr ""

#. (para)
msgid ""
"For a more complete discussion of the options available, you should look at "
"the Subversion book in the section <ulink url=\"http://svnbook.red-bean.com/"
"en/1.5/svn.serverconfig.svnserve.html#svn.serverconfig.svnserve.sasl"
"\"><citetitle>Using svnserve with SASL</citetitle></ulink>. If you are just "
"looking for a simple way to set up secure authentication and encryption on a "
"Windows server, so that your repository can be accessed safely over the big "
"bad Internet, read on."
msgstr ""

#. (title)
msgid "SASL Authentication"
msgstr "SASL 认证"

#. (para)
msgid ""
"To activate specific SASL mechanisms on the server, you'll need to do three "
"things. First, create a <literal>[sasl]</literal> section in your "
"repository's <filename>svnserve.conf</filename> file, with this key-value "
"pair: <screen>\n"
"use-sasl = true\n"
"</screen>"
msgstr ""

#. (para)
msgid ""
"Second, create a file called <filename>svn.conf</filename> in a convenient "
"location - typically in the directory where subversion is installed."
msgstr ""

#. (para)
msgid ""
"Thirdly, create two new registry entries to tell SASL where to find things. "
"Create a registry key named <literal>[HKEY_LOCAL_MACHINE\\SOFTWARE\\Carnegie "
"Mellon\\Project Cyrus\\SASL Library]</literal> and place two new string "
"values inside it: <literal>SearchPath</literal> set to the directory path "
"containing the <filename>sasl*.dll</filename> plug-ins (normally in the "
"Subversion install directory), and <literal>ConfFile</literal> set to the "
"directory containing the <filename>svn.conf</filename> file. If you used the "
"CollabNet installer, these registry keys will already have been created for "
"you."
msgstr ""

#. (para)
msgid ""
"Edit the <filename>svn.conf</filename> file to contain the following: "
"<screen>\n"
"pwcheck_method: auxprop\n"
"auxprop_plugin: sasldb\n"
"mech_list: DIGEST-MD5\n"
"sasldb_path: C:\\TortoiseSVN\\sasldb\n"
"</screen> The last line shows the location of the authentication database, "
"which is a file called <filename>sasldb</filename>. This could go anywhere, "
"but a convenient choice is the repository parent path. Make sure that the "
"svnserve service has read access to this file."
msgstr ""

#. (para)
msgid ""
"If svnserve was already running, you will need to restart it to ensure it "
"reads the updated configuration."
msgstr ""

#. (para)
msgid ""
"Now that everything is set up, all you need to do is create some users and "
"passwords. To do this you need the <literal>saslpasswd2</literal> program. If "
"you used the CollabNet installer, that program will be in the install "
"directory. Use a command something like this: <screen>\n"
"saslpasswd2 -c -f C:\\TortoiseSVN\\sasldb -u realm username\n"
"</screen> The <literal>-f</literal> switch gives the database location, "
"<literal>realm</literal> must be the same as the value you defined in your "
"repository's <filename>svnserve.conf</filename> file, and username is exactly "
"what you expect it to be. Note that the realm is not allowed to contain space "
"characters."
msgstr ""

#. (para)
msgid ""
"You can list the usernames stored in the database using the "
"<literal>sasldblistusers2</literal> program."
msgstr ""

#. (title)
msgid "SASL Encryption"
msgstr "SASL 加密"

#. (para)
msgid ""
"To enable or disable different levels of encryption, you can set two values "
"in your repository's <filename>svnserve.conf</filename> file: <screen>\n"
"[sasl]\n"
"use-sasl = true\n"
"min-encryption = 128\n"
"max-encryption = 256\n"
"</screen>"
msgstr ""

#. (para)
msgid ""
"The <literal>min-encryption</literal> and <literal>max-encryption</literal> "
"variables control the level of encryption demanded by the server. To disable "
"encryption completely, set both values to 0. To enable simple checksumming of "
"data (i.e., prevent tampering and guarantee data integrity without "
"encryption), set both values to 1. If you wish to allow (but not require) "
"encryption, set the minimum value to 0, and the maximum value to some bit-"
"length. To require encryption unconditionally, set both values to numbers "
"greater than 1. In our previous example, we require clients to do at least "
"128-bit encryption, but no more than 256-bit encryption."
msgstr ""

#. (title)
msgid "Authentication with svn+ssh"
msgstr "使用 svn+ssh 认证"

#. (para)
#, fuzzy
msgid ""
"Another way to authenticate users with a svnserve based server is to use a "
"secure shell (SSH) to tunnel requests through. It is not as simple to set up "
"as SASL, but it may be useful is some cases."
msgstr "另一种svnserve认证的方法是使用SSH来建立请求通道。"

#. (para)
msgid ""
"With this approach, svnserve is not run as a daemon process, rather, the "
"secure shell starts svnserve for you, running it as the SSH authenticated "
"user. To enable this, you need a secure shell daemon on your server."
msgstr ""
"通过此方法,svnserve不会作为守护进程启动,而是SSH为你启动svnserve,以SSH授权用"
"户运行,为此,你需要在你的服务器上有SSH守护进程。"

#. (para)
msgid ""
"A basic method for setting up your server is given in <xref linkend=\"tsvn-"
"ssh-howto\"/>. You can find other SSH topics within the FAQ by searching for "
"<quote>SSH</quote>."
msgstr ""

#. (para)
msgid ""
"Further information about svnserve can be found in the <ulink url=\"http://"
"svnbook.red-bean.com\"><citetitle>Version Control with Subversion</"
"citetitle></ulink>."
msgstr ""
"更多的关于svnserve的信息可以看<ulink url=\"http://svnbook.red-bean.com"
"\"><citetitle>《使用 Subversion 进行版本管理》</citetitle></ulink>。"

#. (title)
msgid "Path-based Authorization with svnserve"
msgstr "svnserve 基于路径的授权"

#. (para)
msgid ""
"Starting with Subversion 1.3, svnserve supports the same "
"<literal>mod_authz_svn</literal> path-based authorization scheme that is "
"available with the Apache server. You need to edit the <filename>conf/"
"svnserve.conf</filename> file in your repository directory and add a line "
"referring to your authorization file. <screen>\n"
"[general]\n"
"authz-db = authz\n"
"</screen> Here, <filename>authz</filename> is a file you create to define the "
"access permissions. You can use a separate file for each repository, or you "
"can use the same file for several repositories. Read <xref linkend=\"tsvn-"
"serversetup-mod_authz_svn\"/> for a description of the file format."
msgstr ""
"从Subversion1.3开始,svnserve支持与<literal>mod_authz_svn</literal>相同的路径"
"为基础的授权模式,你需要编辑版本库路径下的<filename>conf/svnserve.conf</"
"filename>引用的授权文件。<screen>\n"
"[general]\n"
"authz-db = authz\n"
"</screen>在这里,<filename>authz</filename>是你创建用来定义访问权限的文件,你"
"可以为每一个版本库使用单独的文件,或者为所有的版本库使用相同的文件,关于此文件"
"的格式可以查看<xref linkend=\"tsvn-serversetup-mod_authz_svn\"/>。"

#. (title)
msgid "Apache Based Server"
msgstr "基于 Apache 的服务器"

#. (primary)
msgid "Apache"
msgstr "Apache"

#. (para)
msgid ""
"The most flexible of all possible server setups for Subversion is the Apache "
"based one. Although a bit more complicated to set up, it offers benefits that "
"other servers cannot:"
msgstr ""
"所有可能的服务器当中,Apache为基础的服务器是最灵活的,尽管配置有一点复杂,但是"
"提供了其他服务器没有的便利: "

#. (primary)
#. (term)
msgid "WebDAV"
msgstr "WebDAV"

#. (para)
#, fuzzy
msgid ""
"The Apache based Subversion server uses the WebDAV protocol which is "
"supported by many other programs as well. You could e.g. mount such a "
"repository as a <quote>Web folder</quote> in the Windows explorer and then "
"access it like any other folder in the file system."
msgstr ""
"基于 Apache 的 Subversion 服务器使用 WebDAV 协议,许多程序支持这个协议。例如你"
"可以在 Windows 资源管理器中将这样的版本库装载为一个“网络文件夹”,就像访问文件"
"系统的目录一样访问它。"

#. (term)
msgid "Browsing The Repository"
msgstr "浏览版本库"

#. (para)
msgid ""
"You can point your browser to the URL of your repository and browse the "
"contents of it without having a Subversion client installed. This gives "
"access to your data to a much wider circle of users."
msgstr ""
"你可以将浏览器指向版本库的URL,无需安装Subversion客户端就可以浏览内容,这样可"
"以扩大访问你数据的用户圈。"

#. (term)
#. (title)
msgid "Authentication"
msgstr "认证"

#. (para)
msgid ""
"You can use any authentication mechanism Apache supports, including SSPI and "
"LDAP."
msgstr "你可以使用所有Apache支持的认证机制,包括SSPI和LDAP。"

#. (term)
msgid "Security"
msgstr "安全"

#. (para)
msgid ""
"Since Apache is very stable and secure, you automatically get the same "
"security for your repository. This includes SSL encryption."
msgstr ""
"因为Apache非常稳定和安全,你的版本库可以自动获得同样的安全性,包括SSL加密。"

#. (title)
msgid "Installing Apache"
msgstr "安装 Apache"

#. (para)
msgid ""
"Please note that Windows XP without the service pack 1 will lead to bogus "
"network data and could therefore corrupt your repository!"
msgstr ""
"请注意,Windows XP 如果没有安装 SP1 将会导致不正常的网络传输,从而搞坏你的版本"
"库!"

#. (para)
msgid ""
"Download the latest version of the Apache web server from <ulink url=\"http://"
"httpd.apache.org/download.cgi\"><citetitle>http://httpd.apache.org/download."
"cgi</citetitle></ulink>. Make sure that you download the version 2.2.x - the "
"version 1.3.xx won't work!"
msgstr ""
"从 <ulink url=\"http://httpd.apache.org/download.cgi\"><citetitle>http://"
"httpd.apache.org/download.cgi</citetitle></ulink> 下载最新版本的 Apache,请确"
"认你下载的版本是 2.2.x - 1.3.xx 的版本不能工作!"

#. (para)
msgid ""
"The msi installer for Apache can be found by clicking on <literal>other "
"files</literal>, then browse to <filename>binaries/win32</filename>. You may "
"want to choose the msi file <filename>apache-2.2.x-win32-x86-openssl-0.9.x."
"msi</filename> (the one that includes OpenSSL)."
msgstr ""

#. (para)
msgid ""
"Once you have the Apache2 installer you can double click on it and it will "
"guide you through the installation process. Make sure that you enter the "
"server-URL correctly (if you don't have a DNS name for your server just enter "
"the IP-address). I recommend to install Apache <emphasis>for All Users, on "
"Port 80, as a Service</emphasis>. Note: if you already have IIS or any other "
"program running which listens on port 80 the installation might fail. If that "
"happens, go to the programs directory, <filename>\\Apache Group\\Apache2"
"\\conf</filename> and locate the file <filename>httpd.conf</filename>. Edit "
"that file so that <literal>Listen 80</literal> is changed to a free port, e."
"g. <literal>Listen 81</literal>. Then restart the installation - this time it "
"should finish without problems."
msgstr ""
"一旦你有了 Apache2 安装程序,你可以双击它,然后它会指导你的安装过程。请确认你"
"输入的服务器 URL 正确(如果你的服务器没有 DNS 名称,请直接输入 IP 地址)。我建议"
"<emphasis>为所有用户在 80 端口安装 Apache 服务</emphasis>。注意: 如果你已经有"
"了 IIS 或其他监听 80 端口的程序,安装会失败。如果发生这种情况,直接到程序的安"
"装目录 <filename>\\Apache Group\\Apache2\\conf</filename>,打开 "
"<filename>httpd.conf</filename>。编辑文件的 <literal>Listen 80</literal> 为其"
"他可用的端口,例如 <literal>Listen 81</literal>,然后重新启动 - 这样就不会那"
"个问题了。"

#. (para)
msgid ""
"Now test if the Apache web server is running correctly by pointing your web "
"browser to <systemitem class=\"url\">http://localhost/</systemitem> - a "
"preconfigured Website should show up."
msgstr ""
"现在可以测试 Apache 服务器是否正确运行,将浏览器指向 <systemitem class=\"url"
"\">http://localhost/</systemitem> - 将会看到一个预先配置的网站。"

#. (para)
msgid ""
"If you decide to install Apache as a service, be warned that by default it "
"will run as the local system account. It would be a more secure practice for "
"you to create a separate account for Apache to run as."
msgstr ""
"如果你决定将Apache安装为服务,缺省情况以本地系统帐户运行会发出警告,更安全的方"
"法是为Apache创建一个单独的运行帐户。"

#. (para)
msgid ""
"Make sure that the account on the server that Apache is running as has an "
"explicit entry in the repository directory's access control list (right-click "
"directory | properties | security), with full control. Otherwise, users will "
"not be able to commit their changes."
msgstr ""
"请确认Apache运行的帐户是版本库目录的访问控制列表(右键目录|属性|安全)中一个明确"
"的条目,对目录有完全的控制能力,否则,用户不能提交他们的修改。"

#. (para)
msgid ""
"Even if Apache runs as local system, you still need such an entry (which will "
"be the SYSTEM account in this case)."
msgstr ""
"即使Apache运行于本地系统,你仍然需要这个条目(这种情况下将是SYSTEM帐户)。"

#. (para)
msgid ""
"If Apache does not have this permission set up, your users will get "
"<quote>Access denied</quote> error messages, which show up in the Apache "
"error log as error 500."
msgstr ""
"如果没有配置 Apache 的此访问权限,你的用户会得到<quote>拒绝访问(Access denied)"
"</quote>的错误信息,在 Apache 的错误日志中的错误代码是 500。"

#. (para)
msgid ""
"The first thing you need before installing Apache is a computer with Windows "
"2000, Windows XP+SP1, Windows 2003, Vista or Server 2008. "
"<warning><placeholder-1/></warning><placeholder-2/><caution><placeholder-3/"
"><placeholder-4/><placeholder-5/><placeholder-6/></caution>"
msgstr ""
"安装 Apache 的先决条件是有一台安装了 Windows 2000,Windows XP SP1+,Windows "
"2003,Vista 或 Windows Server 2008 的计算机。<warning><placeholder-1/></"
"warning><placeholder-2/><caution><placeholder-3/><placeholder-4/><placeholder-"
"5/><placeholder-6/></caution>"

#. (title)
msgid "Installing Subversion"
msgstr "安装 Subversion"

#. (para)
#, fuzzy
msgid ""
"Download the latest version of the Subversion Win32 binaries for Apache. Be "
"sure to get the right version to integrate with your version of Apache, "
"otherwise you will get an obscure error message when you try to restart. If "
"you have Apache 2.2.x go to <ulink url=\"http://subversion.tigris.org/"
"servlets/ProjectDocumentList?folderID=8100\"><citetitle>http://subversion."
"tigris.org/servlets/ProjectDocumentList?folderID=8100</citetitle></ulink>."
msgstr ""
"从<ulink url=\"http://subversion.tigris.org/servlets/ProjectDocumentList?"
"folderID=91\"><citetitle>http://subversion.tigris.org/servlets/"
"ProjectDocumentList?folderID=91</citetitle></ulink>得到最新版本的Subversion。"

#. (para)
msgid ""
"Run the Subversion installer and follow the instructions. If the Subversion "
"installer recognized that you've installed Apache, then you're almost done. "
"If it couldn't find an Apache server then you have to do some additional "
"steps."
msgstr ""
"运行Subversion安装程序,并根据指导安装,如果Subversion认识到你安装了Apache,你"
"就几乎完成了工作,如果它没有找到Apache服务器,你还有额外的步骤。"

#. (primary)
#. (primary)
msgid "mod_authz_svn"
msgstr "mod_authz_svn"

#. (para)
msgid ""
"Using the windows explorer, go to the installation directory of Subversion "
"(usually <filename>c:\\program files\\Subversion</filename>) and find the "
"files <filename>/httpd/mod_dav_svn.so</filename> and <filename>mod_authz_svn."
"so</filename>. Copy these files to the Apache modules directory (usually "
"<filename>c:\\program files\\apache group\\apache2\\modules </filename>)."
msgstr ""
"使用Windwos资源管理器,来到Subversion的安装目录(通常是<filename>c:\\program "
"files\\Subversion</filename>),找到文件<filename>/httpd/mod_dav_svn.so</"
"filename>和<filename>mod_authz_svn.so</filename>,复制这些文件到Apache的模块目"
"录(通常是<filename>c:\\program files\\apache group\\apache2\\modules </"
"filename>)。"

#. (para)
msgid ""
"Copy the file <filename>/bin/libdb*.dll</filename> and <filename>/bin/"
"intl3_svn.dll</filename> from the Subversion installation directory to the "
"Apache bin directory."
msgstr ""
"从 Subversion 安装目录将 <filename>/bin/libdb*.dll</filename> 和 <filename>/"
"bin/intl3_svn.dll</filename> 复制到 Apache 的 bin 目录。"

#. (para)
msgid ""
"Edit Apache's configuration file (usually <filename> C:\\Program Files"
"\\Apache Group\\Apache2\\conf\\httpd.conf</filename>) with a text editor such "
"as Notepad and make the following changes:"
msgstr ""
"使用记事本之类的文本编辑器修改Apache的配置文件(通常是<filename> C:\\Program "
"Files\\Apache Group\\Apache2\\conf\\httpd.conf</filename>),做出如下修改: "

#. (para)
msgid ""
"Uncomment (remove the '<literal>#</literal>' mark) the following lines: "
"<screen>\n"
"#LoadModule dav_fs_module modules/mod_dav_fs.so\n"
"#LoadModule dav_module modules/mod_dav.so\n"
"</screen> Add the following two lines to the end of the <literal>LoadModule</"
"literal> section. <screen>\n"
"LoadModule dav_svn_module modules/mod_dav_svn.so\n"
"LoadModule authz_svn_module modules/mod_authz_svn.so\n"
"</screen>"
msgstr ""
"去掉以下几行的注释(删除 '<literal>#</literal>'标记): <screen>\n"
"#LoadModule dav_fs_module modules/mod_dav_fs.so\n"
"#LoadModule dav_module modules/mod_dav.so\n"
"</screen> 将以下两行到 <literal>LoadModule</literal> 节的末尾。<screen>\n"
"LoadModule dav_svn_module modules/mod_dav_svn.so\n"
"LoadModule authz_svn_module modules/mod_authz_svn.so\n"
"</screen>"

#. (title)
#. (term)
msgid "Configuration"
msgstr "配置"

#. (para)
#, fuzzy
msgid ""
"At the end of the config file add the following lines: <screen>\n"
"&lt;Location /svn&gt;\n"
" DAV svn\n"
" SVNListParentPath on\n"
" SVNParentPath D:\\SVN\n"
" #SVNIndexXSLT \"/svnindex.xsl\"\n"
" AuthType Basic\n"
" AuthName \"Subversion repositories\"\n"
" AuthUserFile passwd\n"
" #AuthzSVNAccessFile svnaccessfile\n"
" Require valid-user\n"
"&lt;/Location&gt;\n"
"</screen> This configures Apache so that all your Subversion repositories are "
"physically located below <filename>D:\\SVN</filename>. The repositories are "
"served to the outside world from the URL: <systemitem class=\"url\"> http://"
"MyServer/svn/ </systemitem>. Access is restricted to known users/passwords "
"listed in the <filename>passwd</filename> file."
msgstr ""
"在配置文件最后添加如下几行: <screen>\n"
"&lt;Location /svn&gt;\n"
"DAV svn\n"
"SVNListParentPath on\n"
"SVNParentPath D:\\SVN\n"
"#SVNIndexXSLT \"/svnindex.xsl\"\n"
"AuthType Basic\n"
"AuthName \"Subversion repositories\"\n"
"AuthUserFile passwd\n"
"#AuthzSVNAccessFile svnaccessfile\n"
"Require valid-user\n"
"&lt;/Location&gt;\n"
"</screen>这个配置告诉 Apache 你所有的 Subversion 版本库位于 <filename>D:"
"\\SVN</filename>。这些版本库对外的 URL 是: <systemitem class=\"url\">http://"
"MyServer/svn/</systemitem>。访问被文件 <filename>passwd</filename> 中的用户/密"
"码限制。"

#. (para)
msgid ""
"To create the <filename>passwd</filename> file, open the command prompt (DOS-"
"Box) again, change to the <filename>apache2</filename> folder (usually "
"<filename>c:\\program files\\apache group\\apache2</filename>) and create the "
"file by entering <screen>\n"
"bin\\htpasswd -c passwd &lt;username&gt;\n"
"</screen> This will create a file with the name <filename>passwd</filename> "
"which is used for authentication. Additional users can be added with "
"<screen>\n"
"bin\\htpasswd passwd &lt;username&gt;\n"
"</screen>"
msgstr ""
"为了创建 <filename>passwd</filename> 文件,再次打开命令行提示符(DOS 窗口),进"
"入 <filename>apache2</filename> 目录(通常是 <filename>c:\\program files"
"\\apache group\\apache2</filename>),通过输入下面的命令创建文件<screen>\n"
"bin\\htpasswd -c passwd &lt;username&gt;\n"
"</screen>它将会创建名为 passwd 的文件用于认证。用下面的命令增加其它用户"
"<screen>\n"
"bin\\htpasswd passwd &lt;username&gt;\n"
"</screen>"

#. (para)
msgid "Restart the Apache service again."
msgstr "再次重启Apache服务。"

#. (para)
msgid ""
"Point your browser to <systemitem class=\"url\">http://MyServer/svn/"
"MyNewRepository</systemitem> (where <filename>MyNewRepository</filename> is "
"the name of the Subversion repository you created before). If all went well "
"you should be prompted for a username and password, then you can see the "
"contents of your repository."
msgstr ""
"将浏览器指向<systemitem class=\"url\">http://MyServer/svn/MyNewRepository</"
"systemitem>(<filename>MyNewRepository</filename>是你此前创建的版本库名),如果"
"一切正常,你会被提示输入用户名和密码,然后你会看到版本库的内容。"

#. (para)
msgid ""
"Now you have set up Apache and Subversion, but Apache doesn't know how to "
"handle Subversion clients like TortoiseSVN yet. To get Apache to know which "
"URL will be used for Subversion repositories you have to edit the Apache "
"configuration file (usually located in <filename>c:\\program files\\apache "
"group\\apache2\\conf\\httpd.conf</filename>) with any text editor you like (e."
"g. Notepad): <placeholder-1/>"
msgstr ""
"现在你已经配置了 Apache 和 Subversion,但是 Apache 不知道如何处理 Subversion "
"客户端,例如TortoiseSVN。为了让 Apache 知道哪个 URL 是用作 Subversion 版本库,"
"你需要使用任意文本编辑器(例如记事本)编辑 Apache 的配置文件(通常是 <filename>c:"
"\\program files\\apache group\\apache2\\conf\\httpd.conf</filename>): "
"<placeholder-1/>"

#. (primary)
msgid "SVNPath"
msgstr "SVNPath"

#. (primary)
#. (literal)
#. (primary)
msgid "SVNParentPath"
msgstr "SVNParentPath"

#. (title)
msgid "Apache <filename>httpd.conf</filename> Settings"
msgstr "设置 Apache 的 <filename>httpd.conf</filename>"

#. (entry)
msgid "Setting"
msgstr "设置"

#. (entry)
msgid "Explanation"
msgstr "解释"

#. (systemitem)
msgid "http://MyServer/svn/"
msgstr "http://MyServer/svn/"

#. (entry)
msgid ""
"means that the Subversion repositories are available from the URL "
"<placeholder-1/>"
msgstr "意思是Subversion版本库的URL是<placeholder-1/>"

#. (entry)
msgid ""
"tells Apache which module will be responsible to serve that URL - in this "
"case the Subversion module."
msgstr "告诉Apache是哪个模块响应那个URL的请求-此刻是Subversion模块。"

#. (entry)
msgid ""
"For Subversion version 1.3 and higher, this directive enables listing all the "
"available repositories under <placeholder-1/>."
msgstr ""
"对于 Subversion 1.3 或者更高版本,这个指示会列出所有 <placeholder-1/> 中的版本"
"库。"

#. (filename)
msgid "D:\\SVN"
msgstr "D:\\SVN"

#. (entry)
msgid "tells Subversion to look for repositories below <placeholder-1/>"
msgstr "告诉Subversion需要查看的版本库位于<placeholder-1/>之下"

#. (entry)
msgid "Used to make the browsing with a web browser prettier."
msgstr "使用它可以在用浏览器浏览时更好看。"

#. (entry)
msgid "is to activate basic authentication, i.e. Username/password"
msgstr "激活基本认证,就是用户名/密码"

#. (entry)
msgid ""
"is used as an information whenever an authentication dialog pops up to tell "
"the user what the authentication is for"
msgstr "用来说明何时弹出要求用户输入认证信息的认证对话框"

#. (entry)
msgid "specifies which password file to use for authentication"
msgstr "指定使用的认证密码文件"

#. (entry)
msgid "Location of the Access file for paths inside a Subversion repository"
msgstr "位置Subversion版本库的访问控制文件的路径"

#. (entry)
msgid ""
"specifies that only users who entered a correct username/password are allowed "
"to access the URL"
msgstr "指定只有输入了正确的用户/密码的用户可以访问URL"

#. (para)
msgid ""
"If you want your repository to have read access for everyone but write access "
"only for specific users you can change the line <screen>\n"
"Require valid-user\n"
"</screen> to <screen>\n"
"&lt;LimitExcept GET PROPFIND OPTIONS REPORT&gt;\n"
"Require valid-user\n"
"&lt;/LimitExcept&gt;\n"
"</screen>"
msgstr ""
"如果你希望所有人可以读你的版本库,但是只有特定用户可以写,你可以修改下面几行"
"<screen>\n"
"Require valid-user\n"
"</screen> to <screen>\n"
"&lt;LimitExcept GET PROPFIND OPTIONS REPORT&gt;\n"
"Require valid-user\n"
"&lt;/LimitExcept&gt;\n"
"</screen>"

#. (para)
msgid ""
"Using a <filename>passwd</filename> file limits and grants access to all of "
"your repositories as a unit. If you want more control over which users have "
"access to each folder inside a repository you can uncomment the line "
"<screen>\n"
"#AuthzSVNAccessFile svnaccessfile\n"
"</screen> and create a Subversion access file. Apache will make sure that "
"only valid users are able to access your <filename>/svn</filename> location, "
"and will then pass the username to Subversion's <literal>AuthzSVNAccessFile</"
"literal> module so that it can enforce more granular access based upon rules "
"listed in the Subversion access file. Note that paths are specified either as "
"<literal>repos:path</literal> or simply <literal>path</literal>. If you don't "
"specify a particular repository, that access rule will apply to all "
"repositories under <literal>SVNParentPath</literal>. The format of the "
"authorization-policy file used by <literal>mod_authz_svn</literal> is "
"described in <xref linkend=\"tsvn-serversetup-mod_authz_svn\"/>"
msgstr ""
"使用 <filename>passwd</filename> 可以整体的控制对版本库的访问,但是如果你希望"
"精确的控制版本库目录访问,你可以去掉下行的注释<screen>\n"
"#AuthzSVNAccessFile svnaccessfile\n"
"</screen>,并且创建 Subversion 的访问控制文件。Apache 将会确保只有有效的用户可"
"以访问你的 <filename>/svn</filename> 目录,然后将用户名传递给 Subversion 的 "
"AuthzSVNAccessFile 模块,这样就可以根据 Subversion 访问控制文件内的规则实现更"
"细粒度的访问控制。请注意路径可以是 <literal>repos:path</literal> 或简单的 "
"<literal>path</literal>,如果你不指定特定的版本库,访问控制规则会应用到 "
"<literal>SVNParentPath</literal> 下所有的版本库。使用的授权策略文件的格式在"
"<xref linkend=\"tsvn-serversetup-mod_authz_svn\"/>描述。"

#. (para)
msgid ""
"To make browsing the repository with a web browser 'prettier', uncomment the "
"line <screen>\n"
"#SVNIndexXSLT \"/svnindex.xsl\"\n"
"</screen> and put the files <filename>svnindex.xsl</filename>, "
"<filename>svnindex.css</filename> and <filename>menucheckout.ico</filename> "
"in your document root directory (usually <filename>C:/Program Files/Apache "
"Group/Apache2/htdocs</filename>). The directory is set with the "
"<literal>DocumentRoot</literal> directive in your Apache config file."
msgstr ""
"如果要使浏览器浏览仓库时更“漂亮”,请将去掉下行注释 <screen>\n"
"#SVNIndexXSLT \"/svnindex.xsl\"\n"
"</screen>,将文件 <filename>svnindex.xsl</filename>, <filename>svnindex.css</"
"filename> 和 <filename>menucheckout.ico</filename> 放到你的文档根目录中(通常"
"是 <filename>C:/Program Files/Apache Group/Apache2/htdocs</filename>)。 这个目"
"录在 Apache 配置文件中用 <literal>DocumentRoot</literal> 指示设置。"

#. (para)
#, fuzzy
msgid ""
"You can get those three files directly from our source repository at <ulink "
"url=\"http://tortoisesvn.tigris.org/svn/tortoisesvn/trunk/contrib/other/"
"svnindex\"><citetitle>http://tortoisesvn.tigris.org/svn/tortoisesvn/trunk/"
"contrib/other/svnindex</citetitle></ulink>. (<xref linkend=\"tsvn-preface-"
"source\"/> explains how to access the TortoiseSVN source repository)."
msgstr ""
"你可以直接在我们的代码库<ulink url=\"http://tortoisesvn.tigris.org/svn/"
"tortoisesvn/trunk/contrib/other/svnindex\"><citetitle>http://tortoisesvn."
"tigris.org/svn/tortoisesvn/trunk/contrib/other/svnindex</citetitle></ulink>中"
"拿到这三个文件。如果访问这个链接需要认证,输入用户名称 <literal>guest</"
"literal>,无需密码。"

#. (para)
msgid ""
"The XSL file from the TortoiseSVN repository has a nice gimmick: if you "
"browse the repository with your web browser, then every folder in your "
"repository has an icon on the right shown. If you click on that icon, the "
"TortoiseSVN checkout dialog is started for this URL."
msgstr ""
"TortoiseSVN 版本库中的 XSL 文件有个特性:如果你用浏览器浏览版本库,那么每个版"
"本库中的目录右边会有个图标。如果你点击此图标,那么 TortoiseSVN 会为此 URL 启动"
"检出对话框。"

#. (para)
msgid ""
"A short explanation of what you just entered: <placeholder-1/> But that's "
"just an example. There are many, many more possibilities of what you can do "
"with the Apache web server. <placeholder-2/>"
msgstr ""
"你刚才输入的简短解释是: <placeholder-1/>但是那只是一个例子。对于 Apache 你有很"
"多可能的选择。<placeholder-2/>"

#. (title)
msgid "Multiple Repositories"
msgstr "多版本库"

#. (primary)
msgid "Index of projects"
msgstr "项目索引"

#. (para)
msgid ""
"If you used the <literal>SVNParentPath</literal> directive then you don't "
"have to change the Apache config file every time you add a new Subversion "
"repository. Simply create the new repository under the same location as the "
"first repository and you're done! In my company I have direct access to that "
"specific folder on the server via SMB (normal windows file access). So I just "
"create a new folder there, run the TortoiseSVN command "
"<menuchoice><guimenu>TortoiseSVN</guimenu><guimenuitem>Create repository "
"here...</guimenuitem></menuchoice> and a new project has a home..."
msgstr ""
"如果你使用 SVNParentPath 指示,你就不必在每次添加新 Subversion 版本库时修改 "
"Apache 的配置文件,只需要在第一个版本库所在的位置建立新的版本库就可以了。在我"
"的公司,我可以使用 SMB(普通的 windows 文件访问)直接访问服务器的文件夹,所以我"
"直接在那里创建一个目录,运行 TortoiseSVN 命令"
"<menuchoice><guimenu>TortoiseSVN</guimenu><guimenuitem>在此创建版本库...</"
"guimenuitem></menuchoice>,然后一个新的项目建立了..."

#. (para)
msgid ""
"If you are using Subversion 1.3 or later, you can use the "
"<literal>SVNListParentPath on</literal> directive to allow Apache to produce "
"a listing of all available projects if you point your browser at the parent "
"path rather than at a specific repository."
msgstr ""
"如果你使用 Subversion 1.3 或更高版本,可以使用 <literal>SVNListParentPath on</"
"literal> 指示,这样当你使用浏览器访问父路径而不是具体某个版本库时 Apache 就会"
"显示所有版本库列表。"

#. (title)
msgid "Path-Based Authorization"
msgstr "路径为基础的授权"

#. (primary)
msgid "Authorization"
msgstr "授权"

#. (para)
msgid ""
"The <literal>mod_authz_svn</literal> module permits fine-grained control of "
"access permissions based on user names and repository paths. This is "
"available with the Apache server, and as of Subversion 1.3 it is available "
"with svnserve as well."
msgstr ""
"<literal>mod_authz_svn</literal> 模块可以根据用户名和路径实现细粒度的权限控"
"制,它对 Apache 服务器有效,在 Subversion 1.3 以上版本的 svnserve 中也实现了基"
"于路径的授权。"

#. (para)
msgid ""
"An example file would look like this: <screen>\n"
"[groups]\n"
"admin = john, kate\n"
"devteam1 = john, rachel, sally\n"
"devteam2 = kate, peter, mark\n"
"docs = bob, jane, mike\n"
"training = zak\n"
"# Default access rule for ALL repositories\n"
"# Everyone can read, admins can write, Dan German is excluded.\n"
"[/]\n"
"* = r\n"
"@admin = rw\n"
"dangerman =\n"
"# Allow developers complete access to their project repos\n"
"[proj1:/]\n"
"@devteam1 = rw\n"
"[proj2:/]\n"
"@devteam2 = rw\n"
"[bigproj:/]\n"
"@devteam1 = rw\n"
"@devteam2 = rw\n"
"trevor = rw\n"
"# Give the doc people write access to all the docs folders\n"
"[/trunk/doc]\n"
"@docs = rw\n"
"# Give trainees write access in the training repository only\n"
"[TrainingRepos:/]\n"
"@training = rw\n"
"</screen>"
msgstr ""
"一个可能的例子: <screen>\n"
"[groups]\n"
"admin = john, kate\n"
"devteam1 = john, rachel, sally\n"
"devteam2 = kate, peter, mark\n"
"docs = bob, jane, mike\n"
"training = zak\n"
"# Default access rule for ALL repositories\n"
"# Everyone can read, admins can write, Dan German is excluded.\n"
"[/]\n"
"* = r\n"
"@admin = rw\n"
"dangerman =\n"
"# Allow developers complete access to their project repos\n"
"[proj1:/]\n"
"@devteam1 = rw\n"
"[proj2:/]\n"
"@devteam2 = rw\n"
"[bigproj:/]\n"
"@devteam1 = rw\n"
"@devteam2 = rw\n"
"trevor = rw\n"
"# Give the doc people write access to all the docs folders\n"
"[/trunk/doc]\n"
"@docs = rw\n"
"# Give trainees write access in the training repository only\n"
"[TrainingRepos:/]\n"
"@training = rw\n"
"</screen>"

#. (para)
msgid ""
"Note that checking every path can be an expensive operation, particularly in "
"the case of the revision log. The server checks every changed path in each "
"revision and checks it for readability, which can be time-consuming on "
"revisions which affect large numbers of files."
msgstr ""
"请注意,检查每一条路径是一件消耗极大的操作,特别是修订版本日志,服务器会检查在"
"每一个修订版本的每一条路径是否可读,对于影响很多文件的修订将会花费很多时间。"

#. (para)
msgid ""
"Authentication and authorization are separate processes. If a user wants to "
"gain access to a repository path, she has to meet <emphasis>both</emphasis>, "
"the usual authentication requirements and the authorization requirements of "
"the access file."
msgstr ""
"认证和授权是不同的处理过程,如果用户希望获得对版本库的访问,他需要通过"
"<emphasis>全部</emphasis>检查,即通常的认证需求和访问控制文件的授权需求。"

#. (title)
msgid "Authentication With a Windows Domain"
msgstr "使用 Windows 域认证"

#. (primary)
msgid "Windows domain"
msgstr "Windows 域"

#. (primary)
msgid "domaincontroller"
msgstr "域控制器"

#. (para)
msgid ""
"As you might have noticed you need to make a username/password entry in the "
"<filename>passwd</filename> file for each user separately. And if (for "
"security reasons) you want your users to periodically change their passwords "
"you have to make the change manually."
msgstr ""
"你已经注意到了,你需要为每个用户在<filename>passwd</filename>文件中创建用户名/"
"密码条目,如果(因为安全原因)他们希望周期性的修改他们的密码,你需要手动的做出修"
"改。"

#. (para)
msgid ""
"But there's a solution for that problem - at least if you're accessing the "
"repository from inside a LAN with a windows domain controller: "
"<literal>mod_auth_sspi</literal>!"
msgstr ""
"但是对于此问题有另一个解决方案 - 至少是你在使用域控制器的 LAN 中访问版本库"
"时: <literal>mod_auth_sspi</literal>!"

#. (primary)
msgid "SSPI"
msgstr "SSPI"

#. (primary)
msgid "NTLM"
msgstr "NTLM"

#. (para)
msgid ""
"The original SSPI module was offered by Syneapps including source code. But "
"the development for it has been stopped. But don't despair, the community has "
"picked it up and improved it. It has a new home on <ulink url=\"http://"
"sourceforge.net/projects/mod-auth-sspi/\"><citetitle>SourceForge</citetitle></"
"ulink>."
msgstr ""
"最初的 SSPI 是由 Syneapps 提供的,包括源代码。但是它的开发已经终止。不过不要失"
"望,社区重新拾起代码并进行了改进,它现在的新主页在<ulink url=\"http://"
"sourceforge.net/projects/mod-auth-sspi/\"><citetitle>SourceForge</citetitle></"
"ulink>。"

#. (para)
msgid ""
"Download the module which matches your apache version, then copy the file "
"<filename>mod_auth_sspi.so</filename> into the Apache modules folder."
msgstr ""
"下载此匹配你的 Apache 版本的模块,将文件<filename>mod_auth_sspi.so</filename>"
"复制到 Apache 的 modules 目录。"

#. (para)
msgid ""
"Edit the Apache config file: add the line <screen>\n"
"LoadModule sspi_auth_module modules/mod_auth_sspi.so\n"
"</screen> to the <literal>LoadModule</literal> section. Make sure you insert "
"this line <emphasis>before</emphasis> the line <screen>\n"
"LoadModule auth_module modules/mod_auth.so\n"
"</screen>"
msgstr ""
"编辑 Apache 的配置文件: 增加一行<screen>\n"
"LoadModule sspi_auth_module modules/mod_auth_sspi.so\n"
"</screen> 到 LoadModule 节。确认你在下行<emphasis>之前</emphasis>插入此行"
"<screen>\n"
"LoadModule auth_module modules/mod_auth.so\n"
"</screen>"

#. (para)
msgid ""
"To make the Subversion location use this type of authentication you have to "
"change the line <screen>\n"
"AuthType Basic\n"
"</screen> to <screen>\n"
"AuthType SSPI\n"
"</screen> also you need to add <screen>\n"
"SSPIAuth On\n"
"SSPIAuthoritative On\n"
"SSPIDomain &lt;domaincontroller&gt;\n"
"SSPIOmitDomain on\n"
"SSPIUsernameCase lower\n"
"SSPIPerRequestAuth on\n"
"SSPIOfferBasic On\n"
"</screen> within the <literal>&lt;Location /svn&gt;</literal> block. If you "
"don't have a domain controller, leave the name of the domain control as "
"<literal>&lt;domaincontroller&gt;</literal>."
msgstr ""
"为了让 Subversion 领域使用此认证类型,你需要将<screen>\n"
"AuthType Basic\n"
"</screen> 修改为 <screen>\n"
"AuthType SSPI\n"
"</screen> 并且在 &lt;Location /svn&gt; 中增加 <screen>\n"
"SSPIAuth On\n"
"SSPIAuthoritative On\n"
"SSPIDomain &lt;domaincontroller&gt;\n"
"SSPIOmitDomain on\n"
"SSPIUsernameCase lower\n"
"SSPIPerRequestAuth on\n"
"SSPIOfferBasic On\n"
"</screen>如果你没有域控制器,可以将域控制器的名称置为 <literal>&lt;"
"domaincontroller&gt;</literal> 。"

#. (para)
msgid ""
"Note that if you are authenticating using SSPI, then you don't need the "
"<literal>AuthUserFile</literal> line to define a password file any more. "
"Apache authenticates your username and password against your windows domain "
"instead. You will need to update the users list in your "
"<filename>svnaccessfile</filename> to reference <literal>DOMAIN\\username</"
"literal> as well."
msgstr ""
"请注意,当你使用 SSPI 认证时,没有必要再使用 <literal>AuthUserFile</literal> "
"行定义密码文件,Apache 使用 Windows 域验证你的用户名和密码,你需要更新 "
"<filename>svnaccessfile</filename> 中的用户列表来引用 <literal>DOMAIN"
"\\username</literal>。"

#. (para)
msgid ""
"The SSPI authentication is only enabled for SSL secured connections (https). "
"If you're only using normal http connections to your server, it won't work."
msgstr ""

#. (para)
msgid ""
"To enable SSL on your server, see the chapter: <xref linkend=\"tsvn-"
"serversetup-apache-7\"/>"
msgstr ""

#. (para)
msgid ""
"Subversion <filename>AuthzSVNAccessFile</filename> files are case sensitive "
"in regard to user names (<literal>JUser</literal> is different from "
"<literal>juser</literal>)."
msgstr ""
"Subversion 的 <filename>AuthzSVNAccessFile</filename> 文件对用户名大小写敏感"
"(<literal>JUser</literal> 与 <literal>juser</literal> 不同)。"

#. (para)
msgid ""
"In Microsoft's world, Windows domains and user names are not case sensitive. "
"Even so, some network administrators like to create user accounts in "
"CamelCase (e.g. <literal>JUser</literal>)."
msgstr ""
"在微软的世界,Windows 域和用户名不是大小写敏感。即使如此,一些网络管理员还是喜"
"欢创建首字母大写的用户帐号(例如 <literal>JUser</literal>)。"

#. (para)
msgid ""
"This difference can bite you when using SSPI authentication as the windows "
"domain and user names are passed to Subversion in the same case as the user "
"types them in at the prompt. Internet Explorer often passes the username to "
"Apache automatically using whatever case the account was created with."
msgstr ""
"使用SSPI的一个问题是用户名和密码是用户在提示输入时发送到Subversion的,而IE经常"
"会不管你的帐户是如何建立的都会自动发送你的用户名。"

#. (para)
msgid ""
"The end result is that you may need at least two entries in your "
"<literal>AuthzSVNAccessFile</literal> for each user -- a lowercase entry and "
"an entry in the same case that Internet Explorer passes to Apache. You will "
"also need to train your users to also type in their credentials using lower "
"case when accessing repositories via TortoiseSVN."
msgstr ""
"结果就是你必须为每个用户在 <literal>AuthzSVNAccessFile</literal> 中至少创建两"
"个条目:一个小写的条目和一个与 IE 传递给 Apache 一样的条目,你也需要训练你的用"
"户在通过 TortoiseSVN 输入访问版本库的凭证时使用小写字母。"

#. (para)
msgid ""
"Apache's Error and Access logs are your best friend in deciphering problems "
"such as these as they will help you determine the username string passed onto "
"Subversion's <literal>AuthzSVNAccessFile</literal> module. You may need to "
"experiment with the exact format of the user string in the "
"<literal>svnaccessfile</literal> (e.g. <literal>DOMAIN\\user</literal> vs. "
"<literal>DOMAIN//user</literal>) in order to get everything working."
msgstr ""
"Apache 的错误和访问日志是你最好的朋友,例如帮助你检测传递给 Subversion 的 "
"AuthzSVNAccessFile 模块的用户名,你或许需要试验 svnaccessfile 中用户字符串的精"
"确格式(例如 <literal>DOMAIN\\user</literal> 还是 <literal>DOMAIN//user</"
"literal>)来使一切工作正常。"

#. (title)
msgid "Multiple Authentication Sources"
msgstr "多重认证源"

#. (primary)
msgid "Multiple authentication"
msgstr "多重认证"

#. (para)
msgid ""
"It is also possible to have more than one authentication source for your "
"Subversion repository. To do this, you need to make each authentication type "
"non-authoritative, so that Apache will check multiple sources for a matching "
"username/password."
msgstr ""
"也可以为Subversion使用不止一个的认证源,为此,你需要将每一种认证设置为non-"
"authoritative,这样Apache会在多个源检查用户名/密码。"

#. (para)
msgid ""
"A common scenario is to use both Windows domain authentication and a "
"<literal>passwd</literal> file, so that you can provide SVN access to users "
"who don't have a Windows domain login."
msgstr ""
"一个常见的场景就是同时使用Windows域和<literal>passwd</literal>文件认证,这样你"
"可以为没有Windows域帐户的用户提供访问SVN的权限。"

#. (para)
#, fuzzy
msgid ""
"To enable both Windows domain and <filename>passwd</filename> file "
"authentication, add the following entries within the <literal>&lt;Location&gt;"
"</literal> block of your Apache config file: <screen>\n"
"AuthBasicAuthoritative Off\n"
"SSPIAuthoritative Off\n"
"</screen>"
msgstr ""
"为了同时启用 Windows 域认证和 <filename>passwd</filename> 文件认证,在 Apache "
"配置文件的 <literal>&lt;Location&gt;</literal> 块中添加如下条目: <screen>\n"
"AuthAuthoritative Off\n"
"SSPIAuthoritative Off\n"
"</screen>"

#. (para)
#, fuzzy
msgid ""
"Here is an example of the full Apache configuration for combined Windows "
"domain and <literal>passwd</literal> file authentication: <screen>\n"
"&lt;Location /svn&gt;\n"
" DAV svn\n"
" SVNListParentPath on\n"
" SVNParentPath D:\\SVN\n"
"\n"
" AuthName \"Subversion repositories\"\n"
" AuthzSVNAccessFile svnaccessfile.txt\n"
"\n"
"# NT Domain Logins.\n"
" AuthType SSPI\n"
" SSPIAuth On\n"
" SSPIAuthoritative Off\n"
" SSPIDomain &lt;domaincontroller&gt;\n"
" SSPIOfferBasic On\n"
"\n"
"# Htpasswd Logins.\n"
" AuthType Basic\n"
" AuthBasicAuthoritative Off\n"
" AuthUserFile passwd\n"
"\n"
" Require valid-user\n"
"&lt;/Location&gt;\n"
"</screen>"
msgstr ""
"下面是组合使用 Windows 域认证和 <literal>passwd</literal> 文件认证的完整配置: "
"<screen>\n"
"&lt;Location /svn&gt;\n"
"DAV svn\n"
"SVNListParentPath on\n"
"SVNParentPath D:\\SVN\n"
"\n"
"AuthName \"Subversion repositories\"\n"
"AuthzSVNAccessFile svnaccessfile.txt\n"
"\n"
"# NT Domain Logins.\n"
"AuthType SSPI\n"
"SSPIAuth On\n"
"SSPIAuthoritative Off\n"
"SSPIDomain &lt;domaincontroller&gt;\n"
"SSPIOfferBasic On\n"
"\n"
"# Htpasswd Logins.\n"
"AuthType Basic\n"
"AuthAuthoritative Off\n"
"AuthUserFile passwd\n"
"\n"
"Require valid-user\n"
"&lt;/Location&gt;\n"
"</screen>"

#. (title)
msgid "Securing the server with SSL"
msgstr "用 SSL 使服务器更安全"

#. (primary)
msgid "SSL"
msgstr "SSL"

#. (para)
msgid ""
"Even though Apache 2.2.x has OpenSSL support, it is not activated by default. "
"You need to activate this manually."
msgstr ""

#. (para)
msgid ""
"In the apache config file, uncomment the lines: <screen>\n"
"#LoadModule ssl_module modules/mod_ssl.so\n"
"</screen> and at the bottom <screen>\n"
"#Include conf/extra/httpd-ssl.conf\n"
"</screen> then change the line (on one line) <screen>\n"
"SSLMutex \"file:C:/Program Files/Apache Software Foundation/\\\n"
"Apache2.2/logs/ssl_mutex\"\n"
"</screen> to <screen>\n"
"SSLMutex default\n"
"</screen>"
msgstr ""

#. (para)
#, fuzzy
msgid ""
"Next you need to create an SSL certificate. To do that open a command prompt "
"(DOS-Box) and change to the Apache folder (e.g. <filename>C:\\program files"
"\\apache group\\apache2</filename>) and type the following command: <screen>\n"
"bin\\openssl req -config conf\\openssl.cnf -new -out my-server.csr\n"
"</screen> You will be asked for a passphrase. Please don't use simple words "
"but whole sentences, e.g. a part of a poem. The longer the phrase the better. "
"Also you have to enter the URL of your server. All other questions are "
"optional but we recommend you fill those in too."
msgstr ""
"然后你需要创建一个 SSL 证书。为此打开一个命令行窗口,进入 Apache 目录(例如 "
"<filename>C:\\program files\\apache group\\apache2</filename>),然后输入命令: "
"<screen>\n"
"bin\\openssl req -config bin\\openssl.cnf -new -out my-server.csr\n"
"</screen> 你会被询问密句。请不要使用简单的单词,而是使用整段话,例如一段诗,越"
"长越好。你也需要输入服务器的 URL,其他所有问题都是可选的,但是我们建议你输入这"
"些信息。"

#. (para)
#, fuzzy
msgid ""
"Normally the <filename>privkey.pem</filename> file is created automatically, "
"but if it isn't you need to type this command to generate it: <screen>\n"
"bin\\openssl genrsa -out conf\\privkey.pem 2048\n"
"</screen>"
msgstr ""
"通常会自动产生<filename>privkey.pem</filename>文件,但是如果没有,请输入下面的"
"命令生成它: <screen>\n"
"bin\\openssl genrsa -out privkey.pem 2048\n"
"</screen>"

#. (para)
#, fuzzy
msgid ""
"Next type the commands <screen>\n"
"bin\\openssl rsa -in conf\\privkey.pem -out conf\\server.key\n"
"</screen> and (on one line) <screen>\n"
"bin\\openssl req -new -key conf\\server.key -out conf\\server.csr \\\n"
"-config conf\\openssl.cnf\n"
"</screen> and then (on one line) <screen>\n"
"bin\\openssl x509 -in conf\\server.csr -out conf\\server.crt\n"
" -req -signkey conf\\server.key -days 4000\n"
"</screen> This will create a certificate which will expire in 4000 days. And "
"finally enter (on one line): <screen>\n"
"bin\\openssl x509 -in conf\\server.cert -out conf\\server.der.crt\n"
" -outform DER\n"
"</screen> These commands created some files in the Apache <filename>conf</"
"filename> folder (<filename>server.der.crt</filename>, <filename>server.csr</"
"filename>, <filename>server.key</filename>, <filename>.rnd</filename>, "
"<filename>privkey.pem</filename>, <filename>server.cert</filename>)."
msgstr ""
"然后输入这个命令<screen>\n"
"bin\\openssl rsa -in privkey.pem -out my-server.key\n"
"</screen>并且输入(在同一行)<screen>\n"
"bin\\openssl x509 -in my-server.csr -out my-server.cert\n"
" -req -signkey my-server.key -days 4000\n"
"</screen>这样会创建一个在4000天里过期的证书,最后输入: <screen>\n"
"bin\\openssl x509 -in my-server.cert -out my-server.der.crt -outform DER\n"
"</screen>这些命令在Apache目录(<filename>my-server.der.crt</filename>、"
"<filename>my-server.csr</filename>、<filename>my-server.key</filename>、"
"<filename>.rnd</filename>、<filename>privkey.pem</filename>、<filename>my-"
"server.cert</filename>)里创建了一些文件,复制这些文件到目录<filename>conf/"
"ssl</filename>(例如<filename>C:\\program files\\apache group\\apache2\\conf"
"\\ssl</filename>)-如果这个目录不存在,你需要首先创建一个。"

#. (para)
msgid "Restart the Apache service."
msgstr "重启 apache 服务。"

#. (para)
msgid ""
"Point your browser to <systemitem class=\"url\">https://servername/svn/"
"project</systemitem> ..."
msgstr ""
"将你的浏览器指向<systemitem class=\"url\">https://servername/svn/project</"
"systemitem> ..."

#. (title)
msgid "SSL and Internet Explorer"
msgstr "SSL 和 Internet Explorer"

#. (para)
msgid ""
"If you're securing your server with SSL and use authentication against a "
"windows domain you will encounter that browsing the repository with the "
"Internet Explorer doesn't work anymore. Don't worry - this is only the "
"Internet Explorer not able to authenticate. Other browsers don't have that "
"problem and TortoiseSVN and any other Subversion client are still able to "
"authenticate."
msgstr ""
"如果你使用SSL保护你的服务器,并使用windows域来进行认证,你会发现不能使用IE浏览"
"版本库了,不需要担心-那只是因为IE没有经过认证,其他浏览器没有这个问题,"
"TortoiseSVN和其他Subversion客户端仍然可以得到认证。"

#. (para)
msgid ""
"define a separate <literal>&lt;Location /path&gt;</literal> directive in the "
"Apache config file, and add the <literal>SSPIBasicPreferred On</literal>. "
"This will allow IE to authenticate again, but other browsers and Subversion "
"won't be able to authenticate against that location."
msgstr ""
"在 Apache 的配置文件定义一个单独的 <literal>&lt;Location /path&gt;</literal> "
"指示,增加 <literal>SSPIBasicPreferred On</literal>。这将使 IE 能够认证,但是"
"其他浏览器和 Subversion 不能对这个领域认证。"

#. (para)
msgid ""
"Offer browsing with unencrypted authentication (without SSL) too. Strangely "
"IE doesn't have any problems with authenticating if the connection is not "
"secured with SSL."
msgstr ""
"也提供未加密(没有SSL)认证的浏览,奇怪的IE在没有使用SSL的认证时没有任何问题。"

#. (para)
msgid ""
"In the SSL \"standard\" setup there's often the following statement in "
"Apache's virtual SSL host: <screen>\n"
"SetEnvIf User-Agent \".*MSIE.*\" \\\n"
" nokeepalive ssl-unclean-shutdown \\\n"
" downgrade-1.0 force-response-1.0\n"
"</screen> There are (were?) good reasons for this configuration, see <ulink "
"url=\"http://www.modssl.org/docs/2.8/ssl_faq.html#ToC49\"><citetitle>http://"
"www.modssl.org/docs/2.8/ssl_faq.html#ToC49</citetitle></ulink> But if you "
"want NTLM authentication you have to use <literal>keepalive</literal>. If You "
"uncomment the whole <literal>SetEnvIf</literal> you should be able to "
"authenticate IE with windows authentication over SSL against the Apache on "
"Win32 with included <literal>mod_auth_sspi</literal>."
msgstr ""
"在 SSL 的“标准”配置中,通常在 apache 的虚拟 SSL 主机内有下面的内容: <screen>\n"
"SetEnvIf User-Agent \".*MSIE.*\" \\\n"
" nokeepalive ssl-unclean-shutdown \\\n"
" downgrade-1.0 force-response-1.0\n"
"</screen>这种设置的充足理由参见 <ulink url=\"http://www.modssl.org/docs/2.8/"
"ssl_faq.html#ToC49\"><citetitle>http://www.modssl.org/docs/2.8/ssl_faq."
"html#ToC49</citetitle></ulink>。但是如果你希望使用 NTLM 认证,就必须使用 "
"<literal>keepalive</literal>。如果启用全部 <literal>SetEnvIf</literal>,你就可"
"以使 IE 用 Windows 认证访问运行在 Win32 上加载了 <literal>mod_auth_sspi</"
"literal> 模块的 Apache。"

#. (para)
msgid ""
"If you still want to use IE to browse the repository you can either: "
"<placeholder-1/>"
msgstr "如果你一直希望使用IE浏览你的版本库,你可以选择: <placeholder-1/>"

#. (title)
msgid "Forcing SSL access"
msgstr "强制 SSL 访问"

#. (para)
msgid ""
"When you've set up SSL to make your repository more secure, you might want to "
"disable the normal access via non-SSL (http) and only allow https access. To "
"do this, you have to add another directive to the Subversion <literal>&lt;"
"Location&gt;</literal> block: <literal>SSLRequireSSL</literal>."
msgstr ""
"当你设置了 SSL 让你的版本库更安全,你一定希望关闭普通的非 SSL (http) 访问。为"
"此,你需要在 Subversion 的 <literal>&lt;Location&gt;</literal> 增加指示: "
"<literal>SSLRequireSSL</literal>。"

#. (para)
#, fuzzy
msgid ""
"An example <literal>&lt;Location&gt;</literal> block would look like this: "
"<screen>\n"
"&lt;Location /svn&gt;\n"
" DAV svn\n"
" SVNParentPath D:\\SVN\n"
" SSLRequireSSL\n"
" AuthType Basic\n"
" AuthName \"Subversion repositories\"\n"
" AuthUserFile passwd\n"
" #AuthzSVNAccessFile svnaccessfile\n"
" Require valid-user\n"
"&lt;/Location&gt;\n"
"</screen>"
msgstr ""
"这是一个 <literal>&lt;Location&gt;</literal> 实例: <screen>\n"
"&lt;Location /svn&gt;\n"
"DAV svn\n"
"SVNParentPath D:\\SVN\n"
"SSLRequireSSL\n"
"AuthType Basic\n"
"AuthName \"Subversion repositories\"\n"
"AuthUserFile passwd\n"
"#AuthzSVNAccessFile svnaccessfile\n"
"Require valid-user\n"
"&lt;/Location&gt;\n"
"</screen>"

#. (title)
msgid "Using client certificates with virtual SSL hosts"
msgstr ""

#. (para)
msgid "Sent to the TortoiseSVN mailing list by Nigel Green. Thanks!"
msgstr ""

#. (para)
msgid ""
"In some server configurations you may need to setup a single server "
"containing 2 virtual SSL hosts: The first one for public web access, with no "
"requirement for a client certificate. The second one to be secure with a "
"required client certificate, running a Subversion server."
msgstr ""

#. (para)
msgid ""
"Adding an <literal>SSLVerifyClient Optional</literal> directive to the "
"<emphasis>per-server</emphasis> section of the Apache configuration (i.e. "
"outside of any <literal>VirtualHost</literal> and <literal>Directory</"
"literal> blocks) forces Apache to request a client Certificate in the initial "
"SSL handshake. Due to a bug in <literal>mod_ssl</literal> it is essential "
"that the certificate is requested at this point as it does not work if the "
"SSL connection is re-negotiated."
msgstr ""

#. (para)
msgid ""
"The solution is to add the following directive to the virtual host directory "
"that you want to lock down for Subversion: <screen>\n"
"SSLRequire %{SSL_CLIENT_VERIFY} eq \"SUCCESS\"\n"
"</screen> This directive grants access to the directory only if a client "
"certificate was received and verified successfully."
msgstr ""

#. (para)
msgid ""
"To summarise, the relevant lines of the Apache configuration are: <screen>\n"
"SSLVerifyClient Optional\n"
"\n"
"### Virtual host configuration for the PUBLIC host \n"
"### (not requiring a certificate)\n"
"\n"
"&lt;VirtualHost 127.0.0.1:443&gt;\n"
" &lt;Directory \"pathtopublicfileroot\"&gt;\n"
" &lt;/Directory&gt;\n"
"&lt;/VirtualHost&gt;\n"
"\n"
"### Virtual host configuration for SUBVERSION \n"
"### (requiring a client certificate)\n"
"&lt;VirtualHost 127.0.0.1:443&gt;\n"
" &lt;Directory \"subversion host root path\"&gt;\n"
" SSLRequire %{SSL_CLIENT_VERIFY} eq \"SUCCESS\"\n"
" &lt;/Directory&gt;\n"
"\n"
" &lt;Location /svn&gt;\n"
" DAV svn\n"
" SVNParentPath /pathtorepository\n"
" &lt;/Location&gt;\n"
"&lt;/VirtualHost&gt;\n"
"</screen>"
msgstr ""

#. (title)
msgid "Daily Use Guide"
msgstr "日常使用指南"

#. (para)
msgid ""
"This document describes day to day usage of the TortoiseSVN client. It is "
"<emphasis>not</emphasis> an introduction to version control systems, and "
"<emphasis>not</emphasis> an introduction to Subversion (SVN). It is more like "
"a place you may turn to when you know approximately what you want to do, but "
"don't quite remember how to do it."
msgstr ""
"本文目的在与描述TortoiseSVN客户端的日常使用。<emphasis>不是</emphasis>一个版本"
"控制系统指南,也<emphasis>不是</emphasis>Subversion (SVN)的指南。本文档的价值"
"在于,当你知道大概要做什么,却又记不起应该怎么做的时候,可以有个参考的地方。"

#. (para)
msgid ""
"If you need an introduction to version control with Subversion, then we "
"recommend you read the fantastic book: <ulink url=\"http://svnbook.red-bean."
"com/\"><citetitle>Version Control with Subversion</citetitle></ulink>."
msgstr ""
"如果你需要了解使用Subversion进行版本控制的指南,我们建立你阅读以下这本梦幻之"
"书: <ulink url=\"http://svnbook.red-bean.com/\"><citetitle>《使用 Subversion "
"进行版本管理》</citetitle></ulink>."

#. (para)
msgid ""
"This document is also a work in progress, just as TortoiseSVN and Subversion "
"are. If you find any mistakes, please report them to the mailing list so we "
"can update the documentation. Some of the screenshots in the Daily Use Guide "
"(DUG) might not reflect the current state of the software. Please forgive us. "
"We're working on TortoiseSVN in our free time."
msgstr ""
"本文档与TortoiseSVN和Subversion一样,也是处于“正在开发”的状态。如果你找到了错"
"误之处,请向邮件列表报告,这样我们就可以更新它。日常使用指南(DUG)中的一些屏幕"
"截图也许不符合当前软件中的情况。请您原谅我们。毕竟我们只是用业余的时间在制作"
"TortoiseSVN 。"

#. (para)
msgid "You should have installed TortoiseSVN already."
msgstr "你应该已经安装了TortoiseSVN。"

#. (para)
msgid "You should be familiar with version control systems."
msgstr "你应该熟悉版本控制系统。"

#. (para)
msgid "You should know the basics of Subversion."
msgstr "你应该知道Subversion的基础。"

#. (para)
msgid ""
"You should have set up a server and/or have access to a Subversion repository."
msgstr "你应该已经建立了一个服务器并且可以访问Subversion库。"

#. (para)
msgid "In order to get the most out of the Daily Use Guide: <placeholder-1/>"
msgstr "为了获得比每日用户指南更多的信息: <placeholder-1/>"

#. (title)
msgid "Getting Started"
msgstr "开始"

#. (title)
#. (title)
#. (title)
msgid "Icon Overlays"
msgstr "图标重载"

#. (title)
#. (title)
msgid "Explorer showing icon overlays"
msgstr "显示重载图标的资源管理器"

#. (para)
msgid ""
"<placeholder-1/> One of the most visible features of TortoiseSVN is the icon "
"overlays which appear on files in your working copy. These show you at a "
"glance which of your files have been modified. Refer to <xref linkend=\"tsvn-"
"dug-wcstatus-1\"/> to find out what the different overlays represent."
msgstr ""
"<placeholder-1/> TortoiseSVN 最明显的特性之一就是图标重载,重载的图标显示在你"
"的工作副本文件上。你一眼就可以看到文件被修改过了。参考 <xref linkend=\"tsvn-"
"dug-wcstatus-1\"/> 查阅不同的重载图标含义。"

#. (title)
msgid "Context Menus"
msgstr "右键菜单"

#. (primary)
msgid "context menu"
msgstr "右键菜单"

#. (primary)
msgid "right-click"
msgstr "右击"

#. (title)
msgid "Context menu for a directory under version control"
msgstr "版本控制下一个目录的右键菜单"

#. (para)
msgid ""
"<placeholder-1/> All TortoiseSVN commands are invoked from the context menu "
"of the windows explorer. Most are directly visible, when you <action>right "
"click</action> on a file or folder. The commands that are available depend on "
"whether the file or folder or its parent folder is under version control or "
"not. You can also see the TortoiseSVN menu as part of the Explorer file menu."
msgstr ""
"<placeholder-1/> 所有的TortoiseSVN命令都是通过windows资源管理器的右键菜单执"
"行。<action>右键点击</action>一个文件或者文件夹,大多数菜单项都能够直接显示。"
"一个命令是否显示取决于这个文件或文件夹或者它们的父文件夹是否受版本控制,你也可"
"以将TortoiseSVN的菜单作为资源管理器菜单的一部分。"

#. (para)
msgid ""
"Some commands which are very rarely used are only available in the extended "
"context menu. To bring up the extended context menu, hold down the "
"<keycap>Shift</keycap> key when you <action>right-click</action>."
msgstr ""

#. (title)
msgid "Explorer file menu for a shortcut in a versioned folder"
msgstr "在一个版本控制的文件夹下资源管理器文件菜单中的快捷方式。"

#. (para)
msgid ""
"In some cases you may see several TortoiseSVN entries. This is not a bug! "
"<placeholder-1/> This example is for an unversioned shortcut within a "
"versioned folder, and in the Explorer file menu there are <emphasis>three</"
"emphasis> entries for TortoiseSVN. One is for the folder, one for the "
"shortcut itself, and the third for the object the shortcut is pointing to. To "
"help you distinguish between them, the icons have an indicator in the lower "
"right corner to show whether the menu entry is for a file, a folder, a "
"shortcut or for multiple selected items."
msgstr ""
"在某些情况下,你可能看到多个TortoiseSVN条目。这不是BUG!<placeholder-1/>本示例"
"是在一个受控文件夹下的某个未受控的快捷方式, 在资源管理器的文件菜单下有"
"<emphasis>三个</emphasis>TortoiseSVN条目。一个是受控文件夹本身的,一个是快捷方"
"式本身的,第三个是快捷方式所指向的对象。为了帮助你区分它们,菜单条目的图标的右"
"下角有标志,表明是文件、快捷方式、文件夹或是选中了多项。"

#. (para)
msgid ""
"If you are using Windows 2000 you will find that the context menus are shown "
"as plain text, without the menu icons shown above. We are aware that this was "
"working in previous versions, but Microsoft has changed the way its icon "
"handlers work for Vista, requiring us to use a different display method which "
"unfortunately does not work on Windows 2000."
msgstr ""

#. (title)
#. (title)
msgid "Drag and Drop"
msgstr "拖放"

#. (primary)
msgid "drag handler"
msgstr "拖拽句柄"

#. (primary)
msgid "drag-n-drop"
msgstr "拖放"

#. (primary)
msgid "right drag"
msgstr "右键拖动"

#. (title)
#. (title)
msgid "Right drag menu for a directory under version control"
msgstr "版本控制下的一个目录的右键拖拽菜单"

#. (para)
msgid ""
"<placeholder-1/> Other commands are available as drag handlers, when you "
"<action>right drag</action> files or folders to a new location inside working "
"copies or when you <action>right drag</action> a non-versioned file or folder "
"into a directory which is under version control."
msgstr ""
"<placeholder-1/> 在工作副本里<action>右键拖拽</action>文件或目录到新的位置,或"
"者<action>右键拖拽</action>一个非版本控制的文件或文件夹到一个版本控制目录下的"
"时候,右键菜单还能够出现其他的命令。"

#. (title)
msgid "Common Shortcuts"
msgstr "常用快捷方式"

#. (term)
msgid "F1"
msgstr "F1"

#. (para)
msgid "Help, of course."
msgstr "当然是帮助。"

#. (term)
msgid "F5"
msgstr "F5"

#. (para)
msgid ""
"Refresh the current view. This is perhaps the single most useful one-key "
"command. For example ... In Explorer this will refresh the icon overlays on "
"your working copy. In the commit dialog it will re-scan the working copy to "
"see what may need to be committed. In the Revision Log dialog it will contact "
"the repository again to check for more recent changes."
msgstr ""
"刷新当前视图。这也许是单键命令中唯一一个最常用的了。比如... 在资源浏览器中,这"
"个键可以刷新工作副本中的图标重载。在提交对话框中,它可以重新扫描查找哪些是需要"
"提交的。在版本日志对话框中,可以重新联系版本库以检查更多的最近修改情况。"

#. (term)
msgid "Ctrl-A"
msgstr "Ctrl-A"

#. (para)
msgid ""
"Select all. This can be used if you get an error message and want to copy and "
"paste into an email. Use Ctrl-A to select the error message and then ..."
msgstr ""
"全选。可用于在得到一个错误消息并想要复制粘贴到电子邮件时。使用Ctrl-A to选择错"
"误错误,然后..."

#. (term)
msgid "Ctrl-C"
msgstr "Ctrl-C"

#. (para)
msgid "... Copy the selected text."
msgstr "... 复制选中的文本。"

#. (para)
msgid ""
"Some common operations have well-known Windows shortcuts, but do not appear "
"on buttons or in menus. If you can't work out how to do something obvious, "
"like refreshing a view, check here. <placeholder-1/>"
msgstr ""
"一些常见的操作与 Windows 的快捷键是一样的,但没有出现在按钮或是菜单中。如果你"
"找不到一些显而易见的操作,比如刷新视图,请参考以下内容。 <placeholder-1/>"

#. (primary)
msgid "authentication"
msgstr "认证"

#. (title)
msgid "Authentication Dialog"
msgstr "认证对话框"

#. (para)
msgid ""
"<filename>svn.simple</filename> contains credentials for basic authentication "
"(username/password)."
msgstr ""
"<filename>svn.simple</filename>文件里包含了基本认证方式所需要的认证信息(用户"
"名/口令)。"

#. (para)
msgid "<filename>svn.ssl.server</filename> contains SSL server certificates."
msgstr "<filename>svn.ssl.server</filename>文件里包含了SSL服务器证书。"

#. (para)
msgid ""
"<filename>svn.username</filename> contains credentials for username-only "
"authentication (no password needed)."
msgstr ""
"<filename>svn.username</filename>文件里包含了用户名认证的认证信息(不需要提供密"
"码)。"

#. (para)
#, fuzzy
msgid ""
"If the repository that you are trying to access is password protected, an "
"authentication Dialog will show up. <placeholder-1/> Enter your username and "
"password. The checkbox will make TortoiseSVN store the credentials in "
"Subversion's default directory: <filename>%APPDATA%\\Subversion\\auth</"
"filename> in three subdirectories: <placeholder-2/>"
msgstr ""
"如果连接的版本库需要口令,就会显示认证对话框。<placeholder-1/> 输入你的用户名"
"和口令。其检查框能让 TortoiseSVN 在 Subversion的 缺省目录:<filename>%APPDATA%"
"\\Subversion\\auth</filename> 的三个子目录内保存认证信息:<placeholder-2/> 每"
"个文件对应一个服务器,文件是纯文本格式,因此可以用文本编辑器查看文件是对应哪个"
"服务器。如果希望 Subversion 和 TortoiseSVN(或者其它 Subversion 客户端) 忘记某"
"个服务器的凭证信息,只需删除这个服务器的对应文件即可。"

#. (para)
#, fuzzy
msgid ""
"If you want to clear the authentication cache for all servers, you can do so "
"from the <guilabel>Saved Data</guilabel> page of TortoiseSVN's settings "
"dialog. That button will clear all cached authentication data from the "
"Subversion <filename>auth</filename> directories, as well as any "
"authentication data stored in the registry by earlier versions of "
"TortoiseSVN. Refer to <xref linkend=\"tsvn-dug-settings-saved-data\"/>."
msgstr ""
"如果想要清除<emphasis>所有</emphasis>服务器的认证缓存,可以通过 TortoiseSVN 设"
"置对话框的<guilabel>常规设置</guilabel>页来实现。那个按钮能够清除 Subversion "
"的 auth 目录中缓存的所有认证数据,以及老版本的 TortoiseSVN 存储在注册表里的认"
"证数据。请参考 <xref linkend=\"tsvn-dug-settings-main\"/>。"

#. (para)
msgid ""
"Some people like to have the authentication data deleted when they log off "
"Windows, or on shutdown. The way to do that is to use a shutdown script to "
"delete the <filename>%APPDATA%\\Subversion\\auth</filename> directory, e.g. "
"<screen>\n"
"@echo off\n"
"rmdir /s /q \"%APPDATA%\\Subversion\\auth\"\n"
"</screen> You can find a description of how to install such scripts at <ulink "
"url=\"http://www.windows-help-central.com/windows-shutdown-script.html"
"\"><citetitle>windows-help-central.com</citetitle></ulink>."
msgstr ""

#. (para)
msgid ""
"For more information on how to set up your server for authentication and "
"access control, refer to <xref linkend=\"tsvn-serversetup\"/>"
msgstr ""
"关于如何设置服务器的认证和权限的更多信息,请参考<xref linkend=\"tsvn-"
"serversetup\"/>"

#. (title)
msgid "Maximizing Windows"
msgstr "最大化窗口"

#. (primary)
msgid "maximize"
msgstr "最大化"

#. (para)
msgid ""
"Many of TortoiseSVN's dialogs have a lot of information to display, but it is "
"often useful to maximize only the height, or only the width, rather than "
"maximizing to fill the screen. As a convenience, there are shortcuts for this "
"on the <guilabel>Maximize</guilabel> button. Use the <action>middle mouse</"
"action> button to maximize vertically, and <action>right mouse</action> to "
"maximize horizontally."
msgstr ""
"大多数 TortoiseSVN 的对话框显示很多信息,但是经常只有最大化高度或者宽度有用,"
"而不是全部最大化,覆盖整个屏幕。为了方便,在 <guilabel>最大化</guilabel> 按钮"
"有快捷方式做这些工作。使用鼠标<action>中键</action>最大化高度,<action>右键</"
"action>最大化宽度。"

#. (title)
msgid "Importing Data Into A Repository"
msgstr "导入数据到版本库"

#. (primary)
msgid "import"
msgstr "导入"

#. (primary)
msgid "add files to repository"
msgstr "向版本库增加文件"

#. (title)
#. (entry)
#. (title)
#. (glossterm)
msgid "Import"
msgstr "导入"

#. (primary)
msgid "temporary files"
msgstr "临时文件"

#. (para)
msgid ""
"If you are importing into an existing repository which already contains some "
"projects, then the repository structure will already have been decided. If "
"are importing data into a new repository then it is worth taking the time to "
"think about how it will be organised. Read <xref linkend=\"tsvn-repository-"
"layout\"/> for further advice."
msgstr ""

#. (para)
msgid ""
"There is no way to select files and folders to include, aside from using the "
"global ignore settings."
msgstr ""

#. (para)
msgid ""
"The folder imported does not become a working copy. You have to do a checkout "
"to copy the files back from the server."
msgstr ""

#. (para)
#, fuzzy
msgid "It is easy to import to the wrong folder level in the repository."
msgstr "在版本库创建新目录。"

#. (para)
msgid ""
"This section describes the Subversion import command, which was designed for "
"importing a directory hierarchy into the repository in one shot. Although it "
"does the job, it has several shortcomings: <placeholder-1/> For these reasons "
"we recommend that you do not use the import command at all but rather follow "
"the two-step method described in <xref linkend=\"tsvn-dug-import-in-place\"/"
">. But since you are here, this is how the basic import works ..."
msgstr ""

#. (para)
msgid ""
"Remove all files which are not needed to build the project (temporary files, "
"files which are generated by a compiler e.g. *.obj, compiled binaries, ...)"
msgstr ""
"删除所有构建工程不需要的文件(临时文件,编译器产生的文件,例如 *.obj,生成的二"
"进制文件,...)"

#. (para)
msgid ""
"Organize the files in folders and sub-folders. Although it is possible to "
"rename/move files later it is highly recommended to get your project's "
"structure straight before importing!"
msgstr ""
"组织目录和子目录内的文件。尽管以后可以改名/删除文件,我们还是建议你在导入之前"
"使你的项目结构组织良好!"

#. (para)
msgid ""
"Before you import your project into a repository you should: <placeholder-1/>"
msgstr "在将你的项目导入到版本库之前,你应该: <placeholder-1/>"

#. (title)
msgid "The Import dialog"
msgstr "导入对话框"

#. (para)
msgid ""
"Now select the top-level folder of your project directory structure in the "
"windows explorer and <action>right click</action> to open the context menu. "
"Select the command <menuchoice><guimenu>TortoiseSVN</"
"guimenu><guimenuitem>Import...</guimenuitem></menuchoice> which brings up a "
"dialog box: <placeholder-1/>"
msgstr ""
"现在进入资源管理器,选择你的项目的顶层目录,<action>右击</action>打开上下文菜"
"单。选择命令<menuchoice><guimenu>TortoiseSVN</guimenu><guimenuitem>导入 ...</"
"guimenuitem></menuchoice>,它会弹出一个对话框: <placeholder-1/>"

#. (para)
msgid ""
"In this dialog you have to enter the URL of the repository location where you "
"want to import your project. It is very important to realise that the local "
"folder you are importing does not itself appear in the repository, only its "
"content. For example if you have a structure: <screen>\n"
"C:\\Projects\\Widget\\source\n"
"C:\\Projects\\Widget\\doc\n"
"C:\\Projects\\Widget\\images\n"
"</screen> and you import <filename>C:\\Projects\\Widget</filename> into "
"<systemitem class=\"url\">http://mydomain.com/svn/trunk</systemitem> then you "
"may be surprised to find that your subdirectories go straight into "
"<literal>trunk</literal> rather than being in a <literal>Widget</literal> "
"subdirectory. You need to specify the subdirectory as part of the URL, "
"<systemitem class=\"url\">http://mydomain.com/svn/trunk/Widget-X</"
"systemitem>. Note that the import command will automatically create "
"subdirectories within the repository if they do not exist."
msgstr ""

#. (para)
msgid "The import message is used as a log message."
msgstr "这个输入信息将用作提交日志。"

#. (para)
msgid ""
"By default, files and folders which match the global-ignore patterns are "
"<emphasis>not</emphasis> imported. To override this behaviour you can use the "
"<guilabel>Include ignored files</guilabel> checkbox. Refer to <xref linkend="
"\"tsvn-dug-settings-main\"/> for more information on setting a global ignore "
"pattern."
msgstr ""
"默认情况下,匹配全局忽略模式的文件和文件夹<emphasis>不会</emphasis>被导入。你"
"可以使用<guilabel>包含忽略文件</guilabel>检验栏来禁止此行为。参考<xref "
"linkend=\"tsvn-dug-settings-main\"/>以获得关于全局忽略模式的更多信息。"

#. (para)
#, fuzzy
msgid ""
"As soon as you press <guibutton>OK</guibutton> TortoiseSVN imports the "
"complete directory tree including all files into the repository. The project "
"is now stored in the repository under version control. Please note that the "
"folder you imported is <emphasis>NOT</emphasis> under version control! To get "
"a version-controlled <firstterm>working copy</firstterm> you need to do a "
"Checkout of the version you just imported. Or read on to find out how to "
"import a folder in place."
msgstr ""
"当你点击<guibutton>确认</guibutton>时,TortoiseSVN 会导入包含所有文件的完整目"
"录树到版本库。如前所述,你导入的文件夹名称不会在版本库中出现,只有这个文件夹的"
"内容会在版本库中出现。现在这个工程就存贮在版本库,被版本控制。请注意,你导入的"
"文件夹<emphasis>没有</emphasis>被版本控制!你需要检出刚才导入的版本,以便获得"
"受版本控制的<firstterm>工作目录</firstterm>。或者继续阅读,找到如何导入文件夹"
"到合适的位置。"

#. (title)
msgid "Import in Place"
msgstr "导入适当的位置"

#. (primary)
msgid "import in place"
msgstr "导入适当的位置"

#. (para)
msgid ""
"Use the repository browser to create a new project folder directly in the "
"repository."
msgstr "使用版本库浏览器直接在版本库中创建项目文件夹。"

#. (para)
msgid ""
"Checkout the new folder over the top of the folder you want to import. You "
"will get a warning that the local folder is not empty. Now you have a "
"versioned top level folder with unversioned content."
msgstr ""
"在你要导入的文件夹检出新目录。你会得到一个本地目录为空的警告。现在你有一个版本"
"控制的顶级目录,含有未版本控制的内容。"

#. (para)
msgid ""
"Use <menuchoice><guimenu>TortoiseSVN</guimenu><guimenuitem>Add...</"
"guimenuitem></menuchoice> on this versioned folder to add some or all of the "
"content. You can add and remove files, set <literal>svn:ignore</literal> "
"properties on folders and make any other changes you need to."
msgstr ""
"在此受版本控制的文件夹上使用<menuchoice><guimenu>TortoiseSVN</"
"guimenu><guimenuitem>增加...</guimenuitem></menuchoice>增加部分或全部内容。你"
"可以增加或删除文件,在文件夹上设置<literal>svn:ignore</literal>属性,或者你需"
"要的其它修改。"

#. (para)
msgid ""
"Commit the top level folder, and you have a new versioned tree, and a local "
"working copy, created from your existing folder."
msgstr "提交顶级目录,你有一个新的版本树,一份从你已有目录创建的本地工作副本。"

#. (para)
msgid ""
"Assuming you already have a repository, and you want to add a new folder "
"structure to it, just follow these steps: <placeholder-1/>"
msgstr ""
"假定你已经有个版本库,你想给它增加一个新目录结构,只需以下步骤: <placeholder-"
"1/>"

#. (title)
msgid "Special Files"
msgstr "专用文件"

#. (primary)
msgid "special files"
msgstr "专用文件"

#. (para)
msgid ""
"Sometimes you need to have a file under version control which contains user "
"specific data. That means you have a file which every developer/user needs to "
"modify to suit his/her local setup. But versioning such a file is difficult "
"because every user would commit his/her changes every time to the repository."
msgstr ""
"有时候你需要版本控制一个包含用户专用的数据。它意味着你有一个文件,每个开发者/"
"用户都需要修改,一边满足他/她的本地配置。但是版本控制这样的文件是困难的,因为"
"每个用户可能都要提交他/她的修改。"

#. (para)
msgid ""
"In such cases we suggest to use <emphasis>template</emphasis> files. You "
"create a file which contains all the data your developers will need, add that "
"file to version control and let the developers check this file out. Then, "
"each developer has to <emphasis>make a copy</emphasis> of that file and "
"rename that copy. After that, modifying the copy is not a problem anymore."
msgstr ""
"在这种情况下,我们建议使用<emphasis>模版</emphasis>文件。创建一个包含所有开发"
"者需要的数据的文件,增加到版本库中,让开发者检出。然后,每个开发者<emphasis>创"
"建一个副本</emphasis>,改名此文件。于是,修改这个文件不再是问题。 "

#. (para)
msgid ""
"As an example, you can have a look at TortoiseSVN's build script. It calls a "
"file named <filename>TortoiseVars.bat</filename> which doesn't exist in the "
"repository. Only the file <filename>TortoiseVars.tmpl</filename>. "
"<filename>TortoiseVars.tmpl</filename> is the template file which every "
"developer has to create a copy from and rename that file to "
"<filename>TortoiseVars.bat</filename>. Inside that file, we added comments so "
"that the users will see which lines they have to edit and change according to "
"their local setup to get it working."
msgstr ""
"作为例子,你可以看看TortoiseSVN的构建脚本。它调用一个<filename>TortoiseVars."
"bat</filename>文件,它并不在版本库中。 只有<filename>TortoiseVars.tmpl</"
"filename>在版本库中。<filename>TortoiseVars.tmpl</filename>是一个模版文件,每"
"个开发者都需要创建一个副本,改名为<filename>TortoiseVars.bat</filename>。在这"
"个文件中,我们增加了注释,所以用户知道他们需要编辑那些行,以便适应他们的本地配"
"置,使其能工作。"

#. (para)
msgid ""
"So as not to disturb the users, we also added the file <filename>TortoiseVars."
"bat</filename> to the ignore list of its parent folder, i.e. we've set the "
"Subversion property <literal>svn:ignore</literal> to include that filename. "
"That way it won't show up as unversioned on every commit."
msgstr ""
"于是为了不干扰用户,我们也将<filename>TortoiseVars.bat</filename>增加到它的父"
"目录的忽略列表,也就是,我们设置了Subversion属性<literal>svn:ignore</literal>"
"包含这个文件名称。这样,每次提交时它都不会作为没有版本控制的文件出现。"

#. (title)
msgid "Checking Out A Working Copy"
msgstr "检出工作副本"

#. (primary)
msgid "checkout"
msgstr "检出"

#. (primary)
msgid "create working copy"
msgstr "创建工作副本"

#. (para)
msgid ""
"To obtain a working copy you need to do a <firstterm>checkout</firstterm> "
"from a repository."
msgstr ""
"为了得到一个工作副本,需要进行从版本库<firstterm>检出</firstterm>的操作。"

#. (title)
msgid "The Checkout dialog"
msgstr "检出对话框"

#. (para)
msgid ""
"Select a directory in windows explorer where you want to place your working "
"copy. <action>Right click</action> to pop up the context menu and select the "
"command <menuchoice><guimenu>TortoiseSVN</guimenu><guimenuitem>Checkout...</"
"guimenuitem></menuchoice>, which brings up the following dialog box: "
"<placeholder-1/> If you enter a folder name that does not yet exist, then a "
"directory with that name is created."
msgstr ""
"在Windows资源管理器里选择一个存放工作副本的目录。<action>右键点击</action>弹出"
"右键菜单,选择<menuchoice><guimenu>TortoiseSVN</guimenu><guimenuitem>检出…</"
"guimenuitem></menuchoice>命令。然后就会看到下面的对话框: <placeholder-1/>如果"
"输入一个并不存在的目录名,那么这个名字的目录就会被创建出来。"

#. (title)
msgid "Checkout Depth"
msgstr "检出深度"

#. (term)
msgid "Fully recursive"
msgstr "全递归"

#. (para)
msgid "Checkout the entire tree, including all child folders and sub-folders."
msgstr "检出完整的目录树,包含所有的文件或子目录。"

#. (term)
msgid "Immediate children, including folders"
msgstr "直接节点,包含目录。"

#. (para)
msgid ""
"Checkout the specified directory, including all files and child folders, but "
"do not populate the child folders."
msgstr "检出目录,包含其中的文件或子目录,但是不递归展开子目录。"

#. (term)
msgid "Only file children"
msgstr "文件子节电"

#. (para)
msgid ""
"Checkout the specified directory, including all files but do not checkout any "
"child folders."
msgstr "检出指定目录,包含所有文件,但是不检出任何子目录。"

#. (term)
msgid "Only this item"
msgstr "仅此项。"

#. (para)
msgid ""
"Checkout the directory only. Do not populate it with files or child folders."
msgstr "只检出目录。不包含其中的文件或子目录。"

#. (term)
#. (term)
#. (listitem)
msgid "Working copy"
msgstr "工作副本"

#. (para)
msgid ""
"Retain the depth specified in the working copy. This option is not used in "
"the checkout dialog, but it is the default in all other dialogs which have a "
"depth setting."
msgstr ""
"保持工作副本指定的深度。此选项不用于检出对话框,但它是其它所有含有深度配置对话"
"框的默认配置。"

#. (para)
msgid ""
"You can choose the <firstterm>depth</firstterm> you want to checkout, which "
"allows you to specify the depth of recursion into child folders. If you want "
"just a few sections of a large tree, You can checkout the top level folder "
"only, then update selected folders recursively. <placeholder-1/>"
msgstr ""
"你可以选择要检出的<firstterm>深度</firstterm>,它允许你指定子目录递归的深度。"
"如果你只需要大目录中的几个子条目,你可以只检出最高层目录,然后递归的更新选择的"
"目录。<placeholder-1/>"

#. (para)
msgid ""
"If you check out a sparse working copy (i.e., by choosing something other "
"than <literal>fully recursive</literal> for the checkout depth), you can "
"fetch additional sub-folders by using the repository browser (<xref linkend="
"\"tsvn-dug-repobrowser\"/>) or the check for modifications dialog (<xref "
"linkend=\"tsvn-dug-wcstatus-2\"/>)."
msgstr ""

#. (para)
#, fuzzy
msgid ""
"In the repository browser, <action>Right click</action> on the checked out "
"folder, then use <menuchoice><guimenu>TortoiseSVN</guimenu><guimenuitem>Repo-"
"Browser</guimenuitem></menuchoice> to bring up the repository browser. Find "
"the sub-folder you would like to add to your working copy, then use "
"<menuchoice><guimenu>Context menu</guimenu><guimenuitem>Update item to "
"revision...</guimenuitem></menuchoice> That menu will only be visible if the "
"selected item does not exist yet in your working copy, but the parent item "
"does exist."
msgstr ""
"如果希望比较某个文件的两个历史版本,比如同一个文件修订版本100和200,可以用"
"<menuchoice><guimenu>TortoiseSVN</guimenu><guimenuitem>显示日志</"
"guimenuitem></menuchoice>列出这个文件的历史版本纪录,选择希望比较的两个版本,"
"然后使用<menuchoice><guimenu>右键菜单</guimenu><guimenuitem>比较版本差异</"
"guimenuitem></menuchoice>。"

#. (para)
msgid ""
"In the check for modifications dialog, first click on the button "
"<guibutton>Check repository</guibutton>. The dialog will show all the files "
"and folders which are in the repository but which you have not checked out as "
"<literal>remotely added</literal>. <action>Right click</action> on the folder"
"(s) you would like to add to your working copy, then use "
"<menuchoice><guimenu>Context menu</guimenu><guimenuitem>Update</guimenuitem></"
"menuchoice>."
msgstr ""

#. (para)
msgid ""
"This feature is very useful when you only want to checkout parts of a large "
"tree, but you want the convenience of updating a single working copy. Suppose "
"you have a large tree which has sub-folders <literal>Project01</literal> to "
"<literal>Project99</literal>, and you only want to checkout "
"<literal>Project03</literal>, <literal>Project25</literal> and "
"<literal>Project76/SubProj</literal>. Use these steps:"
msgstr ""

#. (para)
msgid ""
"Checkout the parent folder with depth <quote>Only this item</quote> You now "
"have an empty top level folder."
msgstr ""

#. (para)
#, fuzzy
msgid ""
"Select the new folder and use <menuchoice><guimenu>TortoiseSVN</"
"guimenu><guimenuitem>Repo browser</guimenuitem></menuchoice> to display the "
"repository content."
msgstr ""
"为了验证svnserve正常工作,使用<menuchoice><guimenu>TortoiseSVN</"
"guimenu><guimenuitem>版本库浏览器</guimenuitem></menuchoice>来查看版本库。"

#. (para)
msgid ""
"Right click on <literal>Project03</literal> and <menuchoice><guimenu>Context "
"menu</guimenu><guimenuitem>Update item to revision...</guimenuitem></"
"menuchoice>. Keep the default settings and click on <guibutton>OK</"
"guibutton>. You now have that folder fully populated."
msgstr ""

#. (para)
msgid "Repeat the same process for <literal>Project25</literal>."
msgstr ""

#. (para)
msgid ""
"Navigate to <literal>Project76/SubProj</literal> and do the same. This time "
"note that the <literal>Project76</literal> folder has no content except for "
"<literal>SubProj</literal>, which itself is fully populated. Subversion has "
"created the intermediate folders for you without populating them."
msgstr ""

#. (title)
msgid "Working copy depth cannot be reduced"
msgstr "不能缩短工作副本的深度"

#. (para)
msgid ""
"Once you have checked out a working copy to a particular depth you can "
"increase that depth later to get more content. However you cannot reduce the "
"depth again to remove content. That feature may be added in a later version "
"of Subversion."
msgstr ""

#. (title)
msgid "Using an older server"
msgstr "使用旧版本服务器"

#. (para)
msgid ""
"Pre-1.5 servers do not understand the working copy depth request, so they "
"cannot always deal with requests efficiently. The command will still work, "
"but an older server may send all the data, leaving the client to filter out "
"what is not required, which may mean a lot of network traffic. If possible "
"you should upgrade your server to 1.5."
msgstr ""

#. (para)
msgid ""
"If the project contains references to external projects which you do "
"<emphasis>not</emphasis> want checked out at the same time, use the "
"<guilabel>Omit externals</guilabel> checkbox."
msgstr ""
"如果项目含有外部项目的引用,而这些引用你<emphasis>不</emphasis>希望同时检出,"
"请选中<guilabel>忽略外部项目</guilabel>复选框。"

#. (para)
#, fuzzy
msgid ""
"If <guilabel>Omit externals</guilabel> is checked, or if you wish to increase "
"the depth value, you will have to perform updates to your working copy using "
"<menuchoice><guimenu>TortoiseSVN</guimenu><guimenuitem>Update to Revision...</"
"guimenuitem></menuchoice> instead of <menuchoice><guimenu>TortoiseSVN</"
"guimenu><guimenuitem>Update</guimenuitem></menuchoice>. The standard update "
"will include all externals and keep the existing depth."
msgstr ""
"如果这两个选项的任何一个选中了,你应该使用<menuchoice><guimenu>TortoiseSVN</"
"guimenu><guimenuitem>更新至版本...</guimenuitem></menuchoice>来更新你的工作副"
"本而不是使用<menuchoice><guimenu>TortoiseSVN</guimenu><guimenuitem>更新</"
"guimenuitem></menuchoice>。标准的更新将会包含所有的子文件夹和外部引用。"

#. (para)
msgid ""
"It is recommended that you check out only the <literal>trunk</literal> part "
"of the directory tree, or lower. If you specify the parent path of the "
"directory tree in the URL then you might end up with a full hard disk since "
"you will get a copy of the entire repository tree including every branch and "
"tag of your project!"
msgstr ""
"强烈建议你只检出 <literal>trunk</literal> 或更低层的目录树。如果你在 URL 中指"
"定了根路径,你的硬盘有可能被塞满,因为你将会得到整个版本库树的副本,包括项目所"
"有的分支和标签(tag)!"

#. (title)
msgid "Exporting"
msgstr "关于导出"

#. (para)
msgid ""
"Sometimes you may want to create a local copy without any of those <filename>."
"svn</filename> directories, e.g. to create a zipped tarball of your source. "
"Read <xref linkend=\"tsvn-dug-export\"/> to find out how to do that."
msgstr ""
"有时你可能想要建立一个没有<filename>.svn</filename>目录的本地的副本,比如建立"
"一个源代码压缩包。要达到这个目的,请参考<xref linkend=\"tsvn-dug-export\"/>。"

#. (title)
msgid "Committing Your Changes To The Repository"
msgstr "将你的修改提交到版本库"

#. (primary)
msgid "commit"
msgstr "提交"

#. (primary)
msgid "send changes"
msgstr "发送更改"

#. (primary)
msgid "check in"
msgstr "提交"

#. (para)
msgid ""
"Sending the changes you made to your working copy is known as "
"<firstterm>committing</firstterm> the changes. But before you commit you have "
"to make sure that your working copy is up to date. You can either use "
"<menuchoice><guimenu>TortoiseSVN</guimenu><guimenuitem>Update</guimenuitem></"
"menuchoice> directly. Or you can use <menuchoice><guimenu>TortoiseSVN</"
"guimenu><guimenuitem>Check for Modifications</guimenuitem></menuchoice> "
"first, to see which files have changed locally or on the server."
msgstr ""
"将你对工作副本的修改发送给版本库,称为<firstterm>提交</firstterm>修改。但在你"
"提交之前要确保你的工作副本是最新的。你可以直接使用"
"<menuchoice><guimenu>TortoiseSVN</guimenu><guimenuitem>更新</guimenuitem></"
"menuchoice>,或者,你可以先使用<menuchoice><guimenu>TortoiseSVN</"
"guimenu><guimenuitem>检查修改</guimenuitem></menuchoice>看看哪些文件在本地或是"
"服务器上已经有了改动。"

#. (title)
msgid "The Commit Dialog"
msgstr "提交对话框"

#. (title)
msgid "The Commit dialog"
msgstr "提交对话框"

#. (para)
msgid ""
"If your working copy is up to date and there are no conflicts, you are ready "
"to commit your changes. Select any file and/or folders you want to commit, "
"then <menuchoice><guimenu>TortoiseSVN</guimenu><guimenuitem>Commit...</"
"guimenuitem></menuchoice>. <placeholder-1/>"
msgstr ""
"如果你的工作副本是最新的,并且没有冲突,你就已经为提交做好准备了,选择你要提交"
"的文件和/或文件夹,然后<menuchoice><guimenu>TortoiseSVN</guimenu><guimenuitem>"
"提交...</guimenuitem></menuchoice>. <placeholder-1/>"

#. (para)
msgid ""
"The commit dialog will show you every changed file, including added, deleted "
"and unversioned files. If you don't want a changed file to be committed, just "
"uncheck that file. If you want to include an unversioned file, just check "
"that file to add it to the commit."
msgstr ""
"提交对话框将显示每个被改动过的文件,包括新增的、删除的和未受控的文件。如果你不"
"想改动被提交,只要将该文件的复选框的勾去掉就可以了。如果你要加入未受控的文件,"
"只要勾选该文件把它加入提交列表就可以了。"

#. (para)
#. (para)
msgid ""
"Items which have been switched to a different repository path are also "
"indicated using an <literal>(s)</literal> marker. You may have switched "
"something while working on a branch and forgotten to switch back to trunk. "
"This is your warning sign!"
msgstr ""
"那些被切换(switched)到不同版本库路径的项也用<literal>(s)</literal>标记来表示。"
"当工作在分支上的时候你可能切换到某处,然后忘记切换回主干。这是你的警告信号!"

#. (title)
msgid "Commit files or folders?"
msgstr "提交文件还是文件夹?"

#. (para)
msgid ""
"When you commit files, the commit dialog shows only the files you have "
"selected. When you commit a folder the commit dialog will select the changed "
"files automatically. If you forget about a new file you created, committing "
"the folder will find it anyway. Committing a folder does <emphasis>not</"
"emphasis> mean that every file gets marked as changed; It just makes your "
"life easier by doing more work for you."
msgstr ""
"当你提交文件时,提交对话框只显示你所提中的文件。当你提交文件夹中,提交对话框将"
"自动选择有改动的文件。如果你忘记了你建立的一个新文件,提交文件夹将使你可以找到"
"它。提交一个文件夹<emphasis>并不</emphasis>意味着每个文件都被标识为修改过的,"
"它仅仅是通过帮你多做些事从而让你的生活更滋润一点。"

#. (para)
msgid ""
"If you have modified files which have been included from a different "
"repository using <literal>svn:externals</literal>, those changes cannot be "
"included in the same atomic commit. A warning symbol below the file list "
"tells you if this has happened, and the tooltip explains that those external "
"files have to be committed separately."
msgstr ""
"如果你修改的文件是使用了<literal>svn:externals</literal>从别的版本库中包含进来"
"的,那么这些改动不会被自动提交。在文件列表下方的警告符号会告诉你是否出现了这种"
"状况,工具提示(tooltip)提示了外部文件必须要分开提交。"

#. (title)
msgid "Many unversioned files in the commit dialog"
msgstr "在提交对话框中有很多未受控的文件"

#. (para)
msgid ""
"add the file (or a wildcard extension) to the list of files to exclude on the "
"settings page. This will affect every working copy you have."
msgstr ""
"将文件(或是通配符扩展)加入到设置页的排除列表中。这对每个工作副本都起作用。"

#. (para)
msgid ""
"add the file to the <literal>svn:ignore</literal> list using "
"<menuchoice><guimenu>TortoiseSVN</guimenu><guimenuitem>Add to ignore list</"
"guimenuitem></menuchoice> This will only affect the directory on which you "
"set the <literal>svn:ignore</literal> property. Using the SVN Property "
"Dialog, you can alter the <literal>svn:ignore</literal> property for a "
"directory."
msgstr ""
"使用<menuchoice><guimenu>TortoiseSVN</guimenu><guimenuitem>加入忽略列表</"
"guimenuitem></menuchoice>,将文件加入<literal>svn:ignore</literal>列表。 这只"
"对你设置了<literal>svn:ignore</literal>属性的路径有效。使用SVN属性对话框,你可"
"以改变一个目录的<literal>svn:ignore</literal>属性。"

#. (para)
msgid ""
"If you think that the commit dialog shows you too many unversioned (e.g. "
"compiler generated or editor backup) files, there are several ways to handle "
"this. You can: <placeholder-1/> Read <xref linkend=\"tsvn-dug-ignore\"/> for "
"more information."
msgstr ""
"如果你认为提交对话框显示了太多的未受版本控制的文件(如编译器产生的文件或是编辑"
"器的备份文件),有几种方法可以处理这种情况。你可以: <placeholder-1/> 参考 "
"<xref linkend=\"tsvn-dug-ignore\"/> 获得更多的信息。"

#. (para)
msgid ""
"<action>Double clicking</action> on any modified file in the commit dialog "
"will launch the external diff tool to show your changes. The context menu "
"will give you more options, as shown in the screenshot. You can also drag "
"files from here into another application such as a text editor or an IDE."
msgstr ""
"在提交对话框中<action>双击</action>任何修改过的文件,将运行外部 diff 工具显示"
"你做的改动。上下文菜单将给你更多的选项,请看屏幕截图。你可以从这里将文件拖动到"
"另一个应用程序中,如文本编辑器或 IDE。"

#. (para)
#, fuzzy
msgid ""
"You can select or deselect items by clicking on the checkbox to the left of "
"the item. For directories you can use <keycap>Shift</keycap>-<action>select</"
"action> to make the action recursive."
msgstr ""
"你可以点击项目左边的检查框,来选定或者取消。对于目录,你可以用 <action>SHIFT-"
"Select</action> 来执行递归操作。"

#. (para)
msgid ""
"The columns displayed in the bottom pane are customizable. If you "
"<action>right click</action> on any column header you will see a context menu "
"allowing you to select which columns are displayed. You can also change "
"column width by using the drag handle which appears when you move the mouse "
"over a column boundary. These customizations are preserved, so you will see "
"the same headings next time."
msgstr ""
"在底部面板中显示的列是可定制的。如果你<action>右击</action>任何一列的头部,你"
"就会看到一个上下文菜单,允许你选择哪一列要显示。还可以在鼠标移动到列边界时通过"
"拖动手把来改变列的宽度。这些定制的内容都会被保留下来,下一次你会见到相同的列。"

#. (para)
msgid ""
"By default when you commit changes, any locks that you hold on files are "
"released automatically after the commit succeeds. If you want to keep those "
"locks, make sure the <guilabel>Keep locks</guilabel> checkbox is checked. The "
"default state of this checkbox is taken from the <literal>no_unlock</literal> "
"option in the Subversion configuration file. Read <xref linkend=\"tsvn-dug-"
"settings-main\"/> for information on how to edit the Subversion configuration "
"file."
msgstr ""
"缺省情况下,当你成功提交修改后,你在这些文件上持有的锁会被自动释放。如果你需要"
"保留锁,请确认选中检查框<guilabel>保留锁</guilabel>。此检查框的缺省状态从 "
"Subversion 配置文件的 <literal>no_unlock</literal> 选项获取。参考 <xref "
"linkend=\"tsvn-dug-settings-main\"/> 以获得更多关于编辑 Subversion 配置文件的"
"信息。"

#. (para)
msgid ""
"You can drag files into the commit dialog from elsewhere, so long as the "
"working copies are checked out from the same repository. For example, you may "
"have a huge working copy with several explorer windows open to look at "
"distant folders of the hierarchy. If you want to avoid committing from the "
"top level folder (with a lengthy folder crawl to check for changes) you can "
"open the commit dialog for one folder and drag in items from the other "
"windows to include within the same atomic commit."
msgstr ""
"你可以将文件从别的地方拖动到提交对话框,只要工作副本是由同一版本库中检出就可以"
"了。比如,你有一个很大的工作副本,要开好几个资源管理器窗口来查看层次中不同的文"
"件夹。如果你要避免从顶级文件夹提交(冗长而缓慢的文件夹改动检查),你可以打开一个"
"文件夹的提交对话框,然后将别的窗口中的项拖进去,可样就可以一次提交它们了。"

#. (para)
msgid ""
"You can drag unversioned files which reside within a working copy into the "
"commit dialog, and they will be SVN added automatically."
msgstr "你可以将未版本控制的文件拖到工作副本提交对话框中,它们就会被自动增加。"

#. (title)
#. (title)
msgid "Repairing External Renames"
msgstr "修复外部改名"

#. (para)
#. (para)
msgid ""
"Sometimes files get renamed outside of Subversion, and they show up in the "
"file list as a missing file and an unversioned file. To avoid losing the "
"history you need to notify Subversion about the connection. Simply select "
"both the old name (missing) and the new name (unversioned) and use "
"<menuchoice><guimenu>Context Menu</guimenu><guimenuitem>Repair Move</"
"guimenuitem></menuchoice> to pair the two files as a rename."
msgstr ""
"有时候文件不是用Subversion改名,于是它们在文件列表中作为丢失和未版本控制的文件"
"出现。为了避免丢失历史,你需要通知Subversion。简单的选择老名称(丢失)和新名称"
"(未版本控制),然后使用<menuchoice><guimenu>右键菜单</guimenu><guimenuitem>修复"
"移动</guimenuitem></menuchoice>来指明这两个文件是改名关系。"

#. (title)
#. (title)
msgid "Change Lists"
msgstr "修改列表"

#. (para)
msgid ""
"The commit dialog supports Subversion's changelist feature to help with "
"grouping related files together. Find out about this feature in <xref linkend="
"\"tsvn-dug-changelists\"/>."
msgstr ""

#. (title)
msgid "Excluding Items from the Commit List"
msgstr ""

#. (para)
msgid ""
"Sometimes you have versioned files that change frequently but that you really "
"don't want to commit. Sometimes this indicates a flaw in your build process - "
"why are those files versioned? should you be using template files? But "
"occasionally it is inevitable. A classic reason is that your IDE changes a "
"timestamp in the project file every time you build. The project file has to "
"be versioned as it includes all the build settings, but it doesn't need to be "
"committed just because the timestamp changed."
msgstr ""

#. (para)
msgid ""
"To help out in awkward cases like this, we have reserved a changelist called "
"<literal>ignore-on-commit</literal>. Any file added to this changelist will "
"automatically be unchecked in the commit dialog. You can still commit "
"changes, but you have to select it manually in the commit dialog."
msgstr ""

#. (title)
msgid "Commit Log Messages"
msgstr "提交日志信息"

#. (para)
msgid ""
"Be sure to enter a log message which describes the changes you are "
"committing. This will help you to see what happened and when, as you browse "
"through the project log messages at a later date. The message can be as long "
"or as brief as you like; many projects have guidelines for what should be "
"included, the language to use, and sometimes even a strict format."
msgstr ""
"确保输入描述你所提交的修改内容的日志信息。这可以帮你回顾做了什么,什么时候做"
"的。信息的内容可长可短,许多项目规定了要包含的内容、使用的语言甚至是严格的格"
"式。"

#. (para)
msgid ""
"You can apply simple formatting to your log messages using a convention "
"similar to that used within emails. To apply styling to <literal>text</"
"literal>, use <literal>*text*</literal> for bold, <literal>_text_</literal> "
"for underlining, and <literal>^text^</literal> for italics."
msgstr ""
"你可以使用与电子邮件相似的约定,简单格式化日志消息。如果对<literal>文本</"
"literal>采用这些样式,使用<literal>*文本*</literal>表示粗体,<literal>_文本_</"
"literal>表示下划线,<literal>^文本^</literal>表示斜体。"

#. (title)
msgid "The Commit Dialog Spellchecker"
msgstr "提交对话框的拼写检查器"

#. (para)
msgid ""
"<placeholder-1/> TortoiseSVN includes a spellchecker to help you get your log "
"messages right. This will highlight any mis-spelled words. Use the context "
"menu to access the suggested corrections. Of course, it doesn't know "
"<emphasis>every</emphasis> technical term that you do, so correctly spelt "
"words will sometimes show up as errors. But don't worry. You can just add "
"them to your personal dictionary using the context menu."
msgstr ""
"<placeholder-1/> TortoiseSVN包含了一个拼写检查器帮助你正确地书写日志信息。对任"
"何错误拼写的词都高亮显示。使用右键菜单可以获得修改建议。当然它不会知道"
"<emphasis>所有的</emphasis>技术术语,所以有时一些拼写正确的词会被当作错误。但"
"不用担心,你可以使用右键菜单将它们加入你的个人字典中。"

#. (para)
#, fuzzy
msgid ""
"The log message window also includes a filename and function auto-completion "
"facility. This uses regular expressions to extract class and function names "
"from the (text) files you are committing, as well as the filenames "
"themselves. If a word you are typing matches anything in the list (after you "
"have typed at least 3 characters, or pressed <keycap>Ctrl+Space</keycap>), a "
"drop-down appears allowing you to select the full name. The regular "
"expressions supplied with TortoiseSVN are held in the TortoiseSVN "
"installation <filename>bin</filename> folder. You can also define your own "
"regexes and store them in <filename>%APPDATA%\\TortoiseSVN\\autolist.txt</"
"filename>. Of course your private autolist will not be overwritten when you "
"update your installation of TortoiseSVN. If you are unfamiliar with regular "
"expressions, take a look at the introduction at <ulink url=\"http://en."
"wikipedia.org/wiki/Regular_expression\"><citetitle>http://en.wikipedia.org/"
"wiki/Regular_expression</citetitle></ulink>, and the online documentation and "
"tutorial at <ulink url=\"http://www.regular-expressions.info/"
"\"><citetitle>http://www.regular-expressions.info/</citetitle></ulink>."
msgstr ""
"日志信息窗口还包含一个文件名和函数自动完成的功能。这使用了正则表达式来从你提交"
"的(文本)文件中提取类和函数名,当然包括文件名本身。如果你现在敲入的一个词与列表"
"中的任意一个匹配(在你输入至少3个字符后),就会出现一个下拉列表,允许你选择完整"
"的名字。与TortoiseSVN一起提供的正则表达式位于TortoiseSVN安装路径的"
"<filename>bin</filename>文件夹中。你可以定义自己的正则式并将其存放在<filename>"
"%APPDATA%\\TortoiseSVN\\autolist.txt</filename>。当然你自定义的自动列表不会在"
"升级安装的时候被覆盖。如果你不熟悉正则表达式,请参考在线文件和教程: <ulink "
"url=\"http://www.regular-expressions.info/\"><citetitle>http://www.regular-"
"expressions.info/</citetitle></ulink>."

#. (para)
msgid ""
"You can re-use previously entered log messages. Just click on "
"<guibutton>Recent messages</guibutton> to view a list of the last few "
"messages you entered for this working copy. The number of stored messages can "
"be customized in the TortoiseSVN settings dialog."
msgstr ""

#. (para)
msgid ""
"You can clear all stored commit messages from the <guilabel>Saved data</"
"guilabel> page of TortoiseSVN's settings, or you can clear individual "
"messages from within the <guilabel>Recent messages</guilabel> dialog using "
"the <keycap>Delete</keycap> key."
msgstr ""

#. (para)
#, fuzzy
msgid ""
"If you want to include the checked paths in your log message, you can use the "
"command <menuchoice><guimenu>Context Menu</guimenu><guimenuitem>Paste "
"filename list</guimenuitem></menuchoice> in the edit control."
msgstr ""
"如果<action>右击</action>一个版本你可以使用<menuchoice><guimenu>右键菜单</"
"guimenu><guimenuitem>显示日志</guimenuitem></menuchoice> 来查看它的历史。"

#. (para)
msgid ""
"Another way to insert the paths into the log message is to simply drag the "
"files from the file list onto the edit control."
msgstr ""

#. (title)
msgid "Special Folder Properties"
msgstr "指定文件夹属性"

#. (para)
msgid ""
"There are several special folder properties which can be used to help give "
"more control over the formatting of commit log messages and the language used "
"by the spellchecker module. Read <xref linkend=\"tsvn-dug-propertypage\"/> "
"for further information."
msgstr ""
"有几个特殊的文件夹属性可用于帮助我们得到更多的对提交日志信息的格式以及拼写检查"
"模块的控制。参考<xref linkend=\"tsvn-dug-propertypage\"/>以了解详情。"

#. (title)
msgid "Integration with Bug Tracking Tools"
msgstr "与缺陷跟踪工具集成"

#. (para)
#, fuzzy
msgid ""
"If you have activated the bug tracking system, you can set one or more Issues "
"in the <guilabel>Bug-ID / Issue-Nr:</guilabel> text box. Multiple issues "
"should be comma separated. Alternatively, if you are using regex-based bug "
"tracking support, just add your issue references as part of the log message. "
"Learn more in <xref linkend=\"tsvn-dug-bugtracker\"/>."
msgstr ""
"如果你激活了一个缺陷跟踪系统,你可以在<guilabel>Bug-ID / Issue-Nr:</guilabel>"
"文本框中设置一个或多个问题。多个问题应该用逗号分割。另外,如果你使用基于正则表"
"达式的缺陷跟踪支持,只要将你的问题引用作为日志信息的一部分加入就可以了。详情请"
"见 <xref linkend=\"tsvn-dug-bugtracker\"/>。"

#. (title)
msgid "Commit Progress"
msgstr "提交进程"

#. (title)
msgid "The Progress dialog showing a commit in progress"
msgstr "显示提交进度的进度对话框"

#. (para)
msgid ""
"After pressing <guibutton>OK</guibutton>, a dialog appears displaying the "
"progress of the commit. <placeholder-1/>"
msgstr ""
"在按下<guibutton>OK</guibutton>之后,会出现一个对话框显示提交的进度。"
"<placeholder-1/>"

#. (term)
#. (term)
msgid "Blue"
msgstr "蓝色"

#. (para)
msgid "Committing a modification."
msgstr "提交一个修改。"

#. (term)
#. (term)
#. (term)
msgid "Purple"
msgstr "紫色"

#. (para)
msgid "Committing a new addition."
msgstr "提交一个新增项。"

#. (term)
#. (term)
#. (term)
msgid "Dark red"
msgstr "深红"

#. (para)
msgid "Committing a deletion or a replacement."
msgstr "提交一个删除或是替换。"

#. (term)
#. (term)
#. (term)
msgid "Black"
msgstr "黑色"

#. (para)
msgid "All other items."
msgstr "所有其他项。"

#. (para)
msgid ""
"The progress dialog uses colour coding to highlight different commit actions "
"<placeholder-1/>"
msgstr "进度对话框使用颜色代码来高亮显示不同的提交行为。<placeholder-1/>"

#. (para)
#. (para)
#. (para)
msgid ""
"This is the default colour scheme, but you can customise those colours using "
"the settings dialog. Read <xref linkend=\"tsvn-dug-settings-colours\"/> for "
"more information."
msgstr ""
"这是默认的配色方案,但你可以通过设置对话框来定制这些颜色。参考<xref linkend="
"\"tsvn-dug-settings-colours\"/>获得详情。"

#. (title)
msgid "Update Your Working Copy With Changes From Others"
msgstr "用来自别人的修改更新你的工作副本"

#. (primary)
#. (primary)
msgid "update"
msgstr "更新"

#. (primary)
msgid "fetch changes"
msgstr "获取改变"

#. (title)
msgid "Progress dialog showing finished update"
msgstr "已经完成更新的进度对话框"

#. (para)
#, fuzzy
msgid ""
"<placeholder-1/> Periodically, you should ensure that changes done by others "
"get incorporated in your local working copy. The process of getting changes "
"from the server to your local copy is known as <emphasis>updating</emphasis>. "
"Updating may be done on single files, a set of selected files, or recursively "
"on entire directory hierarchies. To update, select the files and/or "
"directories you want, <action>right click</action> and select "
"<menuchoice><guimenu>TortoiseSVN</guimenu><guimenuitem>Update</guimenuitem></"
"menuchoice> in the explorer context menu. A window will pop up displaying the "
"progress of the update as it runs. Changes done by others will be merged into "
"your files, keeping any changes you may have done to the same files. The "
"repository is <emphasis>not</emphasis> affected by an update."
msgstr ""
"<placeholder-1/>你应该定期地确保别人作的修改与你的工作副本可以整合。从服务器上"
"获取改动到你本地副本的过程称为<literal>更新</literal>。更新可以针对一个文件、"
"几个选中的文件或是递归整个目录层次。要进行更新操作,请选择要更新文件和/或路"
"径,<action>右击</action>选择右键菜单中的<menuchoice><guimenu>TortoiseSVN</"
"guimenu><guimenuitem>更新</guimenuitem></menuchoice>。会弹出一个窗口显示更新的"
"进度。别人作的修改将合并到你的文件中,你所做的修改会被保留。版本库<emphasis>受"
"</emphasis>更新操作的影响。"

#. (para)
msgid "New item added to your WC."
msgstr "新项已经增加到你的工作副本中。"

#. (para)
msgid ""
"Redundant item deleted from your WC, or missing item replaced in your WC."
msgstr "你的工作副本中删除了多余项,或是你的工作副本中丢失的项被替换。"

#. (term)
#. (term)
msgid "Green"
msgstr "绿色"

#. (para)
msgid "Changes from repository successfully merged with your local changes."
msgstr "版本库中的修改与你的本地修改成功合并。"

#. (term)
#. (term)
msgid "Bright red"
msgstr "亮红"

#. (para)
msgid ""
"Changes from repository merged with local changes, resulting in conflicts "
"which you need to resolve."
msgstr "来自版本库的修改在与本地修改合并时出现了冲突,需要你解决。"

#. (para)
msgid ""
"Unchanged item in your WC updated with newer version from the repository."
msgstr "你WC中的没有改动的项被来自版本库中新版本所更新。"

#. (para)
msgid ""
"The progress dialog uses colour coding to highlight different update actions "
"<placeholder-1/>"
msgstr "进度对话框使用颜色代码来高亮不同的更新行为<placeholder-1/>"

#. (para)
#, fuzzy
msgid ""
"If you get any <emphasis>conflicts</emphasis> during an update (this can "
"happen if others changed the same lines in the same file as you did and those "
"changes don't match) then the dialog shows those conflicts in red. You can "
"<action>double click</action> on these lines to start the external merge tool "
"to resolve the conflicts."
msgstr ""
"如果你在更新中遇到了<literal>冲突</literal>(这是由于别人与你修改了同一个文件的"
"同一行代码,并且两者的修改不匹配),对话框中将冲突显示为红色,你可以<action>双"
"击</action>这些行启动外部合并工具来解决冲突。"

#. (para)
#, fuzzy
msgid ""
"When the update is complete, the progress dialog shows a summary of the "
"number of items updated, added, removed, conflicted, etc. below the file "
"list. This summary information can be copied to the clipboard using "
"<keycap>Ctrl+C</keycap>."
msgstr ""
"当更新完成后,进度对话框在文件列表下面显示汇总信息,多少项更新,增加,删除,冲"
"突等。汇总信息可以使用<action>CTRL+C</action>复制到剪贴板。"

#. (para)
#, fuzzy
msgid ""
"The standard Update command has no options and just updates your working copy "
"to the HEAD revision of the repository, which is the most common use case. If "
"you want more control over the update process, you should use "
"<menuchoice><guimenu>TortoiseSVN</guimenu><guimenuitem>Update to Revision...</"
"guimenuitem></menuchoice> instead. This allows you to update your working "
"copy to a specific revision, not only to the most recent one. Suppose your "
"working copy is at revision 100, but you want it to reflect the state which "
"it had in revision 50 - then simply update to revision 50. In the same dialog "
"you can also choose the <firstterm>depth</firstterm> at which to update the "
"current folder. The terms used are described in <xref linkend=\"tsvn-dug-"
"checkout-depth\"/>. The default depth is <guilabel>Working copy</guilabel>, "
"which preserves the existing depth setting. You can also choose whether to "
"ignore any external projects in the update (i.e. projects referenced using "
"<literal>svn:externals</literal>)."
msgstr ""
"标准的更新命令没有选项,仅仅是把你的工作副本更新到版本库中的最新版本,这也是最"
"常用的情况。如果你要对更新过程进行更多的控制,就要使用"
"<menuchoice><guimenu>TortoiseSVN</guimenu><guimenuitem>更新到版本...</"
"guimenuitem></menuchoice>。这个操作允许你更新工作副本到一个指定的版本,不仅仅"
"是最新的。假设你的工作副本是在版本100,但你要回顾一下版本50是什么样的——那你只"
"要简单地更新到版本50就可以了。在同一个对话框中你还可以选择不递归更新当前文件夹"
"(就是不更新所有的子文件夹)并且可以选择是否在更新中忽略外部的项目(比如具有属性 "
"<literal>svn:externals</literal>的被引用的项目)."

#. (para)
#, fuzzy
msgid ""
"If you update a file or folder to a specific revision, you should not make "
"changes to those files. You will get <quote>out of date</quote> error "
"messages when you try to commit them! If you want to undo changes to a file "
"and start afresh from an earlier revision, you can rollback to a previous "
"revision from the revision log dialog. Take a look at <xref linkend=\"tsvn-"
"howto-rollback\"/> for further instructions, and alternative methods."
msgstr ""
"如果你把一个文件或是文件夹更新到某个特定的版本,你不应该对这些文件做修改。你在"
"提交的时候会得到一个<literal>已经过期</literal>的错误消息!如果你要取消修改,从"
"一个早前的版本重新开始,你可以通过版本日志对话框回滚到之前的版本。请看<xref "
"linkend=\"tsvn-howto-rollback\"/>以获得详情和其他方法。"

#. (para)
#, fuzzy
msgid ""
"<menuchoice><guimenuitem>Update to Revision</guimenuitem></menuchoice> can "
"occasionally be useful to see what your project looked like at some earlier "
"point in its history. But in general, updating individual files to an earlier "
"revision is not a good idea as it leaves your working copy in an inconsistent "
"state. If the file you are updating has changed name, you may even find that "
"the file just disappears from your working copy because no file of that name "
"existed in the earlier revision. You should also note that the item will show "
"a normal green overlay, so it is indistinguishable from files which are up-to-"
"date."
msgstr ""
"<menuchoice><guimenuitem>更新到版本</guimenuitem></menuchoice>在你偶尔要看看你"
"的项目在早前某时刻是什么样子的时候很有用。但通常,更新单个文件到之前的版本不是"
"一个好主意,因为这会使你的工作副本处于不一致的状态。如果你要更新的文件已经改了"
"名,你可能甚至发现该文件从你的工作副本中消失了,因为早期的版本中不存在这个名字"
"的文件。如果你只是简单地想要一个旧版本文件的本地副本,最好是在该文件的日志对话"
"框中使用<menuchoice><guimenu>右键菜单</guimenu><guimenuitem>另存版本为...</"
"guimenuitem></menuchoice>命令。"

#. (para)
#, fuzzy
msgid ""
"If you simply want a local copy of an old version of a file it is better to "
"use the <menuchoice><guimenu>Context Menu</guimenu><guimenuitem>Save revision "
"to...</guimenuitem></menuchoice> command from the log dialog for that file."
msgstr ""
"如果<action>右击</action>一个版本你可以使用<menuchoice><guimenu>右键菜单</"
"guimenu><guimenuitem>显示日志</guimenuitem></menuchoice> 来查看它的历史。"

#. (title)
msgid "Multiple Files/Folders"
msgstr "多文件/文件夹"

#. (para)
msgid ""
"If you select multiple files and folders in the explorer and then select "
"<menuchoice><guimenuitem>Update</guimenuitem></menuchoice>, all of those "
"files/folders are updated one by one. TortoiseSVN makes sure that all files/"
"folders which are from the same repository are updated to the exact same "
"revision! Even if between those updates another commit occurred."
msgstr ""
"如果你在资源管理器中选择了多文件和文件夹,然后选择<menuchoice><guimenuitem>更"
"新</guimenuitem></menuchoice>,这些文件/文件夹一个接一个的被更新。TortoiseSVN"
"确保所有的来自同一版本库的文件/文件夹被更新到同一个版本!即使在更新过程中发生了"
"另一个提交。"

#. (title)
msgid "Local File Already Exists"
msgstr "本地文件已经存在"

#. (para)
msgid ""
"Sometimes when you try to update, the update fails with a message to say that "
"there is already a local file of the same name. This typically happens when "
"Subversion tries to checkout a newly versioned file, and finds that an "
"unversioned file of the same name already exists in your working folder. "
"Subversion will never overwrite an unversioned file - it might contain "
"something you are working on, which coincidentally has the same filename as "
"another developer has used for his newly committed file."
msgstr ""
"有时在你试图更新的时候,更新失败,提示信息说已经有一个同名的本地文件。通常发生"
"在Subversion试图检出一个新增的受控文件时,发现一个未受控的同名文件已经在工作路"
"径中存在。Subversion绝不会覆盖一个未受控的文件——因为它有可能有你需要的东西,却"
"碰巧与另一个开发者新提交的文件重名了。"

#. (para)
msgid ""
"If you get this error message, the solution is simply to rename the local "
"unversioned file. After completing the update, you can check whether the "
"renamed file is still needed."
msgstr ""
"如果你得到这个错误信息,解决的方法就是把本地的未受控文件重命名。在完成更新之"
"后,你再检查被重命名的文件是不是还需要。"

#. (para)
msgid ""
"If you keep getting error messages, use <menuchoice><guimenu>TortoiseSVN</"
"guimenu><guimenuitem>Check for Modifications</guimenuitem></menuchoice> "
"instead to list all the problem files. That way you can deal with them all at "
"once."
msgstr ""
"如果你一直得到错误,使用<menuchoice><guimenu>TortoiseSVN</"
"guimenu><guimenuitem>检查修改</guimenuitem></menuchoice>来列出所有有问题的文"
"件。这样你可以一次性解决它们。"

#. (title)
msgid "Resolving Conflicts"
msgstr "解决冲突"

#. (primary)
#, fuzzy
msgid "tree conflict"
msgstr "合并冲突"

#. (primary)
msgid "resolve"
msgstr "解决"

#. (term)
#, fuzzy
msgid "file conflicts"
msgstr "合并冲突"

#. (para)
msgid ""
"A file conflict occurs if two (or more) developers have changed the same few "
"lines of a file."
msgstr ""

#. (term)
#, fuzzy
msgid "tree conflicts"
msgstr "合并冲突"

#. (para)
msgid ""
"A tree conflict occurs when a developer moved/renamed/deleted a file or "
"folder, which another developer either also has moved/renamed/deleted or just "
"modified."
msgstr ""

#. (para)
msgid ""
"Once in a while, you will get a <emphasis>conflict</emphasis> when you update/"
"merge your files from the repository or when you switch your working copy to "
"a different URL. There are two kinds of conflicts: <placeholder-1/>"
msgstr ""

#. (title)
#, fuzzy
msgid "File Conflicts"
msgstr "编辑冲突"

#. (term)
msgid "filename.ext.mine"
msgstr "filename.ext.mine"

#. (para)
msgid ""
"This is your file as it existed in your working copy before you updated your "
"working copy - that is, without conflict markers. This file has your latest "
"changes in it and nothing else."
msgstr ""
"这是你的文件,在你更新你的工作副本之前存在于你的的工作副本中——也就是说,没有冲"
"突标志。这个文件除了你的最新修改外没有别的东西。"

#. (term)
msgid "filename.ext.rOLDREV"
msgstr "filename.ext.rOLDREV"

#. (para)
msgid ""
"This is the file that was the BASE revision before you updated your working "
"copy. That is, it the file that you checked out before you made your latest "
"edits."
msgstr ""
"这是在你更新你的工作副本之前的基础版本(BASE revision)文件。也就是说,它是在你"
"做最后修改之前所检出的文件。"

#. (term)
msgid "filename.ext.rNEWREV"
msgstr "filename.ext.rNEWREV"

#. (para)
msgid ""
"This is the file that your Subversion client just received from the server "
"when you updated your working copy. This file corresponds to the HEAD "
"revision of the repository."
msgstr ""
"这个文件是当你更新你的工作副本时,你的Subversion客户端从服务器接收到的。这个文"
"件对应与版本库中的最新版本。"

#. (para)
#, fuzzy
msgid ""
"A file conflict occurs when two or more developers have changed the same few "
"lines of a file. As Subversion knows nothing of your project, it leaves "
"resolving the conflicts to the developers. Whenever a conflict is reported, "
"you should open the file in question, and search for lines starting with the "
"string <literal>&lt;&lt;&lt;&lt;&lt;&lt;&lt;</literal>. The conflicting area "
"is marked like this: <screen>\n"
"\t&lt;&lt;&lt;&lt;&lt;&lt;&lt; filename\n"
"\t\tyour changes\n"
"\t=======\n"
"\t\tcode merged from repository\n"
"\t&gt;&gt;&gt;&gt;&gt;&gt;&gt; revision\n"
"\t</screen> Also, for every conflicted file Subversion places three "
"additional files in your directory: <placeholder-1/>"
msgstr ""
"有时当你从版本库中更新你的文件时,会有<emphasis>冲突</emphasis>。冲突出现的原"
"因是两个开发人员修改了文件中相同的几行。由于Subversion不知道你的项目的具体情"
"况,它把解决冲突的工作留给了开发人员。一旦出现冲突,你就应该打开有问题的文件,"
"查找以字符串<literal>&lt;&lt;&lt;&lt;&lt;&lt;&lt;</literal>开头的行。有冲突的"
"区域用如下的方式标记: <screen>\n"
"&lt;&lt;&lt;&lt;&lt;&lt;&lt; filename\n"
" 你的修改\n"
"=======\n"
" 来自版本库中的代码\n"
"&gt;&gt;&gt;&gt;&gt;&gt;&gt; revision\n"
"</screen> 对于每个冲突的文件Subversion在你的目录下放置了三个文件: "
"<placeholder-1/>"

#. (para)
msgid ""
"You can either launch an external merge tool / conflict editor with "
"<menuchoice><guimenu>TortoiseSVN</guimenu><guimenuitem>Edit Conflicts</"
"guimenuitem></menuchoice> or you can use any other editor to manually resolve "
"the conflict. You should decide what the code should look like, do the "
"necessary changes and save the file."
msgstr ""
"你可以通过<menuchoice><guimenu>TortoiseSVN</guimenu><guimenuitem>编辑冲突</"
"guimenuitem></menuchoice>运行外部合并工具/冲突编辑器,或者你可以使用任何别的编"
"辑器手动解决冲突。你需要冲定哪些代码是需要的,做一些必要的修改然后保存。"

#. (para)
msgid ""
"Afterwards execute the command <menuchoice><guimenu>TortoiseSVN</"
"guimenu><guimenuitem>Resolved</guimenuitem></menuchoice> and commit your "
"modifications to the repository. Please note that the Resolve command does "
"not really resolve the conflict. It just removes the <filename>filename.ext."
"mine</filename> and <filename>filename.ext.r*</filename> files, to allow you "
"to commit your changes."
msgstr ""
"然后,执行命令<menuchoice><guimenu>TortoiseSVN</guimenu><guimenuitem>已解决</"
"guimenuitem></menuchoice>并提交人的修改到版本库。需要注意的是已解决命令并不是"
"真正的解决了冲突,它只是删除了<filename>filename.ext.mine</filename>和"
"<filename>filename.ext.r*</filename>两个文件,允许你提交修改。"

#. (para)
msgid ""
"If you have conflicts with binary files, Subversion does not attempt to merge "
"the files itself. The local file remains unchanged (exactly as you last "
"changed it) and you have <filename>filename.ext.r*</filename> files. If you "
"want to discard your changes and keep the repository version, just use the "
"Revert command. If you want to keep your version and overwrite the repository "
"version, use the Resolved command, then commit your version."
msgstr ""
"如果你的二进制文件有冲突,Subversion不会试图合并文件。本地文件保持不变(完全是"
"你最后修改时的样子),但你会看到<filename>filename.ext.r*</filename>文件。如果"
"你要撤消你的修改,保留版本库中的版本,请使用还原(Revert)命令。如果你要保持你的"
"版本覆盖版本库中的版本,使用已解决命令,然后提交你的版本。"

#. (para)
msgid ""
"You can use the Resolved command for multiple files if you right click on the "
"parent folder and select <menuchoice><guimenu>TortoiseSVN</"
"guimenu><guimenuitem>Resolved...</guimenuitem></menuchoice> This will bring "
"up a dialog listing all conflicted files in that folder, and you can select "
"which ones to mark as resolved."
msgstr ""
"你可以右击父文件夹,选择<menuchoice><guimenu>TortoiseSVN</"
"guimenu><guimenuitem>已解决...</guimenuitem></menuchoice>,使用“已解决”命令来"
"解决多个文件。这个操作会出现一个对话框,列出文件夹下所有有冲突的文件,你可以选"
"择将哪些标记成已解决。"

#. (title)
#, fuzzy
msgid "Tree Conflicts"
msgstr "合并冲突"

#. (para)
msgid ""
"A tree conflict occurs when a developer moved/renamed/deleted a file or "
"folder, which another developer either also has moved/renamed/deleted or just "
"modified. There are many different situations that can result in a tree "
"conflict, and all of them require different steps to resolve the conflict."
msgstr ""

#. (para)
msgid ""
"When a file is deleted locally in Subversion, the file is also deleted from "
"the local file system, so even if it is part of a tree conflict it cannot "
"show a conflicted overlay and you cannot right click on it to resolve the "
"conflict. Use the <guilabel>Check for Modifications</guilabel> dialog instead "
"to access the <guilabel>Edit conflicts</guilabel> option."
msgstr ""

#. (para)
msgid ""
"TortoiseSVN can help find the right place to merge changes, but there may be "
"additional work required to sort out the conflicts. Remember that after an "
"update the working BASE will always contain the revision of each item as it "
"was in the repository at the time of update. If you revert a change after "
"updating it goes back to the repository state, not to the way it was when you "
"started making your own local changes."
msgstr ""

#. (title)
msgid "Local delete, incoming edit upon update"
msgstr ""

#. (para)
msgid ""
"Developer A modifies <filename>Foo.c</filename> and commits it to the "
"repository"
msgstr ""

#. (para)
msgid ""
"Developer B has simultaneously moved <filename>Foo.c</filename> to "
"<filename>Bar.c</filename> in his working copy, or simply deleted "
"<filename>Foo.c</filename> or its parent folder."
msgstr ""

#. (para)
msgid ""
"<filename>Foo.c</filename> has been deleted from working copy, but is marked "
"with a tree conflict."
msgstr ""

#. (para)
msgid ""
"If the conflict results from a rename rather than a delete then <filename>Bar."
"c</filename> is marked as added, but does not contain developer A's "
"modifications."
msgstr ""

#. (para)
#. (para)
msgid ""
"An update of developer B's working copy results in a tree conflict: "
"<placeholder-1/>"
msgstr ""

#. (para)
msgid ""
"Developer B now has to choose whether to keep Developer A's changes. In the "
"case of a file rename, he can merge the changes to <filename>Foo.c</filename> "
"into the renamed file <filename>Bar.c</filename>. For simple file or "
"directory deletions he can choose to keep the item with Developer A's changes "
"and discard the deletion. Or, by marking the conflict as resolved without "
"doing anything he effectively discards Developer A's changes."
msgstr ""

#. (para)
msgid ""
"The conflict edit dialog offers to merge changes if it can find the original "
"file of the renamed <filename>Bar.c</filename>. Depending on where the update "
"was invoked, it may not be possible to find the source file."
msgstr ""

#. (title)
msgid "Local edit, incoming delete upon update"
msgstr ""

#. (para)
#, fuzzy
msgid ""
"Developer A moves <filename>Foo.c</filename> to <filename>Bar.c</filename> "
"and commits it to the repository."
msgstr ""
"使用文本编辑器打开 Apache 子目录 conf 中的文件 <filename>ssl.conf</filename>。"

#. (para)
#. (para)
msgid "Developer B modifies <filename>Foo.c</filename> in his working copy."
msgstr ""

#. (para)
msgid "Or in the case of a folder move ..."
msgstr ""

#. (para)
msgid ""
"Developer A moves parent folder <filename>FooFolder</filename> to "
"<filename>BarFolder</filename> and commits it to the repository."
msgstr ""

#. (para)
msgid ""
"<filename>Bar.c</filename> is added to the working copy as a normal file."
msgstr ""

#. (para)
msgid ""
"<filename>Foo.c</filename> is marked as added (with history) and has a tree "
"conflict."
msgstr ""

#. (para)
msgid ""
"An update of developer B's working copy results in a tree conflict. For a "
"simple file conflict: <placeholder-1/>"
msgstr ""

#. (para)
msgid ""
"<filename>BarFolder</filename> is added to the working copy as a normal "
"folder."
msgstr ""

#. (para)
msgid ""
"<filename>FooFolder</filename> is marked as added (with history) and has a "
"tree conflict."
msgstr ""

#. (para)
msgid "<filename>Foo.c</filename> is marked as modified."
msgstr ""

#. (para)
#, fuzzy
msgid "For a folder conflict: <placeholder-1/>"
msgstr "以下情况不支持: <placeholder-1/>"

#. (para)
msgid ""
"Then developer B has to decide whether to go with developer A's "
"reorganisation and merge her changes into the corresponding file in the new "
"structure, or simply revert A's changes and keep the local file."
msgstr ""

#. (para)
msgid ""
"To merge her local changes with the reshuffle, Developer B must first find "
"out to what filename the conflicted file <filename>Foo.c</filename> was "
"renamed/moved in the repository. This can be done by using the log dialog. "
"The changes must then be merged by hand as there is currently no way to "
"automate or even simplify this process. Once the changes have been ported "
"across, the conflicted path is redundant and can be deleted. In this case use "
"the <guilabel>Remove</guilabel> button in the conflict editor dialog to clean "
"up and mark the conflict as resolved."
msgstr ""

#. (para)
msgid ""
"If Developer B decides that A's changes were wrong then she must choose the "
"<guilabel>Keep</guilabel> button in the conflict editor dialog. This marks "
"the conflicted file/folder as resolved, but Developer A's changes need to be "
"removed by hand. Again the log dialog helps to track down what was moved."
msgstr ""

#. (title)
msgid "Local delete, incoming delete upon update"
msgstr ""

#. (para)
#, fuzzy
msgid ""
"Developer A moves <filename>Foo.c</filename> to <filename>Bar.c</filename> "
"and commits it to the repository"
msgstr ""
"使用文本编辑器打开 Apache 子目录 conf 中的文件 <filename>ssl.conf</filename>。"

#. (para)
#, fuzzy
msgid ""
"Developer B moves <filename>Foo.c</filename> to <filename>Bix.c</filename>"
msgstr ""
"在<filename>D:\\SVN\\</filename>里创建另一个目录<filename>MyNewRepository</"
"filename>。"

#. (para)
msgid "<filename>Bix.c</filename> is marked as added with history."
msgstr ""

#. (para)
msgid ""
"<filename>Bar.c</filename> is added to the working copy with status 'normal'."
msgstr ""

#. (para)
msgid "<filename>Foo.c</filename> is marked as deleted and has a tree conflict."
msgstr ""

#. (para)
#. (para)
msgid ""
"To resolve this conflict, Developer B has to find out to what filename the "
"conflicted file <filename>Foo.c</filename> was renamed/moved in the "
"repository. This can be done by using the log dialog."
msgstr ""

#. (para)
msgid ""
"Then developer B has to decide which new filename of <filename>Foo.c</"
"filename> to keep - the one done by developer A or the rename done by himself."
msgstr ""

#. (para)
#. (para)
msgid ""
"After developer B has manually resolved the conflict, the tree conflict has "
"to be marked as resolved with the button in the conflict editor dialog."
msgstr ""

#. (title)
msgid "Local missing, incoming edit upon merge"
msgstr ""

#. (para)
msgid ""
"Developer A working on trunk modifies <filename>Foo.c</filename> and commits "
"it to the repository"
msgstr ""

#. (para)
msgid ""
"Developer B working on a branch moves <filename>Foo.c</filename> to "
"<filename>Bar.c</filename> and commits it to the repository"
msgstr ""

#. (para)
msgid "<filename>Foo.c</filename> is marked as missing with a tree conflict."
msgstr ""

#. (para)
#. (para)
#. (para)
msgid ""
"A merge of developer A's trunk changes to developer B's branch working copy "
"results in a tree conflict: <placeholder-1/>"
msgstr ""

#. (para)
msgid ""
"To resolve this conflict, Developer B has to remove the missing file in the "
"conflict editor dialog. Then developer B has to decide whether to get the "
"missing file <filename>Foo.c</filename> from the repository and add it to the "
"working copy, whether to merge <filename>Foo.c</filename> into the renamed "
"<filename>Bar.c</filename> or whether to just mark the conflict as resolved."
msgstr ""

#. (title)
msgid "Local edit, incoming delete upon merge"
msgstr ""

#. (para)
#. (para)
msgid ""
"Developer A working on trunk moves <filename>Foo.c</filename> to "
"<filename>Bar.c</filename> and commits it to the repository"
msgstr ""

#. (para)
msgid ""
"Developer B working on a branch modifies <filename>Foo.c</filename> and "
"commits it to the repository."
msgstr ""

#. (para)
#. (para)
msgid "<filename>Bar.c</filename> is marked as added."
msgstr ""

#. (para)
msgid "<filename>Foo.c</filename> is marked as modified with a tree conflict."
msgstr ""

#. (para)
msgid ""
"To resolve this conflict, Developer B has to decide whether to remove the "
"file <filename>Foo.c</filename> and keep the file <filename>Bar.c</filename> "
"instead, or whether to keep the local file <filename>Foo.c</filename>. If the "
"local file <filename>Foo.c</filename> is kept, developer B also has to decide "
"whether to merge the changes of <filename>Bar.c</filename> into <filename>Foo."
"c</filename>."
msgstr ""

#. (title)
msgid "Local delete, incoming delete upon merge"
msgstr ""

#. (para)
msgid ""
"Developer B working on a branch moves <filename>Foo.c</filename> to "
"<filename>Bix.c</filename> and commits it to the repository"
msgstr ""

#. (para)
msgid "<filename>Bix.c</filename> is added with status normal."
msgstr ""

#. (para)
msgid "Tree conflict on <filename>Foo.c</filename>."
msgstr ""

#. (para)
msgid ""
"Then developer B has to decide which new filename of <filename>Foo.c</"
"filename> to keep - the one done by developer A or the rename done in his "
"working copy."
msgstr ""

#. (title)
msgid "Getting Status Information"
msgstr "获得状态信息"

#. (primary)
#. (primary)
msgid "status"
msgstr "状态"

#. (primary)
msgid "view changes"
msgstr "查看修改"

#. (primary)
msgid "working copy status"
msgstr "工作副本状态"

#. (para)
msgid ""
"While you are working on your working copy you often need to know which files "
"you have changed/added/removed or renamed, or even which files got changed "
"and committed by others."
msgstr ""
"当你在你的工作副本上工作时,你时常需要知道哪些文件你已经修改/增加/删除或改名"
"了,或者甚至是哪个文件已经被其他人修改并提交了。"

#. (primary)
#. (primary)
msgid "overlays"
msgstr "重载"

#. (primary)
msgid "icons"
msgstr "图标"

#. (para)
msgid ""
"Now that you have checked out a working copy from a Subversion repository you "
"can see your files in the windows explorer with changed icons. This is one of "
"the reasons why TortoiseSVN is so popular. TortoiseSVN adds a so called "
"overlay icon to each file icon which overlaps the original file icon. "
"Depending on the Subversion status of the file the overlay icon is different."
msgstr ""
"现在你已经从 Subversion 版本库中检出了一份工作副本,你可以在资源管理器中看一下"
"这些文件的图标有什么变化。这也正是 TortoiseSVN 这么流行的原因之一。"
"TortoiseSVN 加入了被称为重载图标的功能重载了原始的文件图标。根据文件的 "
"Subversion 状态的不同,重载的图标也不同。"

#. (para)
msgid ""
"<graphic fileref=\"../images/InSubVersionIcon.png\"/> A fresh checked out "
"working copy has a green checkmark as overlay. That means the Subversion "
"status is <emphasis>normal</emphasis>."
msgstr ""
"<graphic fileref=\"../images/InSubVersionIcon.png\"/> 一个新检出的工作副本使用"
"绿色的对勾做重载。表示 Subversion 状态<emphasis>正常</emphasis>."

#. (para)
msgid ""
"<graphic fileref=\"../images/ModifiedIcon.png\"/> As soon as you start "
"editing a file, the status changes to <emphasis>modified</emphasis> and the "
"icon overlay then changes to a red exclamation mark. That way you can easily "
"see which files were changed since you last updated your working copy and "
"need to be committed."
msgstr ""
"<graphic fileref=\"../images/ModifiedIcon.png\"/>在你开始编辑一个文件后,状态"
"就变成了<emphasis>已修改</emphasis>,而图标重载变成了红色感叹号。通过这种方"
"式,你可以很容易地看出哪些文件从你上次更新工作副本后被修改过,需要被提交。"

#. (para)
msgid ""
"<graphic fileref=\"../images/ConflictIcon.png\"/> If during an update a "
"<emphasis>conflict</emphasis> occurs then the icon changes to a yellow "
"exclamation mark."
msgstr ""
"<graphic fileref=\"../images/ConflictIcon.png\"/>如果在更新的过程中出现了"
"<emphasis>冲突</emphasis>,图标会变成黄色感叹号。"

#. (para)
msgid ""
"<graphic fileref=\"../images/ReadOnlyIcon.png\"/> If you have set the "
"<literal>svn:needs-lock</literal> property on a file, Subversion makes that "
"file read-only until you get a lock on that file. Such files have this "
"overlay to indicate that you have to get a lock first before you can edit "
"that file."
msgstr ""
"<graphic fileref=\"../images/ReadOnlyIcon.png\"/>如果你给一个文件设置了"
"<literal>svn:needs-lock</literal>属性,Subversion 会让此文件只读,直到你获得文"
"件锁。具有这个重载图标的文件来表示你必须在编辑之前先得到锁。"

#. (para)
msgid ""
"<graphic fileref=\"../images/LockedIcon.png\"/> If you hold a lock on a file, "
"and the Subversion status is <emphasis>normal</emphasis>, this icon overlay "
"reminds you that you should release the lock if you are not using it to allow "
"others to commit their changes to the file."
msgstr ""
"<graphic fileref=\"../images/LockedIcon.png\"/>如果你拥有了一个文件的锁,并且 "
"Subversion 状态是<emphasis>正常</emphasis>,这个重载图标就提醒你如果不使用该文"
"件的话应该释放锁,允许别人提交对该文件的修改。"

#. (para)
msgid ""
"<graphic fileref=\"../images/DeletedIcon.png\"/> This icon shows you that "
"some files or folders inside the current folder have been scheduled to be "
"<emphasis>deleted</emphasis> from version control or a file under version "
"control is missing in a folder."
msgstr ""
"<graphic fileref=\"../images/DeletedIcon.png\"/>这个图标表示当前文件夹下的某些"
"文件或文件夹已经被调度从版本控制中<emphasis>删除</emphasis>,或是该文件夹下某"
"个受版本控制的文件丢失了。"

#. (para)
msgid ""
"<graphic fileref=\"../images/AddedIcon.png\"/> The plus sign tells you that a "
"file or folder has been scheduled to be <emphasis>added</emphasis> to version "
"control."
msgstr ""
"<graphic fileref=\"../images/AddedIcon.png\"/>加号告诉你有一个文件或目录已经被"
"调度<emphasis>加入</emphasis>版本控制。"

#. (para)
#, fuzzy
msgid ""
"<graphic fileref=\"../images/IgnoredIcon.png\"/> The bar sign tells you that "
"a file or folder is <emphasis>ignored</emphasis> for version control "
"purposes. This overlay is optional."
msgstr ""
"<graphic fileref=\"../images/AddedIcon.png\"/>加号告诉你有一个文件或目录已经被"
"调度<emphasis>加入</emphasis>版本控制。"

#. (para)
msgid ""
"<graphic fileref=\"../images/UnversionedIcon.png\"/> This icon shows files "
"and folders which are not under version control, but have not been ignored. "
"This overlay is optional."
msgstr ""

#. (para)
#, fuzzy
msgid ""
"In fact, you may find that not all of these icons are used on your system. "
"This is because the number of overlays allowed by Windows is very limited and "
"if you are also using an old version of TortoiseCVS, then there are not "
"enough overlay slots available. TortoiseSVN tries to be a <quote>Good Citizen "
"(TM)</quote> and limits its use of overlays to give other apps a chance too."
msgstr ""
"事实上,你会发现并不是所有的图标被你的系统使用。这是由于 Windows 的重载图标很"
"有限。如果你同时使用了 TortoiseCVS,就没有足够的重载可用。TortoiseSVN 试图成为"
"一个<quote>良好市民(TM)</quote>,限制自身使用重载图标,为别的应用留下机会。"

#. (para)
msgid ""
"Now that there are more Tortoise clients around (TortoiseCVS, "
"TortoiseHG, ...) the icon limit becomes a real problem. To work around this, "
"the TortoiseSVN project introduced a common shared icon set, loaded as a DLL, "
"which can be used by all Tortoise clients. Check with your client provider to "
"see if this has been integrated yet :-)"
msgstr ""

#. (para)
msgid ""
"For a description of how icon overlays correspond to Subversion status and "
"other technical details, read <xref linkend=\"tsvn-app-internals-overlays\"/>."
msgstr ""
"要获得图表重载与 Subversion 状态的对应关系,或者其它技术细节,请阅读<xref "
"linkend=\"tsvn-app-internals-overlays\"/>。"

#. (title)
msgid "TortoiseSVN Columns In Windows Explorer"
msgstr "在 Windows 资源管理器中的 TortoiseSVN 列"

#. (primary)
msgid "Explorer Columns"
msgstr "资源管理器的列"

#. (para)
msgid ""
"The same information which is available from the icon overlays (and much "
"more) can be displayed as additional columns in Windows Explorer's Details "
"View."
msgstr ""
"在Windows资源管理器的详细信息视图中,附加列中可以显示与图标重载所表达相同的信"
"息(还可以显示更多其他信息)。"

#. (para)
#, fuzzy
msgid ""
"Simply right click on one of the headings of a column, choose "
"<guimenuitem>More...</guimenuitem> from the context menu displayed. A dialog "
"will appear where you can specify the columns and their order, which is "
"displayed in the <quote>Detailed View</quote>. Scroll down until the entries "
"starting with SVN come into view. Check the ones you would like to have "
"displayed and close the dialog by pressing <guibutton>OK</guibutton>. The "
"columns will be appended to the right of those currently displayed. You can "
"reorder them by drag and drop, or resize them, so that they fit your needs."
msgstr ""
"右键点击列头,从出现的右键菜单中选择<guimenuitem>其他...</guimenuitem>。出现一"
"个对话框,你可以指定在“详细信息视图”中要显示的列及其顺序。滚动对话框中的条目直"
"到SVN开头的条目出现。在你要显示的条目上打勾,然后点击<guibutton>OK</guibutton>"
"按扭关闭对话框。你选择的列就会出现在当前显示的列的右边。你可以通过拖放它们来达"
"到重新排序或是修改列宽度的目的。"

#. (para)
msgid ""
"The additional columns in the Windows Explorer are not available on Vista, "
"since Microsoft decided to not allow such columns for <emphasis>all</"
"emphasis> files anymore but only for specific file types."
msgstr ""

#. (para)
msgid ""
"If you want the current layout to be displayed in all your working copies, "
"you may want to make this the default view."
msgstr ""
"如果你想要当前的布局对你所有的工作副本都有效,你可以考虑把它设成默认视图。"

#. (title)
msgid "Local and Remote Status"
msgstr "本地与远程状态"

#. (primary)
msgid "modifications"
msgstr "修改"

#. (title)
#. (title)
msgid "Check for Modifications"
msgstr "检查所作的修改"

#. (para)
msgid ""
"<placeholder-1/> It's often very useful to know which files you have changed "
"and also which files got changed and committed by others. That's where the "
"command <menuchoice><guimenu>TortoiseSVN</guimenu><guimenuitem>Check For "
"Modifications...</guimenuitem></menuchoice> comes in handy. This dialog will "
"show you every file that has changed in any way in your working copy, as well "
"as any unversioned files you may have."
msgstr ""
"<placeholder-1/> 通常知道你修改了哪些文件以及哪些文件已经由另人修改并提交了是"
"很有用的。这就是命令<menuchoice><guimenu>TortoiseSVN</"
"guimenu><guimenuitem>Check For Modifications...</guimenuitem></menuchoice> 的"
"用武之地了。这个对话框显示了所有你的工作副本中进行了任何形式的修改的的文件,也"
"包括了当前存在的未受控的文件。"

#. (para)
#, fuzzy
msgid ""
"If you click on the <guibutton>Check Repository</guibutton> then you can also "
"look for changes in the repository. That way you can check before an update "
"if there's a possible conflict. You can also update selected files from the "
"repository without updating the whole folder. By default, the "
"<guibutton>Check Repository</guibutton> button only fetches the remote status "
"with the checkout depth of the working copy. If you want to see all files and "
"folders in the repository, even those you have not checked out, then you have "
"to hold down the <keycap>Shift</keycap> key when you click on the "
"<guibutton>Check Repository</guibutton> button."
msgstr ""
"如果你点击<guibutton>检查版本库</guibutton>,那你还可以看到版本库里的改动。这"
"样,你就可以在提交之前检查是否有存在冲突的可能。你也可以从版本库中更新选中的文"
"件而用不着更新整个文件夹。"

#. (para)
msgid "Locally modified items."
msgstr "本地被修改过的项"

#. (para)
msgid ""
"Added items. Items which have been added with history have a <literal>+</"
"literal> sign in the <guilabel>Text status</guilabel> column, and a tooltip "
"shows where the item was copied from."
msgstr ""
"增加的项。那些被加入的项在<guilabel>文本状态</guilabel>列中有个<literal>+</"
"literal>号表示,工具提示(tooltip shows)显示了该项是从哪里复制来的。 where the "
"item was copied from."

#. (para)
msgid "Deleted or missing items."
msgstr "删除的或是丢失的项。"

#. (para)
msgid ""
"Items modified locally and in the repository. The changes will be merged on "
"update. These <emphasis>may</emphasis> produce conflicts on update."
msgstr ""
"在本地和版本库中都有被修改过的项。改动将在更新的时候被合并。这种情况<emphasis>"
"很可能</emphasis>在更新的时候产生冲突。"

#. (para)
msgid ""
"Items modified locally and deleted in repository, or modified in repository "
"and deleted locally. These <emphasis>will</emphasis> produce conflicts on "
"update."
msgstr ""
"在本地被修改过但在版本库中已经被删除的项,或者在版本库中被修改但在本地被删除的"
"项。这种情况<emphasis>必将</emphasis>在更新时产生冲突。"

#. (para)
msgid "Unchanged and unversioned items."
msgstr "未修改和未受控的项。"

#. (para)
msgid "The dialog uses colour coding to highlight the status. <placeholder-1/>"
msgstr "对话框使用颜色代码来高亮显示状态。 <placeholder-1/>"

#. (para)
msgid ""
"From the context menu of the dialog you can show a diff of the changes. Check "
"the local changes <emphasis>you</emphasis> made using "
"<menuchoice><guimenu>Context Menu</guimenu><guimenuitem>Compare with Base</"
"guimenuitem></menuchoice>. Check the changes in the repository made by others "
"using <menuchoice><guimenu>Context Menu</guimenu><guimenuitem>Show "
"Differences as Unified Diff</guimenuitem></menuchoice>."
msgstr ""
"在对话框的上下文菜单中你可以显示改变的差异。使用 <menuchoice><guimenu>上下文菜"
"单</guimenu><guimenuitem>与基础版本比较</guimenuitem></menuchoice>检查"
"<emphasis>你</emphasis>所作的本地修改。使用<menuchoice><guimenu>上下文菜单</"
"guimenu><guimenuitem>使用标准差异格式显示差异</guimenuitem></menuchoice>检查版"
"本库中别人作的修改。"

#. (para)
#, fuzzy
msgid ""
"You can also revert changes in individual files. If you have deleted a file "
"accidentally, it will show up as <emphasis>Missing</emphasis> and you can use "
"<emphasis>Revert</emphasis> to recover it."
msgstr ""
"你还可以对单个文件进行还原(revert)。如果你不小心删除了一个文件,在对话框中会显"
"示为<literal>丢失</literal>你可以使用<literal>还原</literal>来恢复它。"

#. (para)
msgid ""
"Unversioned and ignored files can be sent to the recycle bin from here using "
"<menuchoice><guimenu>Context Menu</guimenu><guimenuitem>Delete</guimenuitem></"
"menuchoice>. If you want to delete files permanently (bypassing the recycle "
"bin) hold the <keycap>Shift</keycap> key while clicking on <guilabel>Delete</"
"guilabel>."
msgstr ""
"可以使用<menuchoice><guimenu>邮件菜单</guimenu><guimenuitem>删除</"
"guimenuitem></menuchoice>将未版本控制的或忽略的文件丢到垃圾箱。如果你想彻底删"
"除(不使用垃圾箱),在点击<guilabel>删除</guilabel>时,请按着<keycap>Shift</"
"keycap>键。"

#. (para)
msgid ""
"If you want to examine a file in detail, you can drag it from here into "
"another application such as a text editor or IDE."
msgstr ""
"如果你要查询一个文件的详细情况,你可以把它从这里拖到另一个应用程序,比如一个文"
"本编辑器或是IDE中。"

#. (para)
msgid ""
"The columns are customizable. If you <action>right click</action> on any "
"column header you will see a context menu allowing you to select which "
"columns are displayed. You can also change column width by using the drag "
"handle which appears when you move the mouse over a column boundary. These "
"customizations are preserved, so you will see the same headings next time."
msgstr ""
"这些列是可定制的。如果你<action>右击</action>任何一列的头部,你就会看到一个上"
"下文菜单,允许你选择哪一列要显示。还可以在鼠标移动到列边界时通过拖动把手来改变"
"列的宽度。这些定制的内容都会被保留下来,下一次你会见到相同的头部。"

#. (para)
msgid ""
"If you are working on several unrelated tasks at once, you can also group "
"files together into changelists. Read <xref linkend=\"tsvn-dug-commit-"
"changelists\"/> for more information."
msgstr ""
"如果你同时做几个不相关的任务,也可以在修改列表中分组文件。阅读<xref linkend="
"\"tsvn-dug-commit-changelists\"/>以获得更多信息。"

#. (para)
#, fuzzy
msgid ""
"At the bottom of the dialog you can see a summary of the range of repository "
"revisions in use in your working copy. These are the <emphasis>commit</"
"emphasis> revisions, not the <emphasis>update</emphasis> revisions; they "
"represent the range of revisions where these files were last committed, not "
"the revisions to which they have been updated. Note that the revision range "
"shown applies only to the items displayed, not to the entire working copy. If "
"you want to see that information for the whole working copy you must check "
"the <guilabel>Show unmodified files</guilabel> checkbox."
msgstr ""
"在这个对话框的底部,你可以看到工作副本所用版本库版本的范围概要。这些是 "
"<literal>提交</literal>版本,不是<literal>更新</literal>版本;它们是这些文件最"
"后提交的版本范围,不是已经更新的版本。注意显示的版本范围针对的是显示的项目,不"
"是整个工作副本。如果你想察看整个工作副本的信息,必须选中检查框<guilabel>显示未"
"修改的文件</guilabel>。"

#. (para)
msgid ""
"If you want a flat view of your working copy, i.e. showing all files and "
"folders at every level of the folder hierarchy, then the <guilabel>Check for "
"Modifications</guilabel> dialog is the easiest way to achieve that. Just "
"check the <guilabel>Show unmodified files</guilabel> checkbox to show all "
"files in your working copy."
msgstr ""
"如果你需要工作目录的全面视图,也就是所有文件和文件夹都同时显示,以便方便的使用"
"<guilabel>检查修改对话框</guilabel>。只要选择<guilabel>现实未修改文件</"
"guilabel>检查栏,显示工作目录中的所有文件即可。"

#. (title)
msgid "Viewing Diffs"
msgstr "查看差别"

#. (primary)
msgid "diffing"
msgstr "比较"

#. (para)
msgid ""
"Often you want to look inside your files, to have a look at what you've "
"changed. You can accomplish this by selecting a file which has changed, and "
"selecting <guimenuitem>Diff</guimenuitem> from TortoiseSVN's context menu. "
"This starts the external diff-viewer, which will then compare the current "
"file with the pristine copy (<literal>BASE</literal> revision), which was "
"stored after the last checkout or update."
msgstr ""
"通常你想要深入文件中了解你修改了什么。要达到这个目的,你可以选中这个文件,然后"
"在TortoiseSVN的右键菜单中选择<guimenuitem>比较</guimenuitem>。这个操作会启动一"
"个外部的差别检查程序,由它来比较当前文件与上一次检出或更新后的原始的副本"
"(<literal>基础</literal>版本)。"

#. (para)
msgid ""
"Even when not inside a working copy or when you have multiple versions of the "
"file lying around, you can still display diffs:"
msgstr ""
"即使你不是在一个工作副本中工作或者你有多个版本的文件,你都可以按以下方法来进行"
"比较: "

#. (para)
msgid ""
"Select the two files you want to compare in explorer (e.g. using "
"<keycap>Ctrl</keycap> and the mouse) and choose <guimenuitem>Diff</"
"guimenuitem> from TortoiseSVN's context menu. The file clicked last (the one "
"with the focus, i.e. the dotted rectangle) will be regarded as the later one."
msgstr ""
"选择你要比较的两个文件(比如,你可以使用<keycap>Ctrl</keycap> 键加鼠标),然后从"
"TortoiseSVN的右键菜单中选择<guimenuitem>比较</guimenuitem>。最后一个被鼠标点中"
"的文件(具有焦点的文件,比如有虚线框的文件具有焦点),将作为被比较文件的后一个。"

#. (primary)
msgid "changelist"
msgstr "修改列表"

#. (para)
msgid ""
"In an ideal world, you only ever work on one thing at a time, and your "
"working copy contains only one set of logical changes. OK, back to reality. "
"It often happens that you have to work on several unrelated tasks at once, "
"and when you look in the commit dialog, all the changes are mixed in "
"together. The <firstterm>changelist</firstterm> feature helps you group files "
"together, making it easier to see what you are doing. Of course this can only "
"work if the changes do not overlap. If two different tasks affect the same "
"file, there is no way to separate the changes."
msgstr ""
"理想情况下,你任何时候都只做一件事,你的工作副本只包含一个逻辑修改集合。很好,"
"回到现实。你经常会同时做几件不相关的事,当你察看提交对话框时,所有修改混到一"
"起。<firstterm>修改列表</firstterm>特性帮助你分组,让你容易看到正在做什么。当"
"然它只能在修改不重合的时候工作。如果两个不同的任务影响到同一个文件,没有办法隔"
"离修改。"

#. (para)
#, fuzzy
msgid ""
"The changelist feature in TortoiseSVN is only available in Windows XP and "
"later, as it depends on a shell capability which is not present in Windows "
"2000. Sorry, but Win2K is really quite old now, so please don't complain."
msgstr ""
"修改列表依赖一个不存在于 Windows 2000 的外壳特性,所以它只能用于 Windows XP 或"
"更新的系统。抱歉,但是现在 Windows 2000 真的很古老了,请不要抱怨。"

#. (para)
msgid ""
"You can see changelists in several places, but the most important ones are "
"the commit dialog and the check-for-modifications dialog. Let's start in the "
"check-for-modifications dialog after you have worked on several features and "
"many files. When you first open the dialog, all the changed files are listed "
"together. Suppose you now want to organise things and group those files "
"according to feature."
msgstr ""

#. (para)
#, fuzzy
msgid ""
"Select one or more files and use <menuchoice><guimenu>Context Menu</"
"guimenu><guimenuitem>Move to changelist</guimenuitem></menuchoice> to add an "
"item to a changelist. Initially there will be no changelists, so the first "
"time you do this you will create a new changelist. Give it name which "
"describes what you are using it for, and click <guibutton>OK</guibutton>. The "
"dialog will now change to show groups of items."
msgstr ""
"使用<menuchoice><guimenu>右键菜单</guimenu><guimenuitem>移到修改列表</"
"guimenuitem></menuchoice> 可以增加一个项目到修改列表。最初没有修改列表,所以你"
"第一次做的时候,会创建一个新的修改列表。给出一个能描述它的作用的名称,然后点"
"击 <guibutton>OK</guibutton>。提交对话框会改变为显示项目分组。 <placeholder-1/"
">"

#. (para)
msgid ""
"Once you have created a changelist you can drag and drop items into it, "
"either from another changelist, or from Windows Explorer. Dragging from "
"Explorer can be useful as it allows you to add items to a changelist before "
"the file is modified. You could do that from the check-for-modifications "
"dialog, but only by displaying all unmodified files."
msgstr ""

#. (title)
msgid "Commit dialog with Changelists"
msgstr "带有修改列表的提交对话框"

#. (para)
#, fuzzy
msgid ""
"<placeholder-1/> In the commit dialog you can see those same files, grouped "
"by changelist. Apart from giving an immediate visual indication of groupings, "
"you can also use the group headings to select which files to commit."
msgstr "除了分组可以直接指示之外,你也可以使用组头选择提交哪些文件。"

#. (para)
msgid ""
"On XP, there is a context menu when you right click on a group heading which "
"gives you the choice to check or uncheck all group entries. On Vista however "
"the context menu is not necessary. Click on the group header to select all "
"entries, then check one of the selected entries to check all."
msgstr ""

#. (para)
msgid ""
"TortoiseSVN reserves one changelist name for its own use, namely "
"<literal>ignore-on-commit</literal>. This is used to mark versioned files "
"which you almost never want to commit even though they have local changes. "
"This feature is described in <xref linkend=\"tsvn-dug-commit-ignore\"/>."
msgstr ""

#. (para)
msgid ""
"When you commit files belonging to a changelist then normally you would "
"expect that the changelist membership is no longer needed. So by default, "
"files are removed from changelists automatically on commit. If you wish to "
"retain the file in its changelist, use the <guilabel>Keep changelists</"
"guilabel> checkbox at the bottom of the commit dialog."
msgstr ""

#. (para)
#, fuzzy
msgid ""
"Changelists are purely a local client feature. Creating and removing "
"changelists will not affect the repository, nor anyone else's working copy. "
"They are simply a convenient way for you to organise your files."
msgstr ""
"修改列表是纯本地客户端特性。创建和删除修改列表不会影响到版本库,或任何其它客户"
"端。"

#. (title)
msgid "Revision Log Dialog"
msgstr "版本日志对话框"

#. (primary)
msgid "log"
msgstr "日志"

#. (primary)
msgid "history"
msgstr "历史"

#. (primary)
msgid "commit messages"
msgstr "提交信息"

#. (primary)
msgid "log messages"
msgstr "日志信息"

#. (para)
msgid ""
"For every change you make and commit, you should provide a log message for "
"that change. That way you can later find out what changes you made and why, "
"and you have a detailed log for your development process."
msgstr ""
"对于每次进行修改和提交,你应该有针对性地留下日志信息。这样,你就可以在以后方便"
"地看到你都做了什么,为什么这么做。当然这么做还是你拥有了开发过程的详细日志。"

#. (para)
msgid ""
"The top pane shows a list of revisions where changes to the file/folder have "
"been committed. This summary includes the date and time, the person who "
"committed the revision and the start of the log message."
msgstr ""
"最上方的面板显示了版本的列表。这其中包含了日期和时间,以及提交的用户和日志信息"
"开头的部分内容。"

#. (para)
msgid ""
"Lines shown in blue indicate that something has been copied to this "
"development line (perhaps from a branch)."
msgstr ""
"以蓝色显示的行表示某些内容被复制到该开发版本中(可能是从一个分支中复制而来)。"

#. (para)
msgid "The middle pane shows the full log message for the selected revision."
msgstr "中间的面板显示了被选中的版本的完整的日志信息。"

#. (para)
msgid ""
"The bottom pane shows a list of all files and folders that were changed as "
"part of the selected revision."
msgstr "最下面的面板显示了被选中版本中都对哪里文件和文件夹进行了修改。"

#. (para)
msgid ""
"The Revision Log Dialog retrieves all those log messages and shows them to "
"you. The display is divided into 3 panes. <placeholder-1/> But it does much "
"more than that - it provides context menu commands which you can use to get "
"even more information about the project history."
msgstr ""
"版本日志对话框可以获取所有的日志信息,并将其显示出来。对话框的视图分成3个面"
"板。<placeholder-1/>当然,对话框的作用不止于此——它提供了右键菜单,通过它可以获"
"取更多的项目历史信息。"

#. (title)
msgid "Invoking the Revision Log Dialog"
msgstr "调用版本日志对话框"

#. (title)
msgid "The Revision Log Dialog"
msgstr "版本日志对话框"

#. (para)
msgid "From the TortoiseSVN context submenu"
msgstr "从右键菜单的TortoiseSVN子菜单中调用"

#. (para)
msgid "From the property page"
msgstr "从属性页中调用"

#. (para)
msgid ""
"From the Progress dialog after an update has finished. Then the Log dialog "
"only shows those revisions which were changed since your last update"
msgstr ""
"在更新结束后,从进度对话框中调用。在这里,日志对话框只显示你上一次更新以来的版"
"本变化。"

#. (para)
msgid ""
"<placeholder-1/> There are several places from where you can show the Log "
"dialog: <placeholder-2/>"
msgstr "<placeholder-1/>有几种途径可以调出日志对话框: <placeholder-2/>"

#. (title)
msgid "Revision Log Actions"
msgstr "版本日志动作"

#. (para)
msgid ""
"The top pane has an <guilabel>Actions</guilabel> column containing icons that "
"summarize what has been done in that revision. There are four different "
"icons, each shown in its own column."
msgstr ""
"顶部面板有个<guilabel>动作</guilabel>列,包含了此版本的动作概要图标。有四个不"
"同的图标,每个都在自己的列显示。"

#. (para)
#, fuzzy
msgid ""
"<graphic fileref=\"../images/ActionModifiedIcon.png\"/> If a revision "
"modified a file or directory, the <emphasis>modified</emphasis> icon is shown "
"in the first column."
msgstr ""
"<graphic fileref=\"../images/ActionModifiedIcon.png\"/> 如果某个版本修改了文件"
"和目录,<literal>已修改</literal> 图表就会在首列显示。"

#. (para)
#, fuzzy
msgid ""
"<graphic fileref=\"../images/ActionAddedIcon.png\"/> If a revision added a "
"file or directory, the <emphasis>added</emphasis> icon is shown in the second "
"column."
msgstr ""
"<graphic fileref=\"../images/ActionAddedIcon.png\"/> 如果某个版本增加了文件和"
"目录,<literal>已增加</literal> 图表就会在第二列显示。"

#. (para)
#, fuzzy
msgid ""
"<graphic fileref=\"../images/ActionDeletedIcon.png\"/> If a revision deleted "
"a file or directory, the <emphasis>deleted</emphasis> icon is shown in the "
"third column."
msgstr ""
"<graphic fileref=\"../images/ActionDeletedIcon.png\"/> 如果某个版本删除了文件"
"和目录,<literal>已删除</literal> 图表就会在第三列显示。"

#. (para)
#, fuzzy
msgid ""
"<graphic fileref=\"../images/ActionReplacedIcon.png\"/> If a revision "
"replaced a file or directory, the <emphasis>replaced</emphasis> icon is shown "
"in the fourth column."
msgstr ""
"<graphic fileref=\"../images/ActionReplacedIcon.png\"/> 如果某个版本替换了文件"
"和目录,<literal>已替换</literal> 图标就会在第四列显示。"

#. (title)
msgid "Getting Additional Information"
msgstr "获得更多信息"

#. (title)
msgid "The Revision Log Dialog Top Pane with Context Menu"
msgstr "版本日志对话框的顶部面板的右键菜单"

#. (term)
#, fuzzy
msgid "Compare with working copy"
msgstr "创建工作副本"

#. (para)
msgid ""
"Compare the selected revision with your working copy. The default Diff-Tool "
"is TortoiseMerge which is supplied with TortoiseSVN. If the log dialog is for "
"a folder, this will show you a list of changed files, and allow you to review "
"the changes made to each file individually."
msgstr ""
"将你的工作版本与选中的版本进行比较。默认的比较工具是与TortoiseSNV一同发布的"
"TortoiseMerge,如果日志对话框是针对文件夹的,那么就会出现一个被修改的文件的列"
"表,你可以单独地查看每个文件所做的修改。"

#. (term)
#, fuzzy
msgid "Compare and blame with working BASE"
msgstr "与工作副本比较并追溯"

#. (para)
msgid ""
"Blame the selected revision, and the file in your working BASE and compare "
"the blame reports using a visual diff tool. Read <xref linkend=\"tsvn-dug-"
"blame-diffs\"/> for more detail. (files only)."
msgstr ""
"追溯选中的版本,和你的工作基础文件,使用可视化差异工具比较追溯报告。参阅 "
"<xref linkend=\"tsvn-dug-blame-diffs\"/> 以获得更多信息(仅对于文件)。"

#. (term)
#, fuzzy
msgid "Show changes as unified diff"
msgstr "统一差异"

#. (para)
msgid ""
"View the changes made in the selected revision as a Unified-Diff file (GNU "
"patch format). This shows only the differences with a few lines of context. "
"It is harder to read than a visual file compare, but will show all file "
"changes together in a compact format."
msgstr ""
"将选中的版本作为单一差异文件(GNU补丁格式)查看。相对于可视化的文件比较器,它更"
"难阅读,但它将所有的变化显示在一个格式更为紧凑的文件中。"

#. (term)
#, fuzzy
msgid "Compare with previous revision"
msgstr "两个历史版本的比较"

#. (para)
#, fuzzy
msgid ""
"Compare the selected revision with the previous revision. This works in a "
"similar manner to comparing with your working copy. For folders this option "
"will first show the changed files dialog allowing you to select files to "
"compare."
msgstr "比较选择的版本和以前版本。它与你比较工作副本类似。"

#. (term)
#, fuzzy
msgid "Compare and blame with previous revision"
msgstr "与工作副本比较并追溯"

#. (para)
#, fuzzy
msgid ""
"Show the changed files dialog allowing you to select files. Blame the "
"selected revision, and the previous revision, and compare the results using a "
"visual diff tool. (folders only)."
msgstr "追溯选中的版本和旧版本,用可视化差异工具比较结果(仅对于目录)。"

#. (term)
#. (term)
#, fuzzy
msgid "Save revision to..."
msgstr "最大版本号"

#. (para)
msgid ""
"Save the selected revision to a file so you have an older version of that "
"file. (files only)."
msgstr "将选中的版本保存到文件,你可以得到一份该文件的旧版本(仅对于文件)。"

#. (term)
#. (term)
msgid "Open / Open with..."
msgstr ""

#. (para)
msgid ""
"Open the selected file, either with the default viewer for that file type, or "
"with a program you choose. (files only)."
msgstr "用此文件类型的默认查看器,或你指定的程序打开选中的文件(仅对于文件)。"

#. (term)
#. (term)
#, fuzzy
msgid "Blame..."
msgstr "追溯"

#. (para)
msgid "Blame the file up to the selected revision. (files only)."
msgstr "追溯文件直到选中的版本(仅对于文件)。"

#. (term)
#, fuzzy
msgid "Browse repository"
msgstr "浏览版本库"

#. (para)
msgid ""
"Open the repository browser to examine the selected file or folder in the "
"repository as it was at the selected revision."
msgstr "打开版本库浏览器,基于选中的版本,在版本库中检查选中的文件或目录。"

#. (term)
#, fuzzy
msgid "Create branch/tag from revision"
msgstr "合并版本范围"

#. (para)
#, fuzzy
msgid ""
"Create a branch or tag from a selected revision. This is useful e.g. if you "
"forgot to create a tag and already committed some changes which weren't "
"supposed to get into that release."
msgstr ""
"从选中的版本建立一个分支/标记。这个选项很有用。比如: 如果你提交了某些你不想使"
"其进入发行版的修改,却忘记了为此建立标记。"

#. (term)
#, fuzzy
msgid "Update item to revision"
msgstr "更新到版本"

#. (para)
#, fuzzy
msgid ""
"Update your working copy to the selected revision. Useful if you want to have "
"your working copy reflect a time in the past, or if there have been further "
"commits to the repository and you want to update your working copy one step "
"at a time. It is best to update a whole directory in your working copy, not "
"just one file, otherwise your working copy could be inconsistent."
msgstr ""
"将你的工作副本更新到选中的版本。如果你想要你的工作副本折返到过去的某个时间,那"
"这个功能就很好用。你最好是更新工作副本的整个目录而不是单一某个文件,因为如果只"
"更新某个文件,你的工作副本就可能不一致,从而导致你无法提交任何修改。"

#. (para)
msgid ""
"If you want to undo an earlier change permanently, use <guilabel>Revert to "
"this revision</guilabel> instead."
msgstr ""

#. (term)
#, fuzzy
msgid "Revert to this revision"
msgstr "更新到版本"

#. (para)
#, fuzzy
msgid ""
"Revert to an earlier revision. If you have made several changes, and then "
"decide that you really want to go back to how things were in revision N, this "
"is the command you need. The changes are undone in your working copy so this "
"operation does <emphasis>not</emphasis> affect the repository until you "
"commit the changes. Note that this will undo <emphasis>all</emphasis> changes "
"made after the selected revision, replacing the file/folder with the earlier "
"version."
msgstr ""
"恢复到某个以前的版本。如果你做了多处修改,然后决定要返回到版本 N,你就可以使用"
"这个命令。再次说明,恢复的修改位于你的工作副本,在你提交之前,并<emphasis>不会"
"</emphasis>影响版本库。注意,这将会丢弃从那个版本以来的<emphasis>所有</"
"emphasis>修改,使用选中的版本来替换文件/文件夹。"

#. (para)
#. (para)
msgid ""
"If your working copy is in an unmodified state, after you perform this action "
"your working copy will show as modified. If you already have local changes, "
"this command will merge the <emphasis>undo</emphasis> changes into your "
"working copy."
msgstr ""

#. (para)
msgid ""
"What is happening internally is that Subversion performs a reverse merge of "
"all the changes made after the selected revision, undoing the effect of those "
"previous commits."
msgstr ""

#. (para)
msgid ""
"If after performing this action you decide that you want to <emphasis>undo "
"the undo</emphasis> and get your working copy back to its previous unmodified "
"state, you should use <menuchoice><guimenu>TortoiseSVN</"
"guimenu><guimenuitem>Revert</guimenuitem></menuchoice> from within Windows "
"Explorer, which will discard the local modifications made by this reverse "
"merge action."
msgstr ""

#. (para)
msgid ""
"If you simply want to see what a file or folder looked like at an earlier "
"revision, use <guilabel>Update to revision</guilabel> or <guilabel>Save "
"revision as...</guilabel> instead."
msgstr ""

#. (term)
#. (term)
#, fuzzy
msgid "Revert changes from this revision"
msgstr "与历史版本的比较差异"

#. (para)
#, fuzzy
msgid ""
"Undo changes from which were made in the selected revision. The changes are "
"undone in your working copy so this operation does <emphasis>not</emphasis> "
"affect the repository at all! Note that this will undo the changes made in "
"that revision only; it does not replace your working copy with the entire "
"file at the earlier revision. This is very useful for undoing an earlier "
"change when other unrelated changes have been made since."
msgstr ""
"还原选中版本所做的修改。还原的内容只在你的工作副本中,所以此操作完全<emphasis>"
"不会</emphasis>影响版本库!要注意的是,这个操作仅仅还原该版本中的修改。不是将"
"整个文件替换成选中的那个版本。它对于已经做过其它无关修改的还原早期修改非常有"
"用。如果你做了本地修改,此命令将会合并修改到工作副本。"

#. (para)
msgid ""
"What is happening internally is that Subversion performs a reverse merge of "
"that one revision, undoing its effect from a previous commit."
msgstr ""

#. (para)
msgid ""
"You can <emphasis>undo the undo</emphasis> as described above in "
"<guilabel>Revert to this revision</guilabel>."
msgstr ""

#. (term)
#, fuzzy
msgid "Merge revision to..."
msgstr "最大版本号"

#. (para)
msgid ""
"Merge the selected revision(s) into a different working copy. A folder "
"selection dialog allows you to choose the working copy to merge into, but "
"after that there is no confirmation dialog, nor any opportunity to try a test "
"merge. It is a good idea to merge into an unmodified working copy so that you "
"can revert the changes if it doesn't work out! This is a useful feature if "
"you want to merge selected revisions from one branch to another."
msgstr ""

#. (term)
#, fuzzy
msgid "Checkout..."
msgstr "检出"

#. (para)
msgid ""
"Make a fresh checkout of the selected folder at the selected revision. This "
"brings up a dialog for you to confirm the URL and revision, and select a "
"location for the checkout."
msgstr ""
"检出你选择的目录的选中版本,创建一个全新副本。它弹出对话框,让你确认URL和版"
"本,并且选择保存的位置。"

#. (term)
#, fuzzy
msgid "Export..."
msgstr "输出"

#. (para)
msgid ""
"Export the selected file/folder at the selected revision. This brings up a "
"dialog for you to confirm the URL and revision, and select a location for the "
"export."
msgstr ""
"导出选择的文件/目录的选中版本。它弹出对话框,让你确认URL和版本,选择导出位置。"

#. (term)
#, fuzzy
msgid "Edit author / log message"
msgstr "日志信息字体"

#. (para)
msgid ""
"Edit the log message or author attached to a previous commit. Read <xref "
"linkend=\"tsvn-dug-showlog-4\"/> to find out how this works."
msgstr ""
"编辑之前提交时的日志信息或是作者。请阅读<xref linkend=\"tsvn-dug-showlog-4\"/"
">,了解其工作原理。"

#. (term)
#, fuzzy
msgid "Show revision properties"
msgstr "Subversion 属性"

#. (para)
msgid ""
"View and edit any revision property, not just log message and author. Refer "
"to <xref linkend=\"tsvn-dug-showlog-4\"/>."
msgstr ""

#. (term)
#. (term)
msgid "Copy to clipboard"
msgstr ""

#. (para)
msgid ""
"Copy the log details of the selected revisions to the clipboard. This will "
"copy the revision number, author, date, log message and the list of changed "
"items for each revision."
msgstr ""
"将选中版本的详细日志信息复制到剪贴板。它会复制版本号,作者,日期,日志信息,以"
"及每个版本的改变项目列表。"

#. (term)
#. (term)
#, fuzzy
msgid "Search log messages..."
msgstr "日志信息"

#. (para)
msgid ""
"Search log messages for the text you enter. This searches the log messages "
"that you entered and also the action summaries created by Subversion (shown "
"in the bottom pane). The search is not case sensitive."
msgstr ""
"在日志信息中搜索你输入的的文字。这个操作搜索日志信息,也搜索由Subversion建立的"
"提交行为总结(最底部的面板中的内容)。搜索大小写无关。"

#. (para)
msgid ""
"<placeholder-1/> The top pane of the Log dialog has a context menu that "
"allows you to access much more information. Some of these menu entries appear "
"only when the log is shown for a file, and some only when the log is shown "
"for a folder. <placeholder-2/>"
msgstr ""

#. (title)
msgid "Top Pane Context Menu for 2 Selected Revisions"
msgstr "选种两个版本的顶部面板的右键菜单"

#. (term)
#, fuzzy
msgid "Compare revisions"
msgstr "比较两个修订版本"

#. (para)
msgid ""
"Compare the two selected revisions using a visual difference tool. The "
"default Diff-Tool is TortoiseMerge which is supplied with TortoiseSVN."
msgstr ""
"使用可视化差异比较工作比较两个选中的版本。默认的比较工作是与TortoiseSVN一起提"
"供的TortoiseMerge。"

#. (para)
msgid ""
"If you select this option for a folder, a further dialog pops up listing the "
"changed files and offering you further diff options. Read more about the "
"Compare Revisions dialog in <xref linkend=\"tsvn-dug-compare-revs\"/>."
msgstr ""
"如果你是针对文件夹选中这个选项,则会弹出一个对话框列出修改过的文件,提供了更多"
"的差异比较选项。请参考比较版本对话框获得详情: <xref linkend=\"tsvn-dug-"
"compare-revs\"/>。"

#. (term)
#, fuzzy
msgid "Blame revisions"
msgstr "追溯版本"

#. (para)
#, fuzzy
msgid ""
"Blame the two revisions and compare the blame reports using a visual "
"difference tool. Read <xref linkend=\"tsvn-dug-blame-diffs\"/> for more "
"detail."
msgstr ""
"评审两个版本,并使用差异比较工作比较结果。详情请参考<xref linkend=\"tsvn-dug-"
"blame-diffs\"/> 。"

#. (term)
msgid "Show differences as unified diff"
msgstr ""

#. (para)
msgid ""
"View the differences between the two selected revisions as a Unified-Diff "
"file. This works for files and folders."
msgstr "使用单一差异文件显示差异。这对文件和文件夹都有效。"

#. (para)
msgid "Copy log messages to clipboard as described above."
msgstr "如前所述将日志消息复制到剪贴板。"

#. (para)
msgid "Search log messages as described above."
msgstr "如前所述可以搜索日志消息。"

#. (para)
msgid ""
"<placeholder-1/> If you select two revisions at once (using the usual "
"<keycap>Ctrl</keycap>-modifier), the context menu changes and gives you fewer "
"options: <placeholder-2/>"
msgstr ""
"<placeholder-1/>如果你使用<keycap>Ctrl</keycap>组合键一次选中了两个版本,右键"
"菜单有所改变: <placeholder-2/>"

#. (para)
#, fuzzy
msgid ""
"If you select two or more revisions (using the usual <keycap>Ctrl</keycap> or "
"<keycap>Shift</keycap> modifiers), the context menu will include an entry to "
"Revert all changes which were made in the selected revisions. This is the "
"easiest way to rollback a group of revisions in one go."
msgstr ""
"如果你用<keycap>Ctrl</keycap>或<keycap>Shift</keycap>组合键选择了多个连续的版"
"本,右键菜单将有一个选项,可以让你还原这些版本中的修改。这是一次性还原多个版本"
"中修改的最简方法。"

#. (para)
msgid ""
"You can also choose to merge the selected revisions to another working copy, "
"as described above."
msgstr ""

#. (para)
msgid ""
"If all selected revisions have the same author, you can edit the author of "
"all those revisions in one go."
msgstr ""

#. (title)
msgid "The Log Dialog Bottom Pane with Context Menu"
msgstr "日志对话框的底部面板的右键菜单"

#. (term)
#, fuzzy
msgid "Show changes"
msgstr "查看修改"

#. (para)
#, fuzzy
msgid ""
"Show changes made in the selected revision for the selected file. This "
"context menu is only available for files shown as <emphasis>modified</"
"emphasis>."
msgstr ""
"显示选中版本中的选中文件的差异。这个操作只对显示为<literal>已修改</literal>的"
"文件有效。"

#. (term)
#, fuzzy
msgid "Blame changes"
msgstr "追溯修改"

#. (para)
#, fuzzy
msgid ""
"Blame the selected revision and the previous revision for the selected file, "
"and compare the blame reports using a visual diff tool. Read <xref linkend="
"\"tsvn-dug-blame-diffs\"/> for more detail."
msgstr ""
"评审选中文件的选中版本与前一个版本,使用可视化差异工具显示差异。详情请参阅"
"<xref linkend=\"tsvn-dug-blame-diffs\"/> 。"

#. (term)
#, fuzzy
msgid "Show as unified diff"
msgstr "统一差异"

#. (para)
#, fuzzy
msgid ""
"Show file changes in unified diff format. This context menu is only available "
"for files shown as <emphasis>modified</emphasis>."
msgstr ""
"显示选中版本中的选中文件的差异。这个操作只对显示为<literal>已修改</literal>的"
"文件有效。"

#. (para)
#. (para)
msgid ""
"Open the selected file, either with the default viewer for that file type, or "
"with a program you choose."
msgstr "用默认查看器或你指定的程序打开选中文件的选中版本。"

#. (para)
msgid ""
"Opens the Blame dialog, allowing you to blame up to the selected revision."
msgstr ""

#. (para)
msgid "Revert the changes made to the selected file in that revision."
msgstr "还原选中文件的选中版本所作的变更。"

#. (term)
#, fuzzy
msgid "Show properties"
msgstr "属性"

#. (para)
msgid "View the Subversion properties for the selected item."
msgstr "查看选中项的Subversion属性。"

#. (term)
#, fuzzy
msgid "Show log"
msgstr "显示日志"

#. (para)
msgid "Show the revision log for the selected single file."
msgstr "显示选中的单个文件的版本日志。"

#. (term)
#, fuzzy
msgid "Get merge logs"
msgstr "使用合并对话框"

#. (para)
msgid ""
"Show the revision log for the selected single file, including merged changes. "
"Find out more in <xref linkend=\"tsvn-dug-showlog-mergetrack\"/>."
msgstr ""

#. (para)
msgid ""
"Save the selected revision to a file so you have an older version of that "
"file."
msgstr "将选中的版本保存成文件,你可以得到一份该文件的旧版本。"

#. (para)
msgid ""
"<placeholder-1/> The bottom pane of the Log dialog also has a context menu "
"that allows you to <placeholder-2/>"
msgstr ""
"<placeholder-1/> 日志对话框的底部面板也有右键菜单,你可以: <placeholder-2/>"

#. (para)
msgid ""
"You may notice that sometimes we refer to changes and other times to "
"differences. What's the difference?"
msgstr "你可能会注意到,我们有时候说改变,有时候说差异。它们的区别在哪儿?"

#. (para)
#, fuzzy
msgid ""
"Subversion uses revision numbers to mean 2 different things. A revision "
"generally represents the state of the repository at a point in time, but it "
"can also be used to represent the changeset which created that revision, eg. "
"<quote>Done in r1234</quote> means that the changes committed in r1234 "
"implement feature X. To make it clearer which sense is being used, we use two "
"different terms."
msgstr ""
"Subversion 使用版本号表达两个意思。版本号通常意味着版本库在那个时间的状态,也"
"用来表达那个版本创建的结果集,例如 “r1234 所做” 意味着 r1234 版本提交的改变实"
"现了特性 X。为了能更清晰的知道使用了哪个语义,我们使用两个不同的术语。"

#. (para)
msgid ""
"If you select two revisions N and M, the context menu will offer to show the "
"<emphasis>difference</emphasis> between those two revisions. In Subversion "
"terms this is <literal>diff -r M:N</literal>."
msgstr ""
"如果你选择了两个版本 N 和 M,上下文菜单会显示这两个版本的<emphasis>差异</"
"emphasis>。用 Subversion 术语说,就是<literal>diff -r M:N</literal>。"

#. (para)
msgid ""
"If you select a single revision N, the context menu will offer to show the "
"<emphasis>changes</emphasis> made in that revision. In Subversion terms this "
"is <literal>diff -r N-1:N</literal> or <literal>diff -c N</literal>."
msgstr ""
"如果你选择了一个版本 N,上下文菜单会显示这个版本的<emphasis>改变</emphasis>。"
"用 Subversion 术语说,就是<literal>diff -r N-1:N</literal> 或 <literal>diff -"
"c N</literal>。"

#. (para)
#, fuzzy
msgid ""
"The bottom pane shows the files changed in all selected revisions, so the "
"context menu always offers to show <emphasis>changes</emphasis>."
msgstr ""
"显示选中版本中的选中文件的差异。这个操作只对显示为<literal>已修改</literal>的"
"文件有效。"

#. (title)
msgid "Getting more log messages"
msgstr "获取更多的日志信息"

#. (para)
#, fuzzy
msgid ""
"For a large repository there may be hundreds or even thousands of changes and "
"fetching them all could take a long time. Normally you are only interested in "
"the more recent changes. By default, the number of log messages fetched is "
"limited to 100, but you can change this value in "
"<menuchoice><guimenu>TortoiseSVN</guimenu><guimenuitem>Settings</"
"guimenuitem></menuchoice> (<xref linkend=\"tsvn-dug-settings-dialogs\"/>),"
msgstr ""
"对于一个大的库,可能存在几百上千个改动,全部得到它们可能要花上很久的时间。通常"
"你只关心最近的修改。默认情况下,日志消息限制只获取100条,但你可以在"
"<menuchoice><guimenu>TortoiseSVN</guimenu><guimenuitem>设置</guimenuitem></"
"menuchoice>中修改这个值 (<xref linkend=\"tsvn-dug-settings\"/>),"

#. (para)
msgid ""
"When the <guilabel>Stop on copy/rename</guilabel> box is checked, Show Log "
"will stop at the point that the selected file or folder was copied from "
"somewhere else within the repository. This can be useful when looking at "
"branches (or tags) as it stops at the root of that branch, and gives a quick "
"indication of changes made in that branch only."
msgstr ""
"当<guilabel>复制/重命名时停止</guilabel>复选框被选中时, 如果选中的文件或文件"
"夹是从版本库中的其他地方复制而来的,显示日志将停止在该点。这对于查看分支(或标"
"记)时很有用,因为它会停在分支的根节点上,可以快速查看该分支的修改。"

#. (para)
msgid ""
"Normally you will want to leave this option unchecked. TortoiseSVN remembers "
"the state of the checkbox, so it will respect your preference."
msgstr "一般情况下你可以不要勾选它。 TortoiseSVN会记住它的状态,以改进性能。"

#. (para)
msgid ""
"When the Show Log dialog is invoked from within the Merge dialog, the box is "
"always checked by default. This is because merging is most often looking at "
"changes on branches, and going back beyond the root of the branch does not "
"make sense in that instance."
msgstr ""
"如果你在从合并对话框中调用的显示日志对话框,那么这个复选框默认将总是选中的。这"
"是由于合并通常都是查看分支中的修改, 获取分支的根之前的日志在这种情况下通常没"
"有什么意义。"

#. (para)
msgid ""
"Note that Subversion currently implements renaming as a copy/delete pair, so "
"renaming a file or folder will also cause the log display to stop if this "
"option is checked."
msgstr ""
"注意,Subversion当前是用复制/删除来实现重命名的,所以重命名一个文件或文件夹也"
"会造成日志显示停止(如果选择了复制/重命名时停止)在该点。"

#. (para)
msgid ""
"The Log dialog does not always show all changes ever made for a number of "
"reasons: <placeholder-1/>"
msgstr ""
"日志对话框并不总是显示所有曾经的修改,日志不显示的可能原因如下: <placeholder-"
"1/>"

#. (para)
msgid ""
"If you want to see more log messages, click the <guibutton>Next 100</"
"guibutton> to retrieve the next 100 log messages. You can repeat this as many "
"times as needed."
msgstr ""
"如果你要查看更多的日志信息,点击<guibutton>下100个</guibutton>,以获取下100个"
"日志信息。如果有需要你可以多次重复这个操作。"

#. (para)
msgid ""
"Next to this button there is a multi-function button which remembers the last "
"option you used it for. Click on the arrow to see the other options offered."
msgstr ""
"这个按钮旁边的是一个多功能按钮,它可以记住上一次你要它进行的操作。点击它上面的"
"箭头,可以看到更多的选项。"

#. (para)
msgid ""
"Use <guibutton>Show Range ...</guibutton> if you want to view a specific "
"range of revisions. A dialog will then prompt you to enter the start and end "
"revision."
msgstr ""
"如果你要查询指定范围的版本,使用<guibutton>显示范围 ...</guibutton>。这会出现"
"一个对话框,要求输入开始和结束的版本。"

#. (para)
msgid ""
"Use <guibutton>Show All</guibutton> if you want to see <emphasis>all</"
"emphasis> log messages from HEAD right back to revision 1."
msgstr ""
"如果你要查询从最新版本直到版本1的<emphasis>所有的</emphasis>日志消息,使用"
"<guibutton>显示所有</guibutton>。"

#. (title)
msgid "Current Working Copy Revision"
msgstr "当前工作副本的版本"

#. (para)
msgid ""
"Because the log dialog shows you the log from HEAD, not from the current "
"working copy revision, it often happens that there are log messages shown for "
"content which has not yet been updated in your working copy. To help make "
"this clearer, the commit message which corresponds to the revision you have "
"in your working copy is shown in bold."
msgstr ""

#. (para)
msgid ""
"By default this only works for files. This is because the update revision for "
"a folder may not correspond to the update revision of its content, and the "
"only way to find the effective update revision for the folder is to crawl the "
"working copy. This can be a slow operation for large working copies so if you "
"want to enable this feature you must create a <literal>DWORD</literal> "
"registry key with value 1 at <literal>HKCU\\Software\\TortoiseSVN"
"\\RecursiveLogRev</literal>."
msgstr ""

#. (title)
msgid "Merge Tracking Features"
msgstr "合并跟踪特性"

#. (primary)
msgid "merge tracking log"
msgstr "合并跟踪记录"

#. (para)
msgid ""
"Subversion 1.5 and later keeps a record of merges using properties. This "
"allows us to get a more detailed history of merged changes. For example, if "
"you develop a new feature on a branch and then merge that branch back to "
"trunk, the feature development will show up on the trunk log as a single "
"commit for the merge, even though there may have been 1000 commits during "
"branch development."
msgstr ""

#. (title)
msgid "The Log Dialog Showing Merge Tracking Revisions"
msgstr "日志对话框显示合并跟踪版本"

#. (para)
msgid ""
"If you want to see the detail of which revisions were merged as part of that "
"commit, use the <guilabel>Include merged revisions</guilabel> checkbox. This "
"will fetch the log messages again, but will also interleave the log messages "
"from revisions which were merged. Merged revisions are shown in grey because "
"they represent changes made on a different part of the tree."
msgstr ""

#. (para)
msgid ""
"Of course, merging is never simple! During feature development on the branch "
"there will probably be occasional merges back from trunk to keep the branch "
"in sync with the main line code. So the merge history of the branch will also "
"include another layer of merge history. These different layers are shown in "
"the log dialog using indentation levels."
msgstr ""

#. (title)
msgid "Changing the Log Message and Author"
msgstr "修改日志消息和作者"

#. (primary)
msgid "edit log/author"
msgstr "编辑日志/作者"

#. (primary)
#, fuzzy
msgid "revision properties"
msgstr "Subversion 属性"

#. (primary)
#, fuzzy
msgid "revprops"
msgstr "版本库浏览器"

#. (para)
msgid ""
"Revision properties are completely different from the Subversion properties "
"of each item. Revprops are descriptive items which are associated with one "
"specific revision number in the repository, such as log message, commit date "
"and committer name (author)."
msgstr ""

#. (para)
msgid ""
"Sometimes you might want to change a log message you once entered, maybe "
"because there's a spelling error in it or you want to improve the message or "
"change it for other reasons. Or you want to change the author of the commit "
"because you forgot to set up authentication or..."
msgstr ""
"有时你可能想要修改你曾经输入的日志消息,也许是因为有拼写错误或是你想改进消息内"
"容,或是其他别的原因。偶尔你还想修改提交者,可能是你忘了设置认证等原因。"

#. (para)
#, fuzzy
msgid ""
"Subversion lets you change revision properties any time you want. But since "
"such changes can't be undone (those changes are not versioned) this feature "
"is disabled by default. To make this work, you must set up a pre-revprop-"
"change hook. Please refer to the chapter on <ulink url=\"http://svnbook.red-"
"bean.com/en/1.5/svn.reposadmin.create.html#svn.reposadmin.create.hooks"
"\"><citetitle>Hook Scripts</citetitle></ulink> in the Subversion Book for "
"details about how to do that. Read <xref linkend=\"tsvn-repository-hooks\"/> "
"to find some further notes on implementing hooks on a Windows machine."
msgstr ""
"Subversion允许你在任何时候修改日志消息和作者。但这种改变不可还原(不在版本控制"
"之下),正因如此,这些功能默认是不可用的,如果要开启它,必须设置一个pre-"
"revprop-change钩子。具体如何做,请参考《使用 Subversion 进行版本管理》的相关章"
"节<ulink url=\"http://svnbook.red-bean.com/en/1.2/svn.reposadmin.create.html"
"\"><citetitle>钩子脚本</citetitle></ulink>。在Windows机器上实现钩子的注意事项"
"请阅读<xref linkend=\"tsvn-repository-hooks\"/>。"

#. (para)
#, fuzzy
msgid ""
"Once you've set up your server with the required hooks, you can change the "
"author and log message (or any other revprop) of any revision, using the "
"context menu from the top pane of the Log dialog. You can also edit a log "
"message using the context menu for the middle pane."
msgstr ""
"一旦你按需要为服务器设置了钩子,你就可以使用日志对话框顶部面板的右键菜单来修改"
"任意版本的作者和日志信息了。"

#. (para)
msgid ""
"Because Subversion's revision properties are not versioned, making "
"modifications to such a property (for example, the <literal>svn:log</literal> "
"commit message property) will overwrite the previous value of that property "
"<emphasis>forever</emphasis>."
msgstr ""
"由于Subversion的版本属性不受版本控制,对于这种属性的修改(如 <literal>svn:log</"
"literal>提交信息属性将<emphasis>永久</emphasis>覆盖该属性之前的值。"

#. (title)
msgid "Filtering Log Messages"
msgstr "过滤日志信息"

#. (primary)
msgid "filter"
msgstr "过滤器"

#. (para)
msgid ""
"If you want to restrict the log messages to show only those you are "
"interested in rather than scrolling through a list of hundreds, you can use "
"the filter controls at the top of the Log Dialog. The start and end date "
"controls allow you to restrict the output to a known date range. The search "
"box allows you to show only messages which contain a particular phrase."
msgstr ""
"如果你只想要显示上千条日志中你所感兴趣的日志,你可以使用日志对话框顶部的过滤器"
"控件。开始和结束日期控件允许你查看指定日期范围内的输出。查找框帮你查出含有指定"
"内容的信息。"

#. (para)
msgid ""
"Click on the search icon to select which information you want to search in, "
"and to choose <emphasis>regex</emphasis> mode. Normally you will only need a "
"simple text search, but if you need to more flexible search terms, you can "
"use regular expressions. If you hover the mouse over the box, a tooltip will "
"give hints on how to use the regex functions. You can also find online "
"documentation and a tutorial at <ulink url=\"http://www.regular-expressions."
"info/\"><citetitle>http://www.regular-expressions.info/</citetitle></ulink>. "
"The filter works by checking whether your filter string matches the log "
"entries, and then only those entries which <emphasis>match</emphasis> the "
"filter string are shown."
msgstr ""

#. (para)
msgid ""
"To make the filter show all log entries that do <emphasis>not</emphasis> "
"match the filter string, start the string with an exclamation mark ('!'). For "
"example, a filter string <literal>!username</literal> will only show those "
"entries which were not committed by <literal>username</literal>."
msgstr ""

#. (para)
msgid ""
"Note that these filters act on the messages already retrieved. They do not "
"control downloading of messages from the repository."
msgstr ""
"要注意的是,这些过滤器只对已经获取的信息有效。它们并不从版本库中下载信息。"

#. (para)
#, fuzzy
msgid ""
"You can also filter the path names in the bottom pane using the "
"<guilabel>Hide unrelated changed paths</guilabel> checkbox. Related paths are "
"those which contain the path used to display the log. If you fetch the log "
"for a folder, that means anything in that folder or below it. For a file it "
"means just that one file. The checkbox is tristate: you can show all paths, "
"grey out the unrelated ones, or hide the unrelated paths completely."
msgstr ""
"你还可以使用<guilabel>隐藏无关的修改路径</guilabel> 复选框来过滤底部面板中的路"
"径名称。所谓相关路径,是指那些与日志相关的路径。对于一个文件夹的日志来说,相关"
"路径就是该文件夹以其下的所有内容。对于一个文件的日志来说,相关路径就是与该文件"
"的路径。该复选框是3态的: 可以显示所有的路径,将无关的内容灰色显示,或是完全隐"
"藏无关路径。"

#. (para)
msgid ""
"Sometimes your working practices will require log messages to follow a "
"particular format, which means that the text describing the changes is not "
"visible in the abbreviated summary shown in the top pane. The property "
"<literal>tsvn:logsummary</literal> can be used to extract a portion of the "
"log message to be shown in the top pane. Read <xref linkend=\"tsvn-dug-"
"propertypage-tsvn-props\"/> to find out how to use this property."
msgstr ""

#. (title)
#, fuzzy
msgid "No Log Formatting from Repository Browser"
msgstr "版本库浏览器"

#. (para)
msgid ""
"Because the formatting depends upon accessing subversion properties, you will "
"only see the results when using a checked out working copy. Fetching "
"properties remotely is a slow operation, so you will not see this feature in "
"action from the repo browser."
msgstr ""

#. (title)
msgid "Statistical Information"
msgstr "统计信息"

#. (primary)
msgid "statistics"
msgstr "统计"

#. (para)
msgid ""
"The <guibutton>Statistics</guibutton> button brings up a box showing some "
"interesting information about the revisions shown in the Log dialog. This "
"shows how many authors have been at work, how many commits they have made, "
"progress by week, and much more. Now you can see at a glance who has been "
"working hardest and who is slacking ;-)"
msgstr ""
"<guibutton>统计</guibutton>按扭,可以显示一些你感兴趣的关于日志对话框中版本的"
"信息。可以显示已经有几个作者做了工作,他们各提交了几次,按周的统计,等等。现"
"在,你可以发现一个大概情况: 谁最勤快,谁偷懒。;-)"

#. (title)
msgid "Statistics Page"
msgstr "统计页"

#. (para)
msgid ""
"This page gives you all the numbers you can think of, in particular the "
"period and number of revisions covered, and some min/max/average values."
msgstr ""
"此页可以提供所有你可以想到的数据,特别是周期和包括的版本数,还有一些最大/最小/"
"平均值。"

#. (title)
msgid "Commits by Author Page"
msgstr "作者提交次数统计页"

#. (title)
msgid "Commits-by-Author Histogram"
msgstr "作者提交次数统计柱状图"

#. (title)
msgid "Commits-by-Author Pie Chart"
msgstr "作者提交次数统计饼图"

#. (para)
msgid ""
"<placeholder-1/> This graph shows you which authors have been active on the "
"project as a simple histogram, stacked histogram or pie chart. <placeholder-2/"
">"
msgstr ""
"<placeholder-1/>此图用简单柱状图、叠加柱状图或饼图显示了哪些作者已经在项目中活"
"跃了。 <placeholder-2/>"

#. (para)
#, fuzzy
msgid ""
"Where there are a few major authors and many minor contributors, the number "
"of tiny segments can make the graph more difficult to read. The slider at the "
"bottom allows you to set a threshold (as a percentage of total commits) below "
"which any activity is grouped into an <emphasis>Others</emphasis> category."
msgstr ""
"其中有几个主要作者和许多辅助的作者。由于太小的部分会导致图形难于阅读,所以在底"
"部有个滑动条,可以设置一个范围(占所有提交的百分比),在这个范围下的所有行为都整"
"合成<emphasis>其他</emphasis>类。"

#. (title)
msgid "Commits by date Page"
msgstr "按日期提交统计页"

#. (title)
msgid "Commits-by-date Graph"
msgstr "按日期提交统计图"

#. (para)
msgid ""
"<placeholder-1/> This page gives you a graphical representation of project "
"activity in terms of number of commits <emphasis>and</emphasis> author. This "
"gives some idea of when a project is being worked on, and who was working at "
"which time."
msgstr ""
"<placeholder-1/>本页图示了以提交次数<emphasis>和</emphasis>作者作为条件的项目"
"行为统计。这里可以看出项目什么时候有人在工作,以及什么人在什么时候进行了工作。"

#. (para)
msgid ""
"When there are several authors, you will get many lines on the graph. There "
"are two views available here: <emphasis>normal</emphasis>, where each "
"author's activity is relative to the base line, and <emphasis>stacked</"
"emphasis>, where each author's activity is relative to the line underneath. "
"The latter option avoids the lines crossing over, which can make the graph "
"easier to read, but less easy to see one author's output."
msgstr ""
"如果有多个作者,你就会在图中看到多行。有两种视图可用<emphasis>正常</"
"emphasis>,在这里,每个作者的行为都相对于基线;<emphasis>叠加</emphasis>,在这"
"里每个作者的行为是相对于他的下面那条线。后一种视图避免了线的交叉,对于图来说更"
"明了,但对查看一个作者的输出比较不直观。"

#. (para)
#, fuzzy
msgid ""
"By default the analysis is case-sensitive, so users <literal>PeterEgan</"
"literal> and <literal>PeteRegan</literal> are treated as different authors. "
"However, in many cases user names are not case-sensitive, and are sometimes "
"entered inconsistently, so you may want <literal>DavidMorgan</literal> and "
"<literal>davidmorgan</literal> to be treated as the same person. Use the "
"<guilabel>Authors case insensitive</guilabel> checkbox to control how this is "
"handled."
msgstr ""
"默认统计是区别大小写的,也就是说用户<literal>PeterEgan</literal>与"
"<literal>PeteRegan</literal>被认为是两个不同的作者。但在多数时候用户名并不区别"
"大小写,有时会存在不一致,所以你可能希望<literal>PeterEgan</literal>和"
"<literal>PeteRegan</literal>能被当成是同一个作者。使用<guilabel>作者不区分大小"
"写</guilabel>复选框来控制。"

#. (para)
msgid ""
"Note that the statistics cover the same period as the Log dialog. If that is "
"only displaying one revision then the statistics will not tell you very much."
msgstr ""
"注意,统计只包括了日志对话框中的那段时期。如果日志对话框中只显示一个版本,那么"
"统计就没有什么意义了。"

#. (title)
msgid "Offline Mode"
msgstr "离线方式"

#. (para)
msgid ""
"If the server is not reachable, and you have log caching enabled you can use "
"the log dialog and revision graph in offline mode. This uses data from the "
"cache, which allows you to continue working although the information may not "
"be up-to-date or even complete."
msgstr ""

#. (title)
#. (title)
msgid "Refreshing the View"
msgstr "刷新视图"

#. (para)
msgid ""
"If you want to check the server again for newer log messages, you can simply "
"refresh the view using <keycap>F5</keycap>. If you are using the log cache "
"(enabled by default), this will check the repository for newer messages and "
"fetch only the new ones. If the log cache was in offline mode, this will also "
"attempt to go back online."
msgstr ""

#. (para)
msgid ""
"If you are using the log cache and you think the message content or author "
"may have changed, you can use <keycap>Shift-F5</keycap> or <keycap>Ctrl-F5</"
"keycap> to re-fetch the displayed messages from the server and update the log "
"cache. Note that this only affects messages currently shown and does not "
"invalidate the entire cache for that repository."
msgstr ""

#. (title)
msgid "Viewing Differences"
msgstr "查看差异"

#. (primary)
#. (primary)
msgid "diff"
msgstr "比较"

#. (primary)
msgid "compare"
msgstr "比较"

#. (para)
#, fuzzy
msgid ""
"One of the commonest requirements in project development is to see what has "
"changed. You might want to look at the differences between two revisions of "
"the same file, or the differences between two separate files. TortoiseSVN "
"provides a built-in tool named <application>TortoiseMerge</application> for "
"viewing differences of text files. For viewing differences of image files, "
"TortoiseSVN also has a tool named <application>TortoiseIDiff</application>. "
"Of course, you can use your own favourite diff program if you like."
msgstr ""
"在项目开发中,有一个很常用的要求就是查看更改。可能是你要求查看同一文件的两个版"
"本之间的差异,或者是查看两个独立的文件的差异。TortoiseSVN自带了一个工具叫"
"<application>TortoiseMerge</application>用来查看文本文件的差异。也有一个叫"
"<application>TortoiseIDiff</application>的工具来比较图像文件的差异。当然,你可"
"以根据你自己的喜好来选择比较差异的工具。"

#. (title)
msgid "File Differences"
msgstr "文件差异"

#. (term)
msgid "Local changes"
msgstr "本地修改"

#. (para)
msgid ""
"If you want to see what changes <emphasis>you</emphasis> have made in your "
"working copy, just use the explorer context menu and select "
"<menuchoice><guimenu>TortoiseSVN</guimenu><guimenuitem>Diff</guimenuitem></"
"menuchoice>."
msgstr ""
"如果你想看到你的本地副本有哪些更加,只用在资源管理器中右键菜单下选"
"<menuchoice><guimenu>TortoiseSVN</guimenu><guimenuitem>比较差异</"
"guimenuitem></menuchoice>。"

#. (term)
msgid "Difference to another branch/tag"
msgstr "与另外一个分支/标签之间的差异"

#. (para)
msgid ""
"If you want to see what has changed on trunk (if you are working on a branch) "
"or on a specific branch (if you are working on trunk), you can use the "
"explorer context menu. Just hold down the <keycap>Shift</keycap> key while "
"you right click on the file. Then select <menuchoice><guimenu>TortoiseSVN</"
"guimenu><guimenuitem>Diff with URL</guimenuitem></menuchoice>. In the "
"following dialog, specify the URL in the repository with which you want to "
"compare your local file to."
msgstr ""
"如果你想查看主干程序(假如你在分支上开发)有哪些修改或者是某一分支(假如你在主干"
"上开发)有哪些修改,你可以使用右键菜单。在你点击文件的同时按住<keycap>Shift</"
"keycap>键,然后选择<menuchoice><guimenu>TortoiseSVN</guimenu><guimenuitem> URL"
"比较</guimenuitem></menuchoice>。在弹出的对话框中,将特别显示将与你本地版本做"
"比较的版本的URL地址。"

#. (para)
msgid ""
"You can also use the repository browser and select two trees to diff, perhaps "
"two tags, or a branch/tag and trunk. The context menu there allows you to "
"compare them using <guimenuitem>Compare revisions</guimenuitem>. Read more in "
"<xref linkend=\"tsvn-dug-compare-revs\"/>."
msgstr ""
"你还可以使用版本库浏览器,选择两个目录树比较,也许是两个标记,或者是分支/标记"
"和最新版本。邮件菜单允许你使用<guimenuitem>比较版本</guimenuitem>来比较它们。"
"阅读<xref linkend=\"tsvn-dug-compare-revs\"/>以便获得更多信息。"

#. (term)
msgid "Difference from a previous revision"
msgstr "与历史版本的比较差异"

#. (para)
msgid ""
"If you want to see the difference between a particular revision and your "
"working copy, use the Revision Log dialog, select the revision of interest, "
"then select <guimenuitem>Compare with working copy</guimenuitem> from the "
"context menu."
msgstr ""
"如果你想查看某一特定版本与本地副本之间的差异,使用显示日志对话框,选择要比较的"
"版本,然后选择在右键菜单中选<guimenuitem>与本地副本比较差异</guimenuitem>"

#. (para)
msgid ""
"If you want to see the difference between the last committed revision and "
"your working copy, assuming that the working copy hasn't been modified, just "
"right click on the file. Then select <menuchoice><guimenu>TortoiseSVN</"
"guimenu><guimenuitem>Diff with previous version</guimenuitem></menuchoice>. "
"This will perform a diff between the revision before the last-commit-date (as "
"recorded in your working copy) and the working BASE. This shows you the last "
"change made to that file to bring it to the state you now see in your working "
"copy. It will not show changes newer than your working copy."
msgstr ""

#. (term)
msgid "Difference between two previous revisions"
msgstr "两个历史版本的比较"

#. (para)
msgid ""
"If you want to see the difference between two revisions which are already "
"committed, use the Revision Log dialog and select the two revisions you want "
"to compare (using the usual <keycap>Ctrl</keycap>-modifier). Then select "
"<guimenuitem>Compare revisions</guimenuitem> from the context menu."
msgstr ""
"如果你要查看任意已提交的两个历史版本之间的差异,在版本日志对话框中选择你要比较"
"的两个版本(一般使用 <keycap>Ctrl</keycap>-更改),然后在右键菜单中选"
"<guimenuitem>比较版本差异</guimenuitem>"

#. (para)
msgid ""
"If you did this from the revision log for a folder, a Compare Revisions "
"dialog appears, showing a list of changed files in that folder. Read more in "
"<xref linkend=\"tsvn-dug-compare-revs\"/>."
msgstr ""
"如果你在文件夹的版本日志中这样做,就会出现一个比较版本对话框,显示此文件夹的文"
"件修改列表。阅读<xref linkend=\"tsvn-dug-compare-revs\"/>以便获得更多信息。"

#. (term)
msgid "All changes made in a commit"
msgstr "提交所有修改"

#. (para)
msgid ""
"If you want to see the changes made to all files in a particular revision in "
"one view, you can use Unified-Diff output (GNU patch format). This shows only "
"the differences with a few lines of context. It is harder to read than a "
"visual file compare, but will show all the changes together. From the "
"Revision Log dialog select the revision of interest, then select "
"<guimenuitem>Show Differences as Unified-Diff</guimenuitem> from the context "
"menu."
msgstr ""
"如果你要在一个视窗中查看某一版本的所有更改,你可以使用统一显示所有比较 (GNU 片"
"段整理)。它将显示所有修改中的部分内容。它很难显示一个全面清晰的比较,但是会将"
"所有更改都集中显示出来。在版本日志对话框中选择某一版本,然后在右键菜单中选择"
"<guimenuitem>统一显示所有比较</guimenuitem>。"

#. (term)
msgid "Difference between files"
msgstr "文件差异"

#. (para)
msgid ""
"If you want to see the differences between two different files, you can do "
"that directly in explorer by selecting both files (using the usual "
"<keycap>Ctrl</keycap>-modifier). Then from the explorer context menu select "
"<menuchoice><guimenu>TortoiseSVN</guimenu><guimenuitem>Diff</guimenuitem></"
"menuchoice>."
msgstr ""
"如果你要查看两个不同文件之间的差异,你可以直接在资源管理器中选择这两个文件(一"
"般使用 <keycap>Ctrl</keycap>-modifier),然后右键菜单中选"
"<menuchoice><guimenu>TortoiseSVN</guimenu><guimenuitem>比较差异</"
"guimenuitem></menuchoice>。"

#. (term)
msgid "Difference between WC file/folder and a URL"
msgstr "WC文件/文件夹与URL之间的比较差异"

#. (para)
#, fuzzy
msgid ""
"If you want to see the differences between a file in your working copy, and a "
"file in any Subversion repository, you can do that directly in explorer by "
"selecting the file then holding down the <keycap>Shift</keycap> key whilst "
"right clicking to obtain the context menu. Select "
"<menuchoice><guimenu>TortoiseSVN</guimenu><guimenuitem>Diff with URL</"
"guimenuitem></menuchoice>. You can do the same thing for a working copy "
"folder. TortoiseMerge shows these differences in the same way as it shows a "
"patch file - a list of changed files which you can view one at a time."
msgstr "如果你要查看你本地副本中的任一文件与版本库中任一文件之间差异,"

#. (term)
msgid "Difference with blame information"
msgstr "追溯信息之间的比较差异"

#. (para)
msgid ""
"If you want to see not only the differences but also the author, revision and "
"date that changes were made, you can combine the diff and blame reports from "
"within the revision log dialog. Read <xref linkend=\"tsvn-dug-blame-diffs\"/> "
"for more detail."
msgstr ""
"如果你要查看的不仅是比较差异而且包括修改该版本的作者,版本号和日期,你可以在版"
"本日志对话框中综合比较差异和谴责信息。这里有更多详细介绍<xref linkend=\"tsvn-"
"dug-blame-diffs\"/>。"

#. (term)
msgid "Difference between folders"
msgstr "比较文件夹差异"

#. (para)
msgid ""
"The built-in tools supplied with TortoiseSVN do not support viewing "
"differences between directory hierarchies. But if you have an external tool "
"which does support that feature, you can use that instead. In <xref linkend="
"\"tsvn-dug-diff-tools\"/> we tell you about some tools which we have used."
msgstr ""
"TortoiseSVN 自带的内置工具不支持查看多级目录之间的差异,但你可以使用支持该功能"
"的外置工具来替代。在 <xref linkend=\"tsvn-dug-diff-tools\"/> 介绍了一些我们使"
"用过的工具。"

#. (para)
msgid ""
"If you have configured a third party diff tool, you can use <keycap>Shift</"
"keycap> when selecting the Diff command to use the alternate tool. Read <xref "
"linkend=\"tsvn-dug-settings-progs\"/> to find out about configuring other "
"diff tools."
msgstr ""

#. (title)
msgid "Line-end and Whitespace Options"
msgstr "行结束符和空白选项"

#. (para)
msgid ""
"Sometimes in the life of a project you might change the line endings from "
"<literal>CRLF</literal> to <literal>LF</literal>, or you may change the "
"indentation of a section. Unfortunately this will mark a large number of "
"lines as changed, even though there is no change to the meaning of the code. "
"The options here will help to manage these changes when it comes to comparing "
"and applying differences. You will see these settings in the <guilabel>Merge</"
"guilabel> and <guilabel>Blame</guilabel> dialogs, as well as in the settings "
"for TortoiseMerge."
msgstr ""

#. (para)
msgid ""
"<guilabel>Ignore line endings</guilabel> excludes changes which are due "
"solely to difference in line-end style."
msgstr "<guilabel>忽略行结束符</guilabel>排除仅行结束符的差异。"

#. (para)
msgid ""
"<guilabel>Compare whitespaces</guilabel> includes all changes in indentation "
"and inline whitespace as added/removed lines."
msgstr ""
"<guilabel>比较空白</guilabel>将所有缩进和行内空白差异视为增加/删除的行。"

#. (para)
msgid ""
"<guilabel>Ignore whitespace changes</guilabel> excludes changes which are due "
"solely to a change in the amount or type of whitespace, eg. changing the "
"indentation or changing tabs to spaces. Adding whitespace where there was "
"none before, or removing a whitespace completely is still shown as a change."
msgstr ""

#. (para)
msgid ""
"<guilabel>Ignore all whitespaces</guilabel> excludes all whitespace-only "
"changes."
msgstr "<guilabel>忽略所有空白</guilabel>排除仅空白改变的差异。"

#. (para)
msgid "Naturally, any line with changed content is always included in the diff."
msgstr "自然的,任何已经修改内容的行永远都包含在差异中。"

#. (title)
msgid "Comparing Folders"
msgstr "比较文件夹"

#. (primary)
msgid "compare revisions"
msgstr "比较两个修订版本"

#. (primary)
msgid "export changes"
msgstr "导出修改"

#. (title)
msgid "The Compare Revisions Dialog"
msgstr "修订版本版本比较对话框"

#. (para)
msgid ""
"<placeholder-1/> When you select two trees within the repository browser, or "
"when you select two revisions of a folder in the log dialog, you can "
"<menuchoice><guimenu>Context menu</guimenu><guimenuitem>Compare revisions</"
"guimenuitem></menuchoice>."
msgstr ""
"<placeholder-1/> 当你在版本库浏览器中选择了两个树,或者在日志对话框中选择了一"
"个文件夹的两个版本,就可以使用<menuchoice><guimenu>上下文菜单</"
"guimenu><guimenuitem>比较版本</guimenuitem></menuchoice>。"

#. (para)
msgid ""
"This dialog shows a list of all files which have changed and allows you to "
"compare or blame them individually using context menu."
msgstr ""
"这个对话框显示一个所有已经修改的文件列表,允许你使用邮件菜单单独的比较或回溯它"
"们。"

#. (para)
msgid ""
"You can export a <emphasis>change tree</emphasis>, which is useful if you "
"need to send someone else your project tree structure, but containing only "
"the files which have changed. This operation works on the selected files "
"only, so you need to select the files of interest - usually that means all of "
"them - and then <menuchoice><guimenu>Context menu</"
"guimenu><guimenuitem>Export selection to...</guimenuitem></menuchoice>. You "
"will be prompted for a location to save the change tree."
msgstr ""

#. (para)
#, fuzzy
msgid ""
"You can also export the <emphasis>list</emphasis> of changed files to a text "
"file using <menuchoice><guimenu>Context menu</guimenu><guimenuitem>Save list "
"of selected files to...</guimenuitem></menuchoice>."
msgstr ""
"你也可以使用 <menuchoice><guimenu>编辑</guimenu><guimenuitem>转到行 ...</"
"guimenuitem></menuchoice> 来跳到指定行。"

#. (para)
#, fuzzy
msgid ""
"If you want to export the list of files <emphasis>and</emphasis> the actions "
"(modified, added, deleted) as well, you can do that using "
"<menuchoice><guimenu>Context menu</guimenu><guimenuitem>Copy selection to "
"clipboard</guimenuitem></menuchoice>."
msgstr ""
"如果你需要导出文件列表<emphasis>和</emphasis>和动作(修改,增加,删除),你可以"
"使用快捷键<action>Ctrl-A</action>选择所有项,用<action>Ctrl-C</action>将详细列"
"表复制到剪贴板。"

#. (para)
msgid ""
"The button at the top allows you to change the direction of comparison. You "
"can show the changes need to get from A to B, or if you prefer, from B to A."
msgstr ""
"顶部的按钮允许你改变比较的方向。你可以显示从A到B的修改,或者如果你喜欢,显示从"
"B到A的修改。"

#. (para)
msgid ""
"The buttons with the revision numbers on can be used to change to a different "
"revision range. When you change the range, the list of items which differ "
"between the two revisions will be updated automatically."
msgstr ""
"有版本数字的按钮可以用来改变版本范围。当你改变范围时,两个版本不同的项目列表会"
"自动更新。"

#. (para)
msgid ""
"If the list of filenames is very long, you can use the search box to reduce "
"the list to filenames containing specific text. Note that a simple text "
"search is used, so if you want to restrict the list to C source files you "
"should enter <filename>.c</filename> rather than <filename>*.c</filename>."
msgstr ""

#. (title)
msgid "Diffing Images Using TortoiseIDiff"
msgstr "使用 TortoiseIDiff 进行比较的图像"

#. (primary)
msgid "image diff"
msgstr "图像比较"

#. (primary)
msgid "TortoiseIDiff"
msgstr "TortoiseIDiff"

#. (para)
msgid ""
"There are many tools available for diffing text files, including our own "
"TortoiseMerge, but we often find ourselves wanting to see how an image file "
"has changed too. That's why we created TortoiseIDiff."
msgstr ""
"我们有许多有用的比较文本文件的工具,包括我们自带的TortoiseMerge,但是我们也需"
"要查看图像文件的更改。这就是我们设计TortoiseIDiff的原因。"

#. (title)
msgid "The image difference viewer"
msgstr "差异察看器截图"

#. (para)
msgid ""
"<placeholder-1/><menuchoice><guimenu>TortoiseSVN</guimenu><guimenuitem>Diff</"
"guimenuitem></menuchoice> for any of the common image file formats will start "
"TortoiseIDiff to show image differences. By default the images are displayed "
"side-by-side but you can use the View menu or toolbar to switch to a top-"
"bottom view instead, or if you prefer, you can overlay the images and pretend "
"you are using a lightbox."
msgstr ""
"<placeholder-1/><menuchoice><guimenu>TortoiseSVN</guimenu><guimenuitem>比较差"
"异</guimenuitem></menuchoice> 会启动 TortoiseIDiff 显示常用格式的图像差异。一"
"般情况下是左右对称地显示两个图像,但你也可以通过视图菜单或者工具栏切换为上下显"
"示的模式,或者如果你愿意,也可以重叠显示图像。"

#. (para)
#, fuzzy
msgid ""
"Naturally you can also zoom in and out and pan around the image. You can also "
"pan the image simply by left-dragging it. If you select the <guilabel>Link "
"images together</guilabel> option, then the pan controls (scrollbars, "
"mousewheel) on both images are linked."
msgstr ""
"当然你也可以放大和缩小,或者拉伸图像。你也可以简单的通过左拖组合图像。如果你选"
"择<guilabel>连接图像</guilabel>,则被选择(滑动条,鼠标)的两个图像就被关联起"
"来。"

#. (para)
#, fuzzy
msgid ""
"An image info box shows details about the image file, such as the size in "
"pixels, resolution and colour depth. If this box gets in the way, use "
"<menuchoice><guimenu>View</guimenu><guimenuitem>Image Info</guimenuitem></"
"menuchoice> to hide it. You can get the same information in a tooltip if you "
"hover the mouse over the image title bar."
msgstr ""
"在图像信息框中显示了图像的基本信息,比如像素的大小,颜色的深度。如果觉得这个框"
"碍眼可以选择<menuchoice><guimenu>视图</guimenu><guimenuitem>图像信息</"
"guimenuitem></menuchoice>来隐藏它"

#. (para)
#, fuzzy
msgid ""
"When the images are overlaid, the relative intensity of the images (alpha "
"blend) is controlled by a slider control at the left side. You can click "
"anywhere in the slider to set the blend directly, or you can drag the slider "
"to change the blend interactively. <keycap>Ctrl+Shift</keycap>-<action>Wheel</"
"action> to change the blend."
msgstr ""
"当图像重载时,其亮度(alpha 混合)由左边的滑杆控制。你可以在滑杆的任意地方点击,"
"直接设置混合参数,或者通过拖曳滑板来交互改变。<action>Ctrl-Shift-Wheel</"
"action>也可以改变混合。"

#. (para)
msgid ""
"The button above the slider toggles between 0% and 100% blends, and if you "
"double click the button, the blend toggles automatically every second until "
"you click the button again. This can be useful when looking for multiple "
"small changes."
msgstr ""

#. (para)
msgid ""
"Sometimes you want to see a difference rather than a blend. You might have "
"the image files for two revisions of a printed circuit board and want to see "
"which tracks have changed. If you disable alpha blend mode, the difference "
"will be shown as an <emphasis>XOR</emphasis> of the pixel colour values. "
"Unchanged areas will be plain white and changes will be coloured."
msgstr ""

#. (title)
msgid "External Diff/Merge Tools"
msgstr "其他的比较/合并工具"

#. (primary)
msgid "diff tools"
msgstr "差异比较工具"

#. (primary)
msgid "merge tools"
msgstr "合并工具"

#. (para)
msgid ""
"If the tools we provide don't do what you need, try one of the many open-"
"source or commercial programs available. Everyone has their own favourites, "
"and this list is by no means complete, but here are a few that you might "
"consider:"
msgstr ""
"如果我们提供的这些工具不是你所需要的,可以尝试使用一些其他开源的或者商业的软"
"件。每个人都有不同喜好,下面列表虽不完全,或许有些你也会认可的: "

#. (term)
msgid "WinMerge"
msgstr "WinMerge"

#. (para)
msgid ""
"<ulink url=\"http://winmerge.sourceforge.net/\"><citetitle>WinMerge</"
"citetitle></ulink> is a great open-source diff tool which can also handle "
"directories."
msgstr ""
"<ulink url=\"http://winmerge.sourceforge.net/\"><citetitle>WinMerge</"
"citetitle></ulink>WinMerge也是一款很好的能处理目录的开源软件。"

#. (term)
msgid "Perforce Merge"
msgstr "Perforce Merge"

#. (para)
msgid ""
"Perforce is a commercial RCS, but you can download the diff/merge tool for "
"free. Get more information from <ulink url=\"http://www.perforce.com/perforce/"
"products/merge.html\"><citetitle>Perforce</citetitle></ulink>."
msgstr ""
"Perforce 是一款商业 RCS,但是你也可以免费下载到。可以从<ulink url=\"http://"
"www.perforce.com/perforce/products/merge.html\"><citetitle>Perforce</"
"citetitle></ulink>获得更多信息。"

#. (term)
msgid "KDiff3"
msgstr "KDiff3"

#. (para)
msgid ""
"KDiff3 is a free diff tool which can also handle directories. You can "
"download it from <ulink url=\"http://kdiff3.sf.net/\"><citetitle>here</"
"citetitle></ulink>."
msgstr ""
"KDiff3也是一款能处理目录的免费比较工具。你可以从<ulink url=\"http://kdiff3.sf."
"net/\"><citetitle>here</citetitle></ulink>下载。"

#. (term)
msgid "ExamDiff"
msgstr "ExamDiff"

#. (para)
msgid ""
"ExamDiff Standard is freeware. It can handle files but not directories. "
"ExamDiff Pro is shareware and adds a number of goodies including directory "
"diff and editing capability. In both flavours, version 3.2 and above can "
"handle unicode. You can download them from <ulink url=\"http://www.prestosoft."
"com/\"><citetitle>PrestoSoft</citetitle></ulink>."
msgstr ""
"ExamDiff Standard是免费软件。它能处理文件但不能处理目录。ExamDiff Pro是共享软"
"件,拥有一系列的功能包括目录比较和编辑的能力。对于以上体验,3.2及以上版本能处"
"理二进制。你可以从<ulink url=\"http://www.prestosoft.com/"
"\"><citetitle>PrestoSoft</citetitle></ulink>下载它们。"

#. (term)
msgid "Beyond Compare"
msgstr "Beyond Compare"

#. (para)
msgid ""
"Similar to ExamDiff Pro, this is an excellent shareware diff tool which can "
"handle directory diffs and unicode. Download it from <ulink url=\"http://www."
"scootersoftware.com/\"><citetitle>Scooter Software</citetitle></ulink>."
msgstr ""
"和ExamDiff Pro一样,这也是一款很不错的共享软件,同样也能进行目录比较和二进制处"
"理。下载地址<ulink url=\"http://www.scootersoftware.com/\"><citetitle>Scooter "
"Software</citetitle></ulink>。"

#. (term)
msgid "Araxis Merge"
msgstr "Araxis Merge"

#. (para)
#, fuzzy
msgid ""
"Araxis Merge is a useful commercial tool for diff and merging both files and "
"folders. It does three-way comparison in merges and has synchronization links "
"to use if you've changed the order of functions. Download it from <ulink url="
"\"http://www.araxis.com/merge/index.html\"><citetitle>Araxis</citetitle></"
"ulink>."
msgstr ""
"Araxis Merge是一款能对文件和文件夹进行比较和合并的商业软件。它从三条比较路径进"
"行合并,而且在你修改的同时进行及时有效的链接。可以从这里下载<ulink url="
"\"http://www.araxis.com/merge/index.html\"><citetitle>Araxis</citetitle></"
"ulink>。"

#. (term)
msgid "SciTE"
msgstr "SciTE"

#. (para)
msgid ""
"This text editor includes syntax colouring for unified diffs, making them "
"much easier to read. Download it from <ulink url=\"http://www.scintilla.org/"
"SciTEDownload.html\"><citetitle>Scintilla</citetitle></ulink>."
msgstr ""
"这款文本编译器在统一比较时提供语法显示,读起来更加容易。可以从这里下载<ulink "
"url=\"http://www.scintilla.org/SciTEDownload.html\"><citetitle>Scintilla</"
"citetitle></ulink>。"

#. (term)
msgid "Notepad2"
msgstr "Notepad2"

#. (para)
msgid ""
"Notepad2 is designed as a replacement for the standard Windows Notepad "
"program, and is based on the Scintilla open-source edit control. As well as "
"being good for viewing unified diffs, it is much better than the Windows "
"notepad for most jobs. Download it for free <ulink url=\"http://www.flos-"
"freeware.ch/notepad2.html\"><citetitle>here</citetitle></ulink>."
msgstr ""
"Notepad2的设计旨在替代 Windows自带的记事本的功能,它以开源编译控制为基础。在查"
"看统一比较时,它能实现比Windows自带的记事本更多功能。免费下载<ulink url="
"\"http://www.flos-freeware.ch/notepad2.html\"><citetitle>here</citetitle></"
"ulink>。"

#. (para)
msgid ""
"Read <xref linkend=\"tsvn-dug-settings-progs\"/> for information on how to "
"set up TortoiseSVN to use these tools."
msgstr ""
"<xref linkend=\"tsvn-dug-settings-progs\"/>这里可以了解到怎样起用TortoiseSVN来"
"使用这些工具。"

#. (title)
msgid "Adding New Files And Directories"
msgstr "添加新文件和目录"

#. (primary)
msgid "add"
msgstr "增加"

#. (primary)
msgid "version new files"
msgstr ""

#. (title)
#. (title)
msgid "Explorer context menu for unversioned files"
msgstr "未受版本控制的文件之资源管理器上下文菜单"

#. (para)
msgid ""
"<placeholder-1/> If you created new files and/or directories during your "
"development process then you need to add them to source control too. Select "
"the file(s) and/or directory and use <menuchoice><guimenu>TortoiseSVN</"
"guimenu><guimenuitem>Add</guimenuitem></menuchoice>."
msgstr ""
"<placeholder-1/>如果在你的开发过程中你创建了新的文件或目录,那么你需要把他们加"
"入你的版本控制中。选择那个文件或目录并使用<menuchoice><guimenu>TortoiseSVN</"
"guimenu><guimenuitem>添加(Add)</guimenuitem></menuchoice>."

#. (para)
msgid ""
"After you added the files/directories to source control the file appears with "
"a <literal>added</literal> icon overlay which means you first have to commit "
"your working copy to make those files/directories available to other "
"developers. Adding a file/directory does <emphasis>not</emphasis> affect the "
"repository!"
msgstr ""
"当你添加了指定的文件/目录到版本控制系统之后,这个文件上会出现一个"
"<literal>added</literal>标志,这意味着你得先提交你的工作副本使该文件/目录对其"
"他开发者来说成为有效的。添加一个文件/目录不会<emphasis>not</emphasis>影响版本"
"库"

#. (title)
msgid "Many Adds"
msgstr "更多"

#. (para)
#, fuzzy
msgid ""
"You can also use the Add command on already versioned folders. In that case, "
"the add dialog will show you all unversioned files inside that versioned "
"folder. This helps if you have many new files and need to add them all at "
"once."
msgstr ""
"你也可以在已经版本控制的目录上使用Add命令。那样的话,添加对话框会显示该版本控"
"制目录下所有未版本控制的文件。如果你有许多新文件需要一起添加的话,这是很有帮助"
"的。"

#. (para)
msgid "select the files you want to add"
msgstr "选择你要添加的文件"

#. (para)
#. (para)
msgid ""
"<action>right-drag</action> them to the new location inside the working copy"
msgstr "<action>拖拽(right-drag)</action>他们到新的工作副本下,"

#. (para)
#. (para)
msgid "release the right mouse button"
msgstr "松开鼠标右键"

#. (para)
msgid ""
"select <menuchoice><guimenu>Context Menu</guimenu><guimenuitem>SVN Add files "
"to this WC</guimenuitem></menuchoice>. The files will then be copied to the "
"working copy and added to version control."
msgstr ""
"选择<menuchoice><guimenu>上下文菜单</guimenu><guimenuitem>SVN 增加文件到工作副"
"本</guimenuitem></menuchoice>。这些文件会被复制到工作副本,加入版本控制。"

#. (para)
msgid ""
"To add files from outside your working copy you can use the drag-and-drop "
"handler: <placeholder-1/>"
msgstr "你可以使用鼠标拖拽的方式从你的工作副本外部添加进文件。<placeholder-1/>"

#. (para)
msgid ""
"You can also add files within a working copy simply by left-dragging and "
"dropping them onto the commit dialog."
msgstr "你可以在工作副本中通过左拖,将文件放到提交对话框中,来增加文件。"

#. (para)
#, fuzzy
msgid ""
"If you add a file or folder by mistake, you can undo the addition before you "
"commit using <menuchoice><guimenu>TortoiseSVN</guimenu><guimenuitem>Undo "
"add...</guimenuitem></menuchoice>."
msgstr ""
"在工作副本上选择<menuchoice><guimenu>TortoiseSVN</guimenu><guimenuitem>合并</"
"guimenuitem></menuchoice>。"

#. (title)
#, fuzzy
msgid "Copying/Moving/Renaming Files and Folders"
msgstr "复制已存在的文件和目录"

#. (primary)
msgid "copy files"
msgstr "复制文件"

#. (primary)
msgid "rename files"
msgstr "改名文件"

#. (primary)
msgid "move files"
msgstr "移动文件"

#. (primary)
#. (primary)
msgid "branch"
msgstr "分支"

#. (primary)
#. (primary)
msgid "tag"
msgstr "标记"

#. (para)
msgid ""
"It often happens that you already have the files you need in another project "
"in your repository, and you simply want to copy them across. You could simply "
"copy the files and add them as described above, but that would not give you "
"any history. And if you subsequently fix a bug in the original files, you can "
"only merge the fix automatically if the new copy is related to the original "
"in Subversion."
msgstr ""
"经常发生其它项目需要使用某个项目文件的情况,你只想简单的复制它们。你可以使用上"
"述方法复制这些文件,然后增加到版本库,但是这种方法不会给你任何历史信息。并且当"
"你修改了原始文件的问题后,你只能在那些原始文件与新副本在同一个 Subversion 版本"
"库的情况下自动合并修改。"

#. (para)
msgid ""
"The easiest way to copy files and folders from within a working copy is to "
"use the right-drag menu. When you <action>right-drag</action> a file or "
"folder from one working copy to another, or even within the same folder, a "
"context menu appears when you release the mouse. <placeholder-1/> Now you can "
"copy existing versioned content to a new location, possibly renaming it at "
"the same time."
msgstr ""
"在工作副本中复制文件和目录的最简单的方法是使用右拖菜单。当你从一个工作副本"
"<action>右拖</action>文件或目录到另一个工作副本,甚至是在同一个目录中,当你释"
"放鼠标时,就会出现一个上下文菜单。<placeholder-1/> 现在你可以复制受版本控制的"
"内容到新位置,可能同时有改名操作。"

#. (para)
msgid ""
"You can also copy or move versioned files within a working copy, or between "
"two working copies, using the familiar cut-and-paste method. Use the standard "
"Windows <action>Copy</action> or <action>Cut</action> to copy one or more "
"versioned items to the clipboard. If the clipboard contains such versioned "
"items, you can then use <menuchoice><guimenu>TortoiseSVN</"
"guimenu><guimenuitem>Paste</guimenuitem></menuchoice> (note: not the standard "
"Windows <action>Paste</action>) to copy or move those items to the new "
"working copy location."
msgstr ""

#. (para)
#, fuzzy
msgid ""
"You can copy files and folders from your working copy to another location in "
"the repository using <menuchoice><guimenu>TortoiseSVN</"
"guimenu><guimenuitem>Branch/Tag</guimenuitem></menuchoice>. Refer to <xref "
"linkend=\"tsvn-dug-branch-1\"/> to find out more."
msgstr ""
"你要在同一个版本库中切换一个分支或目录。这么做你可以用"
"<menuchoice><guimenu>TortoiseSVN</guimenu><guimenuitem>切换...</guimenuitem></"
"menuchoice>. "

#. (para)
#, fuzzy
msgid ""
"You can locate an older version of a file or folder in the log dialog and "
"copy it to a new location in the repository directly from the log dialog "
"using <menuchoice><guimenu>Context menu</guimenu><guimenuitem>Create branch/"
"tag from revision</guimenuitem></menuchoice>. Refer to <xref linkend=\"tsvn-"
"dug-showlog-2\"/> to find out more."
msgstr ""
"你要在同一个版本库中切换一个分支或目录。这么做你可以用"
"<menuchoice><guimenu>TortoiseSVN</guimenu><guimenuitem>切换...</guimenuitem></"
"menuchoice>. "

#. (para)
#, fuzzy
msgid ""
"You can also use the repository browser to locate content you want, and copy "
"it into your working copy directly from the repository, or copy between two "
"locations within the repository. Refer to <xref linkend=\"tsvn-dug-repobrowser"
"\"/> to find out more."
msgstr ""
"你也可以使用版本库浏览器定位内容,直接从版本库复制到你的工作副本中。参见 "
"<xref linkend=\"tsvn-dug-repobrowser\"/> 以获得更多信息。"

#. (title)
#, fuzzy
msgid "Cannot copy between repositories"
msgstr "外部版本库"

#. (para)
msgid ""
"Whilst you can copy and files and folders <emphasis>within</emphasis> a "
"repository, you <emphasis>cannot</emphasis> copy or move from one repository "
"to another while preserving history using TortoiseSVN. Not even if the "
"repositories live on the same server. All you can do is copy the content in "
"its current state and add it as new content to the second repository."
msgstr ""

#. (para)
msgid ""
"If you are uncertain whether two URLs on the same server refer to the same or "
"different repositories, use the repo browser to open one URL and find out "
"where the repository root is. If you can see both locations in one repo "
"browser window then they are in the same repository."
msgstr ""

#. (title)
msgid "Ignoring Files And Directories"
msgstr "忽略文件和目录"

#. (primary)
msgid "ignore"
msgstr "忽略"

#. (primary)
#, fuzzy
msgid "unversioned files/folders"
msgstr "已删除文件/文件夹"

#. (para)
#, fuzzy
msgid ""
"<placeholder-1/> In most projects you will have files and folders that should "
"not be subject to version control. These might include files created by the "
"compiler, <filename>*.obj, *.lst</filename>, maybe an output folder used to "
"store the executable. Whenever you commit changes, TortoiseSVN shows your "
"unversioned files, which fills up the file list in the commit dialog. Of "
"course you can turn off this display, but then you might forget to add a new "
"source file."
msgstr ""
"<placeholder-1/>在多数项目中你总会有文件和目录不需要进行版本控制。这可能包括一"
"些由编译器生成的文件,<filename>*.obj,*.lst</filename>。或许是一个外部的用于存"
"放可执行程序的目录。只要你提交变更,TSVN就会在提交对话框的文件列表中列表显示出"
"你的未版本控制文件。当然你可以关闭这个显示,不过你可能会忘记添加新的版本文件。"

#. (para)
msgid ""
"The best way to avoid these problems is to add the derived files to the "
"project's ignore list. That way they will never show up in the commit dialog, "
"but genuine unversioned source files will still be flagged up."
msgstr ""
"最好的避免类似问题的方法是添加参考文件到该项目的忽略列表。这样他们就永远不会出"
"现在提交对话框中,而真正的未版本控制文件则仍然列出。"

#. (para)
msgid ""
"If you <action>right click</action> on a single unversioned file, and select "
"the command <menuchoice><guimenu>TortoiseSVN</guimenu><guimenuitem>Add to "
"Ignore List</guimenuitem></menuchoice> from the context menu, a submenu "
"appears allowing you to select just that file, or all files with the same "
"extension. If you select multiple files, there is no submenu and you can only "
"add those specific files/folders."
msgstr ""
"如果你<action>右键</action>一个单独的未版本控制文件,并从菜单栏选择"
"<menuchoice><guimenu>TortoiseSVN</guimenu><guimenuitem>(加入忽略列表)Add to "
"Ignore List</guimenuitem></menuchoice>,会出现一个子菜单允许你仅选择该文件,或"
"者所有具有相同后缀的文件。如果你选择多种文件,那么就没有子菜单了,你仅能添加这"
"些特定的文件/目录。"

#. (para)
msgid ""
"If you want to remove one or more items from the ignore list, <action>right "
"click</action> on those items and select <menuchoice><guimenu>TortoiseSVN</"
"guimenu><guimenuitem>Remove from Ignore List</guimenuitem></menuchoice> You "
"can also access a folder's <literal>svn:ignore</literal> property directly. "
"That allows you to specify more general patterns using filename globbing, "
"described in the section below. Read <xref linkend=\"tsvn-dug-propertypage\"/"
"> for more information on setting properties directly. Please be aware that "
"each ignore pattern has to be placed on a separate line. Separating them by "
"spaces does not work."
msgstr ""
"如果你想从忽略列表中移除一个或多个条目,<action>右击</action>这些条目,选择"
"<menuchoice><guimenu>TortoiseSVN</guimenu><guimenuitem>从忽略列表删除</"
"guimenuitem></menuchoice>。你也可以直接存取目录的<literal>svn:ignore</literal>"
"属性。它允许你使用文件匹配来指定多个模式,这在下面的章节叙述,阅读<xref "
"linkend=\"tsvn-dug-propertypage\"/>获得更多关于直接设置属性的信息。请注意每个"
"忽略模式占一行,不支持使用空格分割。"

#. (title)
msgid "The Global Ignore List"
msgstr "全局忽略列表"

#. (para)
msgid ""
"Another way to ignore files is to add them to the <firstterm>global ignore "
"list</firstterm>. The big difference here is that the global ignore list is a "
"client property. It applies to <emphasis>all</emphasis> Subversion projects, "
"but on the client PC only. In general it is better to use the <filename>svn:"
"ignore</filename> property where possible, because it can be applied to "
"specific project areas, and it works for everyone who checks out the project. "
"Read <xref linkend=\"tsvn-dug-settings-main\"/> for more information."
msgstr ""
"另一个忽略文件的方法是添加这些文件到<firstterm>global ignore list </"
"firstterm>.他们最大的不同是全局忽略列表是一个客户端特性。它会作用到<emphasis> "
"所有的(all)</emphasis>subversion 项目。但只能在pc客户端使用。在全局尽可能更好"
"的使用<filename>svn:ignore</filename>特性,因为他能够应用到特殊的项目区域,并"
"却他作用于所有检出该项目的人。阅读<xref linkend=\"tsvn-dug-settings-main\"/>获"
"得更多信息。"

#. (title)
msgid "Ignoring Versioned Items"
msgstr "忽略已版本控制的条目"

#. (para)
msgid ""
"Versioned files and folders can never be ignored - that's a feature of "
"Subversion. If you versioned a file by mistake, read <xref linkend=\"tsvn-"
"howto-unversion\"/> for instructions on how to <quote>unversion</quote> it."
msgstr ""
"已版本控制的文件或目录不能够忽略,这是subversion的一个特性。如果你错误的版本控"
"制了一个文件,阅读<xref linkend=\"tsvn-howto-unversion\"/>介绍怎样<quote>取消"
"版本控制(unversion)</quote>。"

#. (title)
msgid "Pattern Matching in Ignore Lists"
msgstr "忽略列表中的模式匹配"

#. (primary)
msgid "globbing"
msgstr "globbing"

#. (primary)
msgid "pattern matching"
msgstr "模式匹配"

#. (term)
msgid "*"
msgstr "*"

#. (para)
msgid ""
"Matches any string of characters, including the empty string (no characters)."
msgstr "匹配任何字符串,包括空串(没有字符)"

#. (term)
msgid "?"
msgstr "?"

#. (para)
msgid "Matches any single character."
msgstr "匹配任何单字符"

#. (term)
msgid "[...]"
msgstr "[...]"

#. (para)
msgid ""
"Matches any one of the characters enclosed in the square brackets. Within the "
"brackets, a pair of characters separated by <quote>-</quote> matches any "
"character lexically between the two. For example <literal>[AGm-p]</literal> "
"matches any one of <literal>A</literal>, <literal>G</literal>, <literal>m</"
"literal>, <literal>n</literal>, <literal>o</literal> or <literal>p</literal>."
msgstr ""
"匹配任何单在方括号[]内的单字符,在方括号内,一对字符被<quote>-</quote>分隔,匹"
"配任何词汇表(lexically)上在他们中间的字符。例如<literal>[AGm-p]</literal>匹配"
"任何但个的<literal>A</literal>,<literal>G</literal>,<literal>m</literal>,"
"<literal>n</literal>,<literal>o</literal>或者<literal>p</literal>。"

#. (para)
msgid ""
"Subversion's ignore patterns make use of filename globbing, a technique "
"originally used in Unix to specify files using meta-characters as wildcards. "
"The following characters have special meaning: <placeholder-1/>"
msgstr ""
"Subversion 的忽略模式使用了文件匹配,一种原先在Unix系统中使用meta字符作为通配"
"符的技术。下面的字符有着特殊的意思: <placeholder-1/>"

#. (para)
msgid ""
"Pattern matching is case sensitive, which can cause problems on Windows. You "
"can force case insensitivity the hard way by pairing characters, eg. to "
"ignore <literal>*.tmp</literal> regardless of case, you could use a pattern "
"like <literal>*.[Tt][Mm][Pp]</literal>."
msgstr ""
"模式匹配是大小写敏感的,这在windows平台下会出问题。你可以要比较的字符硬性的强"
"制忽略大小写。例如,忽略不记<literal>*.tmp</literal>的大小写。那么你可以使用像"
"<literal>*.[Tt][Mm][Pp]</literal>这样的模式。"

#. (para)
msgid ""
"If you want an official definition for globbing, you can find it in the IEEE "
"specifications for the shell command language <ulink url=\"http://www."
"opengroup.org/onlinepubs/009695399/utilities/xcu_chap02.html#tag_02_13"
"\"><citetitle>Pattern Matching Notation</citetitle></ulink>."
msgstr ""
"如果你想要定义一个特殊的忽略规则。你可以在关于shell命令行语言的IEEE规范中找到"
"<ulink url=\"http://www.opengroup.org/onlinepubs/009695399/utilities/"
"xcu_chap02.html#tag_02_13\"><citetitle>Pattern Matching Notation</citetitle></"
"ulink>。"

#. (title)
#, fuzzy
msgid "No Paths in Global Ignore List"
msgstr "全局忽略列表"

#. (para)
msgid ""
"You should not include path information in your pattern. The pattern matching "
"is intended to be used against plain file names and folder names. If you want "
"to ignore all <literal>CVS</literal> folders, just add <literal>CVS</literal> "
"to the ignore list. There is no need to specify <literal>CVS */CVS</literal> "
"as you did in earlier versions. If you want to ignore all <literal>tmp</"
"literal> folders when they exist within a <literal>prog</literal> folder but "
"not within a <literal>doc</literal> folder you should use the <literal>svn:"
"ignore</literal> property instead. There is no reliable way to achieve this "
"using global ignore patterns."
msgstr ""

#. (title)
msgid "Deleting, Moving and Renaming"
msgstr "删除、移动和改名"

#. (title)
msgid "Explorer context menu for versioned files"
msgstr "版本控制文件的菜单浏览"

#. (para)
msgid ""
"Unlike CVS, Subversion allows renaming and moving of files and folders. So "
"there are menu entries for delete and rename in the TortoiseSVN submenu. "
"<placeholder-1/>"
msgstr ""
"不像CVS,Subversion允许重命名和移动文件和目录。因此在TortoiseSVN 的子菜单中有删"
"除和重命名的菜单项。<placeholder-1/>"

#. (title)
msgid "Deleting files and folders"
msgstr "正在删除文件/文件夹"

#. (primary)
msgid "delete"
msgstr "删除"

#. (primary)
msgid "remove"
msgstr "删除"

#. (para)
#, fuzzy
msgid ""
"Use <menuchoice><guimenu>TortoiseSVN</guimenu><guimenuitem>Delete</"
"guimenuitem></menuchoice> to remove files or folders from subversion."
msgstr ""
"<menuchoice><guimenu>TortoiseSVN</guimenu><guimenuitem>提交</guimenuitem></"
"menuchoice>父目录。"

#. (para)
#, fuzzy
msgid ""
"When you <menuchoice><guimenu>TortoiseSVN</guimenu><guimenuitem>Delete</"
"guimenuitem></menuchoice> a file, it is removed from your working copy "
"immediately as well as being marked for deletion in the repository on next "
"commit. The file's parent folder shows a <quote>deleted</quote> icon overlay. "
"Up until you commit the change, you can get the file back using "
"<menuchoice><guimenu>TortoiseSVN</guimenu><guimenuitem>Revert</guimenuitem></"
"menuchoice> on the parent folder."
msgstr ""
"如果你通过TSVN删除了一个文件/目录,吗呢这个文件被移出你的工作副本并标记为删"
"除。该文件的父目录会覆盖上一个\"删除\"标记。你随时可以通过在父目录调用"
"<menuchoice><guimenu>TortoiseSVN</guimenu><guimenuitem>Revert</guimenuitem></"
"menuchoice>命令来恢复该文件。"

#. (para)
#, fuzzy
msgid ""
"When you <menuchoice><guimenu>TortoiseSVN</guimenu><guimenuitem>Delete</"
"guimenuitem></menuchoice> a folder, it remains in your working copy, but the "
"overlay changes to indicate that it is marked for deletion. Up until you "
"commit the change, you can get the folder back using "
"<menuchoice><guimenu>TortoiseSVN</guimenu><guimenuitem>Revert</guimenuitem></"
"menuchoice> on the folder itself. This difference in behaviour between files "
"and folders is a part of Subversion, not TortoiseSVN."
msgstr ""
"当你<menuchoice><guimenu>TortoiseSVN</guimenu><guimenuitem>删除</"
"guimenuitem></menuchoice>一个文件,它立即被从工作副本删除,并且标记为下次提交"
"从版本库删除。当你<menuchoice><guimenu>TortoiseSVN</guimenu><guimenuitem>删除"
"</guimenuitem></menuchoice>一个目录,它仍旧在你的工作副本中,但是重载图标指出"
"了它标记为删除。这个区别是 Subversion 的特性,与 TortoiseSVN 无关。"

#. (para)
#, fuzzy
msgid ""
"If you want to delete an item from the repository, but keep it locally as an "
"unversioned file/folder, use <menuchoice><guimenu>Extended Context Menu</"
"guimenu><guimenuitem>Delete (keep local)</guimenuitem></menuchoice>. You have "
"to hold the <keycap>Shift</keycap> key while right clicking on the item in "
"the explorer list pane (right pane) in order to see this in the extended "
"context menu."
msgstr ""
"如果你想从版本库删除项目,但是在本地作为非版本控制的文件/目录保留,可以使用 "
"<menuchoice><guimenu>扩展上下文菜单</guimenu><guimenuitem>删除(保留本地副本)</"
"guimenuitem></menuchoice>。为了看到扩展上下文菜单,你必须在文件管理器列表窗格"
"(右窗格)中的项目上点击右键,同时按着 <keycap>Shift</keycap> 键。"

#. (para)
msgid ""
"If a <emphasis>file</emphasis> is deleted via the explorer instead of using "
"the TortoiseSVN context menu, the commit dialog shows those files and lets "
"you remove them from version control too before the commit. However, if you "
"update your working copy, Subversion will spot the missing file and replace "
"it with the latest version from the repository. If you need to delete a "
"version-controlled file, always use <menuchoice><guimenu>TortoiseSVN</"
"guimenu><guimenuitem>Delete</guimenuitem></menuchoice> so that Subversion "
"doesn't have to guess what you really want to do."
msgstr ""
"如果一个 <emphasis>文件</emphasis> 是通过浏览器而不是使用TortoiseSVN 快捷菜单"
"被删除,提交对话框也会显示这些文件并让你在提交前把他们从版本控制中移除。可是,"
"如果你更新你的工作副本, Subversion 将会混淆这个丢失文件并替换他为版本库中的最"
"新版本。因此,如果你需要删除一个版本控制下的文件,请始终使用"
"<menuchoice><guimenu>TortoiseSVN</guimenu><guimenuitem>Delete</guimenuitem></"
"menuchoice>保证 Subversion不去猜测你到底想干什么。"

#. (para)
msgid ""
"If a <emphasis>folder</emphasis> is deleted via the explorer instead of using "
"the TortoiseSVN context menu, your working copy will be broken and you will "
"be unable to commit. If you update your working copy, Subversion will replace "
"the missing folder with the latest version from the repository and you can "
"then delete it the correct way using <menuchoice><guimenu>TortoiseSVN</"
"guimenu><guimenuitem>Delete</guimenuitem></menuchoice>."
msgstr ""
"如果一个 <emphasis>目录</emphasis> 是通过浏览器而不是使用TortoiseSVN 快捷菜单"
"被删除,你的工作副本将回被损坏,并且你将不能提交。如果你更新你的工作副本,如果"
"你更新你的工作副本, Subversion 将用版本库中的最新版本替换已丢失目录。接下来你"
"就可以使用<menuchoice><guimenu>TortoiseSVN</guimenu><guimenuitem>Delete</"
"guimenuitem></menuchoice>这种正确的方法来删除它了。"

#. (title)
msgid "Getting a deleted file or folder back"
msgstr "找回已删除的文件或目录"

#. (para)
msgid ""
"If you have deleted a file or a folder and already committed that delete "
"operation to the repository, then a normal <menuchoice><guimenu>TortoiseSVN</"
"guimenu><guimenuitem>Revert</guimenuitem></menuchoice> can't bring it back "
"anymore. But the file or folder is not lost at all. If you know the revision "
"the file or folder got deleted (if you don't, use the log dialog to find out) "
"open the repository browser and switch to that revision. Then select the file "
"or folder you deleted, right-click and select <menuchoice><guimenu>Context "
"Menu</guimenu><guimenuitem>Copy to...</guimenuitem></menuchoice> as the "
"target for that copy operation select the path to your working copy."
msgstr ""
"如果你删除了洋文件或目录并已经提交该删除操作到版本库,那么 一个常规的"
"<menuchoice><guimenu>TortoiseSVN</guimenu><guimenuitem>Revert</guimenuitem></"
"menuchoice>已不能再将其找回。但是该文件或目录并没有完全丢失。如果你知道该被删"
"除文件或目录的版本(如果不能,使用日志对话框来查找出来),打开数据仓库的浏览器,"
"并选择那个版本。然后选择你删除的文件或目录,右键并选择"
"<menuchoice><guimenu>Context Menu</guimenu><guimenuitem>Copy to...</"
"guimenuitem></menuchoice>作为目标执行复制操作,然后选择你的工作副本的路径。"

#. (title)
msgid "Moving files and folders"
msgstr "移动文件和文件夹"

#. (primary)
#. (primary)
#. (primary)
msgid "rename"
msgstr "改名"

#. (primary)
msgid "move"
msgstr "移动"

#. (para)
#, fuzzy
msgid ""
"If you want to do a simple in-place rename of a file or folder, use "
"<menuchoice><guimenu>Context Menu</guimenu><guimenuitem>Rename...</"
"guimenuitem></menuchoice> Enter the new name for the item and you're done."
msgstr ""
"如果<action>右击</action>一个版本你可以使用<menuchoice><guimenu>右键菜单</"
"guimenu><guimenuitem>显示日志</guimenuitem></menuchoice> 来查看它的历史。"

#. (para)
msgid "select the files or directories you want to move"
msgstr "选择你要移动的文件或目录"

#. (para)
msgid ""
"in the popup menu select <menuchoice><guimenu>Context Menu</"
"guimenu><guimenuitem>SVN Move versioned files here</guimenuitem></menuchoice>"
msgstr ""
"在弹出菜单选择<menuchoice><guimenu>上下文菜单</guimenu><guimenuitem>SVN 移动文"
"件</guimenuitem></menuchoice>。"

#. (para)
#, fuzzy
msgid ""
"If you want to move files around inside your working copy, perhaps to a "
"different sub-folder, use the right-mouse drag-and-drop handler: <placeholder-"
"1/>"
msgstr ""
"如果你想在工作副本中移动文件,那么可以这样使用鼠标拖拽: <placeholder-1/>"

#. (title)
msgid "Commit the parent folder"
msgstr "提交父目录"

#. (para)
#, fuzzy
msgid ""
"Since renames and moves are done as a delete followed by an add you must "
"commit the parent folder of the renamed/moved file so that the deleted part "
"of the rename/move will show up in the commit dialog. If you don't commit the "
"removed part of the rename/move, it will stay behind in the repository and "
"when your co-workers update, the old file will not be removed. i.e. they will "
"have <emphasis>both</emphasis> the old and the new copies."
msgstr ""
"既然重命名和移动都可以像添加之后又删除一样被执行,你必需提交该重命名/移动文件"
"的父目录,所以重命名/移动的删除部分将出现在提交对话框中。如果你不提交重命名/移"
"动的已删除部分,他将保留在仓库中并且你的同组人将更新该未移除的旧文件。例如,他"
"们将有<emphasis>两个</emphasis>一老一新的副本。"

#. (para)
msgid ""
"You <emphasis>must</emphasis> commit a folder rename before changing any of "
"the files inside the folder, otherwise your working copy can get really "
"messed up."
msgstr ""
"你 <emphasis>必须</emphasis>在重命名目录后而在更改目录下的任何文件前进行提交,"
"不然你的工作副本就回真的混淆。"

#. (para)
#, fuzzy
msgid ""
"You can also use the repository browser to move items around. Read <xref "
"linkend=\"tsvn-dug-repobrowser\"/> to find out more."
msgstr ""
"你也可以使用版本库浏览器定位内容,直接从版本库复制到你的工作副本中。参见 "
"<xref linkend=\"tsvn-dug-repobrowser\"/> 以获得更多信息。"

#. (title)
msgid "Do Not SVN Move Externals"
msgstr "不要使用 SVN 移动外部连接"

#. (para)
msgid ""
"You should <emphasis>not</emphasis> use the TortoiseSVN <guilabel>Move</"
"guilabel> or <guilabel>Rename</guilabel> commands on a folder which has been "
"created using <literal>svn:externals</literal>. This action would cause the "
"external item to be deleted from its parent repository, probably upsetting "
"many other people. If you need to move an externals folder you should use an "
"ordinary shell move, then adjust the <literal>svn:externals</literal> "
"properties of the source and destination parent folders."
msgstr ""
"你<emphasis>不应该</emphasis>用 TortoiseSVN 的<guilabel>移动</guilabel>或"
"<guilabel>改名</guilabel>命令作用在用 <literal>svn:externals</literal> 创建的"
"目录上。因为这个动作可能会导致外部元素(item)从它的父版本库中删除,这可能会使其"
"它人烦恼。如果你需要移动外部目录,你应该使用普通的外壳移动,然后调整源和目的之"
"父目录的 <literal>svn:externals</literal> 属性。"

#. (title)
msgid "Changing case in a filename"
msgstr "改变文件名称大小写"

#. (primary)
msgid "case change"
msgstr "大小写改变"

#. (para)
msgid ""
"Making case-only changes to a filename is tricky with Subversion on Windows, "
"because for a short time during a rename, both filenames have to exist. As "
"Windows has a case-insensitive file system, this does not work using the "
"usual Rename command."
msgstr ""
"在 Windows 中,使用 Subversion 修改文件名称的大小写需要小技巧,因为在改名期"
"间,两个文件名称需要同时存在。因为 Windows 的文件系统是大小写不敏感的,所以使"
"用平常的改名命令是不能工作的。"

#. (para)
#, fuzzy
msgid ""
"Fortunately there are (at least) two possible methods to rename a file "
"without losing its log history. It is important to rename it within "
"subversion. Just renaming in the explorer will corrupt your working copy!"
msgstr ""
"这里(至少)有两种可能的解决方案来重命名文件而不丢失他的日志记录。在subversion里"
"重命名它是很重要的。仅在浏览器中重命名将会损坏你的工作副本。"

#. (para)
msgid "Commit the changes in your working copy."
msgstr "提交你工作副本中的改变到版本库"

#. (para)
msgid ""
"Rename the file from UPPERcase to upperCASE directly in the repository using "
"the repository browser."
msgstr "使用版本库的浏览器立即重命名该文件的大写(小写)为小写(大写)"

#. (para)
msgid "Update your working copy."
msgstr "更新你的工作副本"

#. (para)
msgid "Solution A) (recommended) <placeholder-1/>"
msgstr "解决方案 A)(推荐) <placeholder-1/>"

#. (para)
msgid ""
"Rename from UPPERcase to UPPERcase_ with the rename command in the "
"TortoiseSVN submenu."
msgstr "使用TortoiseSVN子菜单中的重命名命令将UPPERcase重命名为UPPERcase_ 格式"

#. (para)
#. (para)
msgid "Commit the changes."
msgstr "提交该更改"

#. (para)
msgid "Rename from UPPERcase_ to upperCASE."
msgstr "将UPPERcase_重命名为upperCASE格式"

#. (para)
msgid "Solution B) <placeholder-1/>"
msgstr "解决方案 B) <placeholder-1/>"

#. (title)
msgid "Dealing with filename case conflicts"
msgstr "处理文件名称大小写冲突"

#. (para)
#, fuzzy
msgid ""
"If the repository already contains two files with the same name but differing "
"only in case (e.g. <filename>TEST.TXT</filename> and <filename>test.txt</"
"filename>), you will not be able to update or checkout the parent directory "
"on a Windows client. Whilst Subversion supports case-sensitive filenames, "
"Windows does not."
msgstr ""
"万一在你的版本库中有两个名字相同但大小拼写不同(例如: TEST.TXT和test.txt)的文"
"件,你是不能更新或者检出该包含该文件的目录的。"

#. (para)
msgid ""
"This sometimes happens when two people commit, from separate working copies, "
"files which happen to have the same name, but with a case difference. It can "
"also happen when files are committed from a system with a case-sensitive file "
"system, like Linux."
msgstr ""
"它偶尔在两个人在独立的工作副本提交时发生,文件名称相同,只有大小写不同。它也会"
"在具有大小写敏感的文件系统的系统中提交文件时发生,例如 Linux。"

#. (para)
msgid ""
"In that case, you have to decide which one of them you want to keep and "
"delete (or rename) the other one from the repository."
msgstr ""
"如果是那样的话,你得决定在这个版本库里的哪一个文件是你想保留的,哪一个是要删除"
"(或重命名)的"

#. (title)
msgid "Preventing two files with the same name"
msgstr "防止两个文件名字相同"

#. (para)
msgid ""
"There is a server hook script available at: <ulink url=\"http://svn.collab."
"net/repos/svn/trunk/contrib/hook-scripts/\"><citetitle>http://svn.collab.net/"
"repos/svn/trunk/contrib/hook-scripts/</citetitle></ulink> that will prevent "
"checkins which result in case conflicts."
msgstr ""
"这有一个有用的服务器端脚本在<ulink url=\"http://svn.collab.net/repos/svn/"
"trunk/contrib/hook-scripts/\"><citetitle>http://svn.collab.net/repos/svn/"
"trunk/contrib/hook-scripts/</citetitle></ulink>将会防止检入拼写(大小写)冲突文"
"件。"

#. (title)
msgid "Repairing File Renames"
msgstr "修复文件改名"

#. (para)
msgid ""
"Sometimes your friendly IDE will rename files for you as part of a "
"refactoring exercise, and of course it doesn't tell Subversion. If you try to "
"commit your changes, Subversion will see the old filename as missing and the "
"new one as an unversioned file. You could just check the new filename to get "
"it added in, but you would then lose the history tracing, as Subversion does "
"not know the files are related."
msgstr ""
"有时候你的IDE会因为执行反射操作,改名文件,当然它不能告诉Subversion。如果你尝"
"试提交修改,Subversion会发现丢失了老文件,新增了未版本控制的新文件。你可以简单"
"的增加新文件,但是你将丢失历史记录,因为Subversion不知道这些文件的关系。"

#. (para)
msgid ""
"A better way is to notify Subversion that this change is actually a rename, "
"and you can do this within the <guilabel>Commit</guilabel> and "
"<guilabel>Check for Modifications</guilabel> dialogs. Simply select both the "
"old name (missing) and the new name (unversioned) and use "
"<menuchoice><guimenu>Context Menu</guimenu><guimenuitem>Repair Move</"
"guimenuitem></menuchoice> to pair the two files as a rename."
msgstr ""
"更好的方法是通知Subversion这实际上是改名,你可以在<guilabel>提交</guilabel>和"
"<guilabel>检查修改</guilabel>对话框中做此操作。简单选择老文件(丢失的)和新文件"
"(未版本控制的),使用<menuchoice><guimenu>右键菜单</guimenu><guimenuitem>修复移"
"动</guimenuitem></menuchoice>设置这两个文件是改名关系。"

#. (title)
msgid "Deleting Unversioned Files"
msgstr "删除未版本控制的文件"

#. (para)
msgid ""
"Usually you set your ignore list such that all generated files are ignored in "
"Subversion. But what if you want to clear all those ignored items to produce "
"a clean build? Usually you would set that in your makefile, but if you are "
"debugging the makefile, or changing the build system it is useful to have a "
"way of clearing the decks."
msgstr ""
"通常你可以在Subversion中设置自己的忽略列表,例如忽略所有产生的文件。但是你如何"
"清理这些忽略的项目,从而产生一个干净的构建呢?通常你在makefile中清理,但是如果"
"你在调试makefile,或者修改构建系统,那么有一个清理方法是极为有用的。"

#. (para)
msgid ""
"TortoiseSVN provides just such an option using <menuchoice><guimenu>Extended "
"Context Menu</guimenu><guimenuitem>Delete unversioned items...</guimenuitem></"
"menuchoice>. You have to hold the <keycap>Shift</keycap> while right clicking "
"on a folder in the explorer list pane (right pane) in order to see this in "
"the extended context menu. This will produce a dialog which lists all "
"unversioned files anywhere in your working copy. You can then select or "
"deselect items to be removed."
msgstr ""
"TortoiseSVN 提供了使用<menuchoice><guimenu>扩展上下文菜单</"
"guimenu><guimenuitem>删除未版本控制的项目...</guimenuitem></menuchoice>来清理"
"工作副本。你可以在目录上右键操作时,保持 <keycap>Shift</keycap>按下,就可以看"
"到这个上下文菜单。它会出现一个对话框,列出工作副本中的所有未版本控制的文件。你"
"可以选择或取消删除的项目。"

#. (para)
msgid ""
"When such items are deleted, the recycle bin is used, so if you make a "
"mistake here and delete a file that should have been versioned, you can still "
"recover it."
msgstr ""
"当删除这些项目时,使用了垃圾箱。所以如果你犯了错误,删除了应该版本控制的文件,"
"你仍旧可以恢复。"

#. (title)
msgid "Undo Changes"
msgstr "撤消更改"

#. (primary)
#. (primary)
msgid "revert"
msgstr "恢复"

#. (primary)
msgid "undo"
msgstr "撤消"

#. (title)
msgid "Revert dialog"
msgstr "恢复对话框"

#. (para)
msgid ""
"If you want to undo all changes you made in a file since the last update you "
"need to select the file, <action>right click</action> to pop up the context "
"menu and then select the command <menuchoice><guimenu>TortoiseSVN</"
"guimenu><guimenuitem>Revert</guimenuitem></menuchoice> A dialog will pop up "
"showing you the files that you've changed and can revert. Select those you "
"want to revert and click on <guibutton>OK</guibutton>. <placeholder-1/>"
msgstr ""
"如果你想要撤消一个文件自上次更新后的所有的变更,你需要选择该文件, <action>右击"
"</action>弹出快捷菜单,然后选择<menuchoice><guimenu>TortoiseSVN</"
"guimenu><guimenuitem>Revert</guimenuitem></menuchoice>命令,将会弹出一个显示这"
"个你已经变更并能恢复的文件。选择那些你想要恢复的然后按<guibutton>OK</"
"guibutton>. <placeholder-1/>。"

#. (para)
msgid ""
"If you want to undo a deletion or a rename, you need to use Revert on the "
"parent folder as the deleted item does not exist for you to right-click on."
msgstr ""

#. (para)
#, fuzzy
msgid ""
"If you want to undo the addition of an item, this appears in the context menu "
"as <menuchoice><guimenu>TortoiseSVN</guimenu><guimenuitem>Undo add...</"
"guimenuitem></menuchoice>. This is really a revert as well, but the name has "
"been changed to make it more obvious."
msgstr ""
"如果<action>右击</action>一个版本你可以使用<menuchoice><guimenu>右键菜单</"
"guimenu><guimenuitem>显示日志</guimenuitem></menuchoice> 来查看它的历史。"

#. (para)
#. (para)
msgid ""
"The columns in this dialog can be customized in the same way as the columns "
"in the <guilabel>Check for modifications</guilabel> dialog. Read <xref "
"linkend=\"tsvn-dug-wcstatus-2\"/> for further details."
msgstr ""
"在这一对话框中,纵列和在 <guilabel>检查修改</guilabel>对话框中的纵列同样是可以"
"定制的。更多细节请阅读<xref linkend=\"tsvn-dug-wcstatus-2\"/> "

#. (title)
msgid "Undoing Changes which have been Committed"
msgstr "取消已经提交的改变"

#. (para)
msgid ""
"<menuchoice><guimenuitem>Revert</guimenuitem></menuchoice> will only undo "
"your local changes. It does <emphasis>not</emphasis> undo any changes which "
"have already been committed. If you want to undo all the changes which were "
"committed in a particular revision, read <xref linkend=\"tsvn-dug-showlog\"/> "
"for further information."
msgstr ""
"<menuchoice><guimenuitem>Revert</guimenuitem></menuchoice>仅能撤消你本地的变"
"更。他<emphasis>不</emphasis>能撤消已经提交的的变更。如果你想撤消所有的包括已"
"经提交到一个特定版本的变更,请阅读 <xref linkend=\"tsvn-dug-showlog\"/> 获得更"
"多信息。"

#. (title)
msgid "Revert is Slow"
msgstr "撤销较慢"

#. (para)
msgid ""
"When you revert changes you may find that the operation takes a lot longer "
"than you expect. This is because the modified version of the file is sent to "
"the recycle bin, so you can retrieve your changes if you reverted by mistake. "
"However, if your recycle bin is full, Windows takes a long time to find a "
"place to put the file. The solution is simple: either empty the recycle bin "
"or deactivate the <guilabel>Use recycle bin when reverting</guilabel> box in "
"TortoiseSVN's settings."
msgstr ""

#. (title)
#. (entry)
#. (title)
#. (glossterm)
msgid "Cleanup"
msgstr "清理"

#. (primary)
msgid "cleanup"
msgstr "清理"

#. (para)
msgid ""
"If a Subversion command cannot complete successfully, perhaps due to server "
"problems, your working copy can be left in an inconsistent state. In that "
"case you need to use <menuchoice><guimenu>TortoiseSVN</"
"guimenu><guimenuitem>Cleanup</guimenuitem></menuchoice> on the folder. It is "
"a good idea to do this at the top level of the working copy."
msgstr ""
"也许由于服务器问题,一个Subversion指令不能成功地完成,你的工作副本因此被滞留在"
"一个不一致的状态。 那样的话,你需要在该目录上使用"
"<menuchoice><guimenu>TortoiseSVN</guimenu><guimenuitem>清理</guimenuitem></"
"menuchoice>命令。在工作副本的根目录使用它是一个好主意。"

#. (para)
#, fuzzy
msgid ""
"Cleanup has another useful side effect. If a file date changes but its "
"content doesn't, Subversion cannot tell whether it has really changed except "
"by doing a byte-by-byte comparison with the pristine copy. If you have a lot "
"of files in this state it makes acquiring status very slow, which will make "
"many dialogs slow to respond. Executing a Cleanup on your working copy will "
"repair these <quote>broken</quote> timestamps and restore status checks to "
"full speed."
msgstr ""
"清理有另外的一个有用的副作用。如果一个文件日期变化了但是它的内容没变,"
"Subversion除了采用byte-by-byte将该文件和原副本进行对照,不能分清它是否真的变"
"更。 如果你有很多这种状态下的文件,将会使获得状态非常慢,还会导致许多会话响应"
"变慢。在你的工作副本上执行一个清理命令将会修正这些 \" 坏掉的 \" 时戳,从而可以"
"全速检查它们的状态。"

#. (title)
msgid "Use Commit Timestamps"
msgstr "使用提交时戳"

#. (para)
msgid ""
"Some earlier releases of Subversion were affected by a bug which caused "
"timestamp mismatch when you check out with the <guilabel>Use commit "
"timestamps</guilabel> option checked. Use the Cleanup command to speed up "
"these working copies."
msgstr ""
"Subversion的一些早期发布中存在一个bug,当你使用<guilabel>使用提交时戳</"
"guilabel>选项检出的时候会造成时戳混乱。使用清理命令可以修正工作副本中的这些问"
"题。"

#. (title)
msgid "Project Settings"
msgstr "项目设置"

#. (primary)
msgid "properties"
msgstr "属性"

#. (title)
msgid "Explorer property page, Subversion tab"
msgstr "资源管理器属性页,Subversion 页面"

#. (para)
msgid ""
"<placeholder-1/> Sometimes you want to have more detailed information about a "
"file/directory than just the icon overlay. You can get all the information "
"Subversion provides in the explorer properties dialog. Just select the file "
"or directory and select <menuchoice><guimenu>Windows Menu</"
"guimenu><guimenuitem>properties</guimenuitem></menuchoice> in the context "
"menu (note: this is the normal properties menu entry the explorer provides, "
"not the one in the TortoiseSVN submenu!). In the properties dialog box "
"TortoiseSVN has added a new property page for files/folders under Subversion "
"control, where you can see all relevant information about the selected file/"
"directory."
msgstr ""
"<placeholder-1/>有时你可能想得到关于一个文件/目录的更多的细节信息而不仅是一个"
"重载的标志。 你能得到Subversion的属性对话框中浏览到的所有信息。只需选择指定文"
"件或目录,然后在文件菜单中选择<menuchoice><guimenu>Windows Menu</"
"guimenu><guimenuitem>properties</guimenuitem></menuchoice>(注意: 这是浏览器提"
"供的标准属性菜单,而不是TortoiseSVN 子菜单的其中之一)。在TortoiseSVN 属性对话"
"框中已经为在Subversion控制下的文件/目录增加新的属性页。在这里你能看到所有的关"
"于选择文件/目录的相关信息。"

#. (title)
msgid "Subversion Properties"
msgstr "Subversion 属性"

#. (primary)
msgid "Subversion properties"
msgstr "Subversion 属性"

#. (title)
msgid "Subversion property page"
msgstr "Subversion 属性页"

#. (para)
#, fuzzy
msgid ""
"<placeholder-1/> You can read and set the Subversion properties from the "
"Windows properties dialog, but also from <menuchoice><guimenu>TortoiseSVN</"
"guimenu><guimenuitem>properties</guimenuitem></menuchoice> and within "
"TortoiseSVN's status lists, from <menuchoice><guimenu>Context menu</"
"guimenu><guimenuitem>properties</guimenuitem></menuchoice>."
msgstr ""
"<placeholder-1/> 你可以在 Windows 属性对话框读写 Subversion 属性。也可以从"
"<menuchoice><guimenu>TortoiseSVN</guimenu><guimenuitem>属性</guimenuitem></"
"menuchoice>,或者 <menuchoice><guimenu>上下文菜单</guimenu><guimenuitem>属性</"
"guimenuitem></menuchoice>,来读写 Subversion 属性。"

#. (para)
#, fuzzy
msgid ""
"You can add your own properties, or some properties with a special meaning in "
"Subversion. These begin with <literal>svn:</literal>. <literal>svn:externals</"
"literal> is such a property; see how to handle externals in <xref linkend="
"\"tsvn-dug-externals\"/>."
msgstr ""
"从版本库里删除数据的唯一方法就是使用<literal>svnadmin</literal>这个Subversion"
"命令行工具。具体如何实现请参考<ulink url=\"svnbook.red-bean.com/en/1.2/svn."
"advanced.props.html\"><citetitle>《使用 Subversion 进行版本管理》</"
"citetitle></ulink>。"

#. (title)
msgid "svn:keywords"
msgstr "svn:keywords"

#. (primary)
msgid "keywords"
msgstr "关键字"

#. (primary)
msgid "expand keywords"
msgstr "展开关键字"

#. (para)
msgid ""
"Date of last known commit. This is based on information obtained when you "
"update your working copy. It does <emphasis>not</emphasis> check the "
"repository to find more recent changes."
msgstr ""
"已知最后提交的日期。它基于你更新工作副本时获得的信息。它<emphasis>不</"
"emphasis>检查版本库查找最新的修改。"

#. (para)
msgid "Revision of last known commit."
msgstr "已知最后提交的版本。"

#. (para)
msgid "Author who made the last known commit."
msgstr "已知最后提交的作者。"

#. (para)
msgid "The full URL of this file in the repository."
msgstr "此文件在版本库中的 URL。"

#. (para)
msgid "A compressed combination of the previous four keywords."
msgstr "前述四个关键字的压缩组合。"

#. (para)
msgid ""
"Subversion supports CVS-like keyword expansion which can be used to embed "
"filename and revision information within the file itself. Keywords currently "
"supported are: <placeholder-1/>"
msgstr ""
"Subversion 支持类似 CVS 的关键字扩展,用来在文件中嵌入文件名称和版本信息。当前"
"支持的关键字有:<placeholder-1/>"

#. (para)
#, fuzzy
msgid ""
"To find out how to use these keywords, look at the <ulink url=\"http://"
"svnbook.red-bean.com/en/1.5/svn.advanced.props.special.keywords.html"
"\"><citetitle>svn:keywords section</citetitle></ulink> in the Subversion "
"book, which gives a full description of these keywords and how to enable and "
"use them."
msgstr ""
"关键字的用法参见 Subversion 手册的 <ulink url=\"http://svnbook.red-bean.com/"
"en/1.2/svn.advanced.props.html#svn.advanced.props.special.keywords"
"\"><citetitle>svn:keywords section</citetitle></ulink>,它给出了这些关键字的完"
"整描述和启用方法。"

#. (para)
#, fuzzy
msgid ""
"For more information about properties in Subversion see the <ulink url="
"\"http://svnbook.red-bean.com/en/1.5/svn.advanced.props.html"
"\"><citetitle>Special Properties</citetitle></ulink>."
msgstr ""
"更多的关于svnserve的信息可以看<ulink url=\"http://svnbook.red-bean.com"
"\"><citetitle>《使用 Subversion 进行版本管理》</citetitle></ulink>。"

#. (title)
msgid "Adding and Editing Properties"
msgstr "增加和编辑属性"

#. (title)
msgid "Adding properties"
msgstr "增加属性"

#. (para)
msgid ""
"<placeholder-1/> To add a new property, first click on <guilabel>Add...</"
"guilabel>. Select the required property name from the combo box, or type in a "
"name of your own choice, then enter a value in the box below. Properties "
"which take multiple values, such as an ignore list, can be entered on "
"multiple lines. Click on <guibutton>OK</guibutton> to add that property to "
"the list."
msgstr ""
"<placeholder-1/>为了增加新属性,先单击<guilabel>增加...</guilabel>,从组合框中"
"选择需要的属性名称,或者输入你自定义的名称,然后在下面的编辑框内输入取值。有多"
"个取值的属性,例如忽略列表,肯呢个输入多行。单极<guibutton>确认</guibutton>将"
"属性增加到属性列表。"

#. (para)
msgid ""
"If you want to apply a property to many items at once, select the files/"
"folders in explorer, then select <menuchoice><guimenu>Context menu</"
"guimenu><guimenuitem>properties</guimenuitem></menuchoice>"
msgstr ""
"如果你想一次性设置许多文件的属性,在资源管理器中选择文件/文件夹,然后选择"
"<menuchoice><guimenu>上下文菜单</guimenu><guimenuitem>属性</guimenuitem></"
"menuchoice>。"

#. (para)
msgid ""
"If you want to apply the property to <emphasis>every</emphasis> file and "
"folder in the hierarchy below the current folder, check the "
"<guilabel>Recursive</guilabel> checkbox."
msgstr ""
"如果你想设置当前文件夹内的<emphasis>全部</emphasis>文件和文件夹,选中"
"<guilabel>递归</guilabel>检查框。"

#. (para)
msgid ""
"Some properties, for example <literal>svn:needs-lock</literal>, can only be "
"applied to files, so the property name doesn't appear in the drop down list "
"for folders. You can still apply such a property recursively to all files in "
"a hierarchy, but you have to type in the property name yourself."
msgstr ""
"一些属性,例如<literal>svn:needs-lock</literal>只能用于文件,所以它们在文件夹"
"的属性下拉列表内不会出现。你仍旧可以递归的设置目录树中所有文件的属性,但是需要"
"你自己输入属性名称。"

#. (para)
msgid ""
"If you wish to edit an existing property, select that property from the list "
"of existing properties, then click on <guibutton>Edit...</guibutton>."
msgstr ""
"如果你想编辑一个已有属性,在已有属性列表中选择它,然后单击<guibutton>编辑...</"
"guibutton>即可。"

#. (para)
msgid ""
"If you wish to remove an existing property, select that property from the "
"list of existing properties, then click on <guibutton>Remove</guibutton>."
msgstr ""
"如果你想删除已有属性,在已有属性列表中选择它,然后单击<guibutton>删除</"
"guibutton>即可。"

#. (para)
#, fuzzy
msgid ""
"The <literal>svn:externals</literal> property can be used to pull in other "
"projects from the same repository or a completely different repository. For "
"more information, read <xref linkend=\"tsvn-dug-externals\"/>."
msgstr ""
"属性<literal>svn:externals</literal>可以用来下载位于同一版本库或不同版本库的其"
"它工程。阅读<xref linkend=\"tsvn-dug-import-4\"/>以获得更多信息。"

#. (title)
#, fuzzy
msgid "Exporting and Importing Properties"
msgstr "导出一个Subversion工作副本"

#. (para)
msgid ""
"Often you will find yourself applying the same set of properties many times, "
"for example <literal>bugtraq:logregex</literal>. To simplify the process of "
"copying properties from one project to another, you can use the Export/Import "
"feature."
msgstr ""

#. (para)
msgid ""
"From the file or folder where the properties are already set, use "
"<menuchoice><guimenu>TortoiseSVN</guimenu><guimenuitem>properties</"
"guimenuitem></menuchoice>, select the properties you wish to export and click "
"on <guibutton>Export...</guibutton>. You will be prompted for a filename "
"where the property names and values will be saved."
msgstr ""

#. (para)
msgid ""
"From the folder(s) where you wish to apply these properties, use "
"<menuchoice><guimenu>TortoiseSVN</guimenu><guimenuitem>properties</"
"guimenuitem></menuchoice> and click on <guibutton>Import...</guibutton>. You "
"will be prompted for a filename to import from, so navigate to the place you "
"saved the export file previously and select it. The properties will be added "
"to the folders non-recursively."
msgstr ""

#. (para)
msgid ""
"If you want to add properties to a tree recursively, follow the steps above, "
"then in the property dialog select each property in turn, click on "
"<guibutton>Edit...</guibutton>, check the <guilabel>Apply property "
"recursively</guilabel> box and click on <guibutton>OK</guibutton>."
msgstr ""

#. (para)
msgid ""
"The Import file format is binary and proprietary to TortoiseSVN. Its only "
"purpose is to transfer properties using Import and Export, so there is no "
"need to edit these files."
msgstr ""

#. (title)
msgid "Binary Properties"
msgstr "二进制属性"

#. (para)
msgid ""
"TortoiseSVN can handle binary property values using files. To read a binary "
"property value, <guibutton>Save...</guibutton> to a file. To set a binary "
"value, use a hex editor or other appropriate tool to create a file with the "
"content you require, then <guibutton>Load...</guibutton> from that file."
msgstr ""
"TortoiseSVN可以处理文件的二进制属性。使用<guibutton>保存...</guibutton>到文件"
"读取二进制属性值。使用十六进制编辑器或其它适当的工具创建文件,然后用从文件"
"<guibutton>加载...</guibutton>设置二进制值为此文件的内容。"

#. (para)
msgid ""
"Although binary properties are not often used, they can be useful in some "
"applications. For example if you are storing huge graphics files, or if the "
"application used to load the file is huge, you might want to store a "
"thumbnail as a property so you can obtain a preview quickly."
msgstr ""
"尽管二进制文件不经常使用,它们在一些程序中是有用的。举例来说,如果你存储了巨大"
"的图形文件,或者用程序加载的文件巨大,你可能想将缩略图作为属性存储,于是你可以"
"快速的预览。"

#. (title)
msgid "Automatic property setting"
msgstr "自动属性设置"

#. (primary)
msgid "auto-props"
msgstr "auto-props"

#. (para)
#, fuzzy
msgid ""
"You can configure Subversion and TortoiseSVN to set properties automatically "
"on files and folders when they are added to the repository. There are two "
"ways of doing this."
msgstr ""
"你可以设置当文件和文件夹加入版本库时,自动设置属性。阅读<xref linkend=\"tsvn-"
"dug-settings\"/>以获得更多信息。"

#. (para)
msgid ""
"You can edit the subversion configuration file to enable this feature on your "
"client. The <guilabel>General</guilabel> page of TortoiseSVN's settings "
"dialog has an edit button to take you there directly. The config file is a "
"simple text file which controls some of subversion's workings. You need to "
"change two things: firstly in the section headed <literal>miscellany</"
"literal> uncomment the line <literal>enable-auto-props = yes</literal>. "
"Secondly you need to edit the section below to define which properties you "
"want added to which file types. This method is a standard subversion feature "
"and works with any subversion client. However it has to be defined on each "
"client individually - there is no way to propagate these settings from the "
"repository."
msgstr ""

#. (para)
msgid ""
"An alternative method is to set the <literal>tsvn:autoprops</literal> "
"property on folders, as described in the next section. This method only works "
"for TortoiseSVN clients, but it does get propagated to all working copies on "
"update."
msgstr ""

#. (para)
msgid ""
"Whichever method you choose, you should note that auto-props are only applied "
"to files at the time they are added to the repository. Auto-props will never "
"change the properties of files which are already versioned."
msgstr ""

#. (para)
msgid ""
"If you want to be absolutely sure that new files have the correct properties "
"applied, you should set up a repository pre-commit hook to reject commits "
"where the required properties are not set."
msgstr ""

#. (title)
msgid "Commit properties"
msgstr "提交属性"

#. (para)
msgid ""
"Subversion properties are versioned. After you change or add a property you "
"have to commit your changes."
msgstr "Subversion 属性是受版本控制的。在你改变或增加属性后必须提交。"

#. (title)
msgid "Conflicts on properties"
msgstr "属性冲突"

#. (para)
msgid ""
"If there's a conflict on committing the changes, because another user has "
"changed the same property, Subversion generates a <filename>.prej</filename> "
"file. Delete this file after you have resolved the conflict."
msgstr ""
"如果因为其他用户已经提交了同样的属性,提交时出现冲突,Subversion 会产生一个 "
"<filename>.prej</filename> 文件。在你解决冲突后,请删除此文件。"

#. (title)
msgid "TortoiseSVN Project Properties"
msgstr "TortoiseSVN 项目属性"

#. (primary)
msgid "project properties"
msgstr "工程属性"

#. (primary)
msgid "TortoiseSVN properties"
msgstr "TortoiseSVN 属性"

#. (para)
msgid ""
"<literal>tsvn:logminsize</literal> sets the minimum length of a log message "
"for a commit. If you enter a shorter message than specified here, the commit "
"is disabled. This feature is very useful for reminding you to supply a proper "
"descriptive message for every commit. If this property is not set, or the "
"value is zero, empty log messages are allowed."
msgstr ""
"<literal>tsvn:logminsize</literal>设置提交日志的最小长度。如果你输入的日志短于"
"预设值,提交会被禁止。这个属性对于提醒你为每次提交提供一个适当的描述信息非常有"
"用。如果不设置这个属性,或者设置为0,那么就允许空提交信息。"

#. (para)
msgid ""
"<literal>tsvn:lockmsgminsize</literal> sets the minimum length of a lock "
"message. If you enter a shorter message than specified here, the lock is "
"disabled. This feature is very useful for reminding you to supply a proper "
"descriptive message for every lock you get. If this property is not set, or "
"the value is zero, empty lock messages are allowed."
msgstr ""
"<literal>tsvn:lockmsgminsize</literal>设置锁定日志的最小长度。如果你输入的日志"
"短于预设值,加锁会被禁止。这个属性对于提醒你为每次加锁提供一个适当的描述信息非"
"常有用。如果不设置这个属性,或者设置为0,那么就允许空加锁信息。"

#. (para)
msgid ""
"<literal>tsvn:logwidthmarker</literal> is used with projects which require "
"log messages to be formatted with some maximum width (typically 80 "
"characters) before a line break. Setting this property to a non-zero will do "
"2 things in the log message entry dialog: it places a marker to indicate the "
"maximum width, and it disables word wrap in the display, so that you can see "
"whether the text you entered is too long. Note: this feature will only work "
"correctly if you have a fixed-width font selected for log messages."
msgstr ""
"<literal>tsvn:logwidthmarker</literal>用在要求日志信息被格式化为在最大宽度(典"
"型是80字符)处换行非常有用。设置此属性为大于0的值会在日志消息对话框中做两件事: "
"放置一个标记指示最大宽度,和禁止自动换行,于是你可以看到输入的信息是否太长。注"
"意: 这个特性仅在你选择的消息使用固定宽度字体时才能正确工作。"

#. (para)
msgid ""
"<literal>tsvn:logtemplate</literal> is used with projects which have rules "
"about log message formatting. The property holds a multi-line text string "
"which will be inserted in the commit message box when you start a commit. You "
"can then edit it to include the required information. Note: if you are also "
"using <literal>tsvn:logminsize</literal>, be sure to set the length longer "
"than the template or you will lose the protection mechanism."
msgstr ""
"<literal>tsvn:logtemplate</literal>在需要定义日志消息格式化规则的工程中使用。"
"在你开始提交时,这个属性的多行消息会被插入日志消息编辑框。你可以编辑它以便包含"
"需要的信息。注意: 如果你使用了<literal>tsvn:logminsize</literal>属性,请确认这"
"个长度大于模版的长度,不然就会失去其保护作用。"

#. (para)
#, fuzzy
msgid ""
"Subversion allows you to set <quote>autoprops</quote> which will be applied "
"to newly added or imported files, based on the file extension. This depends "
"on every client having set appropriate autoprops in their subversion "
"configuration file. <literal>tsvn:autoprops</literal> can be set on folders "
"and these will be merged with the user's local autoprops when importing or "
"adding files. The format is the same as for subversion autoprops, e.g. "
"<literal>*.sh = svn:eol-style=native;svn:executable</literal> sets two "
"properties on files with the <literal>.sh</literal> extension."
msgstr ""
"Subversion 允许你设置 <quote>autoprops</quote>,它基于文件扩展名,对新增文件或"
"导入的文件生效。这依赖于每个客户端在 Subversion 配置文件中设置适当的 "
"autoprops。<literal>tsvn:autoprops</literal> 可以对目录设置,当新增文件或导入"
"文件时,它会与用户的本地 autoprops 合并。"

#. (para)
msgid ""
"If there is a conflict between the local autoprops and <literal>tsvn:"
"autoprops</literal>, the project settings take precedence because they are "
"specific to that project."
msgstr ""
"如果本地 autoprops 与 <literal>tsvn:autoprops</literal> 冲突,项目设置优先(因"
"为它们是针对此项目的)。"

#. (para)
#, fuzzy
msgid ""
"In the Commit dialog you have the option to paste in the list of changed "
"files, including the status of each file (added, modified, etc). "
"<literal>tsvn:logfilelistenglish</literal> defines whether the file status is "
"inserted in English or in the localized language. If the property is not set, "
"the default is <literal>true</literal>."
msgstr ""
"在提交对话框,你可以复制修改的文件列表,包含每个文件的状态(增加,修改等)。"
"<literal>tsvn:logfilelistenglish</literal>定义了文件状态用英文插入,还是用本地"
"消息插入。此属性的默认值是<literal>真</literal>。"

#. (para)
#, fuzzy
msgid ""
"TortoiseSVN can use spell checker modules which are also used by OpenOffice "
"and Mozilla. If you have those installed this property will determine which "
"spell checker to use, i.e. in which language the log messages for your "
"project should be written. <literal>tsvn:projectlanguage</literal> sets the "
"language module the spell checking engine should use when you enter a log "
"message. You can find the values for your language on this page: <ulink url="
"\"http://msdn2.microsoft.com/en-us/library/ms776260.aspx\"><citetitle>MSDN: "
"Language Identifiers</citetitle></ulink>."
msgstr ""
"TortoiseSVN可以使用OpenOffice和Mozilla使用的拼写检查模块。如果你安装了这些模"
"块,那么这个属性将检测使用哪个拼写检查模块。也就是,你的工程的日志信息用的语"
"言。<literal>tsvn:projectlanguage</literal>设置拼写检查引擎应该使用什么语言模"
"块来检查日志信息。你可以在这个叶面找到你的语言的取值: <ulink url=\"http://"
"msdn.microsoft.com/library/default.asp?url=/library/en-us/intl/nls_238z.asp"
"\"><citetitle>MSDN: 语言标示符</citetitle></ulink>。"

#. (para)
msgid ""
"You can enter this value in decimal, or in hexadecimal if prefixed with "
"<literal>0x</literal>. For example English (US) can be entered as "
"<literal>0x0409</literal> or <literal>1033</literal>."
msgstr ""
"你可以用十进制输入取值,如果用<literal>0x</literal>前缀的话,也可以用十六进"
"制。例如英语(美国英语)可以输入<literal>0x0409</literal>或者<literal>1033</"
"literal>。"

#. (para)
msgid ""
"The property <literal>tsvn:logsummary</literal> is used to extract a portion "
"of the log message which is then shown in the log dialog as the log message "
"summary."
msgstr ""

#. (para)
msgid ""
"The value of the <literal>tsvn:logsummary</literal> property must be set to a "
"one line regex string which contains one regex group. Whatever matches that "
"group is used as the summary."
msgstr ""

#. (para)
msgid ""
"An example: <literal>\\[SUMMARY\\]:\\s+(.*)</literal> Will catch everything "
"after <quote>[SUMMARY]</quote> in the log message and use that as the summary."
msgstr ""

#. (para)
msgid ""
"When you want to add a new property, you can either pick one from the list in "
"the combo box, or you can enter any property name you like. If your project "
"uses some custom properties, and you want those properties to appear in the "
"list in the combo box (to avoid typos when you enter a property name), you "
"can create a list of your custom properties using <literal>tsvn:"
"userfileproperties</literal> and <literal>tsvn:userdirproperties</literal>. "
"Apply these properties to a folder. When you go to edit the properties of any "
"child item, your custom properties will appear in the list of pre-defined "
"property names."
msgstr ""
"当你想增加新属性时,你可以从组合框的下拉列表选取,也可以输入你喜欢的任何属性名"
"称。如果你的项目使用了自定义属性,并且想让这些属性出现在组合框的下拉列表中(避"
"免输入时拼写错误),你可以使用<literal>tsvn:userfileproperties</literal>和"
"<literal>tsvn:userdirproperties</literal>创建自定义属性列表。对目录应用这些属"
"性,当你编辑其任何子项属性时,你自定义的属性将会在预定义属性名称列表中出现。"

#. (para)
msgid ""
"TortoiseSVN has a few special properties of its own, and these begin with "
"<literal>tsvn:</literal>. <placeholder-1/>"
msgstr ""
"TortoiseSVN 有自己专用的几个属性,它们都有<literal>tsvn:</literal>前缀。"
"<placeholder-1/>"

#. (para)
#. (para)
#, fuzzy
msgid ""
"Some <literal>tsvn:</literal> properties require a <literal>true/false</"
"literal> value. TortoiseSVN also understands <literal>yes</literal> as a "
"synonym for <literal>true</literal> and <literal>no</literal> as a synonym "
"for <literal>false</literal>."
msgstr ""
"一些 <literal>tsvn:</literal> 属性需要 <literal>true/false</literal> 值。它也"
"理解 <literal>yes</literal> 是 <literal>true</literal> 的同义词,<literal>no</"
"literal> 是 <literal>false</literal>的同义词。"

#. (para)
#, fuzzy
msgid ""
"TortoiseSVN can integrate with some bug tracking tools. This uses project "
"properties that start with <literal>bugtraq:</literal>. Read <xref linkend="
"\"tsvn-dug-bugtracker\"/> for further information."
msgstr ""
"TortoiseSVN可以与一些问题跟踪工具集成。它使用<literal>bugtraq:</literal>开始的"
"属性。阅读<xref linkend=\"tsvn-dug-bugtracker\"/>以便获得更多信息。"

#. (para)
#, fuzzy
msgid ""
"It can also integrate with some web-based repository browsers, using project "
"properties that start with <literal>webviewer:</literal>. Read <xref linkend="
"\"tsvn-dug-repoviewer\"/> for further information."
msgstr ""
"它也与一些基于WEB的版本库浏览器集成。阅读<xref linkend=\"tsvn-dug-repoviewer"
"\"/>以获得更多信息。"

#. (title)
msgid "Set the project properties on folders"
msgstr "设置文件夹的项目属性"

#. (para)
#, fuzzy
msgid ""
"These special project properties must be set on <emphasis>folders</emphasis> "
"for the system to work. When you commit a file or folder the properties are "
"read from that folder. If the properties are not found there, TortoiseSVN "
"will search upwards through the folder tree to find them until it comes to an "
"unversioned folder, or the tree root (eg. <literal>C:\\</literal>) is found. "
"If you can be sure that each user checks out only from e.g <filename>trunk/</"
"filename> and not some sub-folder, then it is sufficient to set the "
"properties on <filename>trunk/</filename>. If you can't be sure, you should "
"set the properties recursively on each sub-folder. A property setting deeper "
"in the project hierarchy overrides settings on higher levels (closer to "
"<filename>trunk/</filename>)."
msgstr ""
"属性<literal>tsvn:</literal>只能在<emphasis>文件夹</emphasis>设置。当你提交文"
"件或文件夹时,这些属性从文件夹读取。如果没有发现这些属性,TortoiseSVN会向上级"
"目录搜索,直到未版本控制的文件夹,或到达根目录(例如 <literal>C:\\</"
"literal>) 。如果你确认每个用户都是从同一个目录检出,例如<filename>trunk/</"
"filename>,而不是其它子目录,那么只在<filename>trunk/</filename>设置属性就足够"
"了。如果你不能确定,那么应当递归的设置每个子目录。深层的设置覆盖高层的设置 (靠"
"近 <filename>trunk/</filename>)。"

#. (para)
#, fuzzy
msgid ""
"For project properties <emphasis>only</emphasis> you can use the "
"<guilabel>Recursive</guilabel> checkbox to set the property to all sub-"
"folders in the hierarchy, without also setting it on all files."
msgstr ""
"对于<literal>tsvn:</literal>属性,你<emphasis>只能</emphasis>对于所有子目录使"
"用<guilabel>递归</guilabel>检查框设置属性,不能设置文件的属性。"

#. (para)
msgid ""
"When you add new sub-folders using TortoiseSVN, any project properties "
"present in the parent folder will automatically be added to the new child "
"folder too."
msgstr ""
"当你使用 TortoiseSVN 增加新的目录时,任何父目录的项目属性都会被自动增加到子目"
"录。"

#. (para)
#, fuzzy
msgid ""
"Although TortoiseSVN's project properties are extremely useful, they only "
"work with TortoiseSVN, and some will only work in newer versions of "
"TortoiseSVN. If people working on your project use a variety of Subversion "
"clients, or possibly have old versions of TortoiseSVN, you may want to use "
"repository hooks to enforce project policies. project properties can only "
"help to implement a policy, they cannot enforce it."
msgstr ""
"尽管 <literal>tsvn:xxx</literal> 属性很有用,它们只适用于 TortoiseSVN,而且一"
"些只是对于新版本的 TortoiseSVN 才生效。如果你的项目中的人使用各种 Subversion "
"客户端,或者使用低版本的 TortoiseSVN,你可能想使用版本库钩子强制执行项目政策。"
"<literal>tsvn:</literal> 属性只能帮助你实现政策,不能强制执行。"

#. (title)
#, fuzzy
msgid "External Items"
msgstr "外部"

#. (primary)
msgid "external repositories"
msgstr "外部版本库"

#. (primary)
#. (primary)
msgid "externals"
msgstr "外部"

#. (para)
#, fuzzy
msgid ""
"Sometimes it is useful to construct a working copy that is made out of a "
"number of different checkouts. For example, you may want different files or "
"subdirectories to come from different locations in a repository, or perhaps "
"from different repositories altogether. If you want every user to have the "
"same layout, you can define the <literal>svn:externals</literal> properties "
"to pull in the specified resource at the locations where they are needed."
msgstr ""
"有时候,构建一个需要不同检出的工作目录是很有用的。举例来说,你需要不同的子目录"
"来自版本库的不同位置。,或者可能完全来自不同的版本库。如果你需要每个用户具有相"
"同的目录结构,你可以定义<literal>svn:externals</literal>属性。"

#. (title)
#, fuzzy
msgid "External Folders"
msgstr "外部"

#. (para)
#, fuzzy
msgid ""
"Let's say you check out a working copy of <filename>/project1</filename> to "
"<filename>D:\\dev\\project1</filename>. Select the folder <filename>D:\\dev"
"\\project1</filename>, <action>right click</action> and choose "
"<menuchoice><guimenu>Windows Menu</guimenu><guimenuitem>Properties</"
"guimenuitem></menuchoice> from the context menu. The Properties Dialog comes "
"up. Then go to the Subversion tab. There, you can set properties. Click "
"<guibutton>Add...</guibutton>. Select the <literal>svn:externals</literal> "
"property from the combobox and write in the edit box the repository URL in "
"the format <literal>name url</literal> or if you want to specify a particular "
"revision, <literal>name -rREV url</literal> You can add multiple external "
"projects, 1 per line. Note that URLs must be properly escaped or they will "
"not work. For example you must replace each space with <literal>%20</"
"literal>. Note that it is not possible to use folder names with spaces in "
"them. Suppose that you have set these properties on <filename>D:\\dev"
"\\project1</filename>: <screen>\n"
"sounds http://sounds.red-bean.com/repos\n"
"quick_graphs http://graphics.red-bean.com/repos/fast%20graphics\n"
"skins/toolkit -r21 http://svn.red-bean.com/repos/skin-maker\n"
"</screen> Now click <guibutton>Set</guibutton> and commit your changes. When "
"you (or any other user) update your working copy, Subversion will create a "
"sub-folder <filename>D:\\dev\\project1\\sounds</filename> and checkout the "
"sounds project, another sub-folder <filename>D:\\dev\\project1\\quick graphs</"
"filename> containing the graphics project, and finally a nested sub-folder "
"<filename>D:\\dev\\project1\\skins\\toolkit</filename> containing revision 21 "
"of the skin-maker project."
msgstr ""
"比如说,你检出了<filename>/project1</filename>到 <filename>D:\\dev\\project1</"
"filename>。选择目录<filename>D:\\dev\\project1</filename>,<action>右击</"
"action>,选择<menuchoice><guimenu>Windows 菜单</guimenu><guimenuitem>属性</"
"guimenuitem></menuchoice>。出现属性对话框。在Subversion页,你可以设置属性。点"
"击<guibutton>增加...</guibutton>。从组合框选择<literal>svn:externals</literal>"
"属性,在编辑框按照<literal>名称 URL</literal>格式输入版本库URL,或者你需要一个"
"指定的版本,那么使用<literal>名称 -r版本 URL</literal>。你可以增加多个外部工"
"程,每行一个。注意,URL必须使用逃逸字符编码,不然可能无法正常工作。举例说明,"
"你必须将每个空格替换为<literal>%20</literal>。注意使用包含空格的目录名称是不可"
"能的。假设你为<filename>D:\\dev\\project1</filename>设置了这些属性: <screen>\n"
"sounds http://sounds.red-bean.com/repos\n"
"quick_graphs http://graphics.red-bean.com/repos/fast%20graphics\n"
"skins/toolkit -r21 http://svn.red-bean.com/repos/skin-maker\n"
"</screen> 现在点击 <guibutton>设置</guibutton>,提交你的修改。当你(或其他用户)"
"更新工作副本时, Subversion 将会创建子目录<filename>D:\\dev\\project1"
"\\sounds</filename>,并且检出sounds工程,另一个子目录<filename>D:\\dev"
"\\project1\\quick_graphs</filename>包含graphics工程,最后一个嵌套的子目录"
"<filename>D:\\dev\\project1\\skins\\toolkit</filename>包含的skin-maker工程的版"
"本21。"

#. (para)
#, fuzzy
msgid ""
"You should strongly consider using explicit revision numbers in all of your "
"externals definitions, as described above. Doing so means that you get to "
"decide when to pull down a different snapshot of external information, and "
"exactly which snapshot to pull. Besides the common sense aspect of not being "
"surprised by changes to third-party repositories that you might not have any "
"control over, using explicit revision numbers also means that as you backdate "
"your working copy to a previous revision, your externals definitions will "
"also revert to the way they looked in that previous revision, which in turn "
"means that the external working copies will be updated to match they way "
"<emphasis>they</emphasis> looked back when your repository was at that "
"previous revision. For software projects, this could be the difference "
"between a successful and a failed build of an older snapshot of your complex "
"code base."
msgstr ""
"你应当认真考虑在所有外部定义中使用确定的版本号。这样做意味着你决定何时下载一个"
"不同的快照,并且精确的指明了是哪个快照。与使用通常的分支相比,你不会为第三方版"
"本库的修改感到惊讶,这些版本库你可能没有任何控制,使用精确的版本号能使你回溯工"
"作目录到以前的版本,你的外部定义也遵循此规则,看起来是以前的版本,即外部工作副"
"本的更新匹配<emphasis>它们</emphasis>的老版本。对于软件工程,它是你的复杂代码"
"构建成功或失败的重要区别。"

#. (para)
#. (para)
msgid ""
"If the external project is in the same repository, any changes you make there "
"there will be included in the commit list when you commit your main project."
msgstr ""
"如果一个外部工程位于同一版本库中,当你向主项目提交你的修改时,你对外部工程做的"
"修改也会包含在提交列表中。"

#. (para)
#. (para)
msgid ""
"If the external project is in a different repository, any changes you make to "
"the external project will be notified when you commit the main project, but "
"you have to commit those external changes separately."
msgstr ""
"如果外部工程位于不同的版本库,当你向主项目提交你的修改时,你对外部工程做的修改"
"会被通报,但是你必须单独的提交这些外部项目的修改。"

#. (para)
msgid ""
"If you use absolute URLs in <literal>svn:externals</literal> definitions and "
"you have to relocate your working copy (i.e., if the URL of your repository "
"changes), then your externals won't change and might not work anymore."
msgstr ""

#. (para)
msgid ""
"To avoid such problems, Subversion clients version 1.5 and higher support "
"relative external URLs. Four different methods of specifying a relative URL "
"are supported. In the following examples, assume we have two repositories: "
"one at <systemitem class=\"url\">http://example.com/svn/repos-1</systemitem> "
"and another at <systemitem class=\"url\">http://example.com/svn/repos-2</"
"systemitem>. We have a checkout of <systemitem class=\"url\">http://example."
"com/svn/repos-1/project/trunk</systemitem> into <filename>C:\\Working</"
"filename> and the <literal>svn:externals</literal> property is set on trunk."
msgstr ""

#. (term)
msgid "Relative to parent directory"
msgstr "相对于父目录"

#. (para)
msgid ""
"These URLs always begin with the string <literal>../</literal> for example: "
"<screen>\n"
"../../widgets/foo common/foo-widget\n"
"</screen> This will extract <systemitem class=\"url\">http://example.com/svn/"
"repos-1/widgets/foo</systemitem> into <filename>C:\\Working\\common\\foo-"
"widget</filename>."
msgstr ""

#. (para)
msgid ""
"Note that the URL is relative to the URL of the directory with the "
"<literal>svn:externals</literal> property, not to the directory where the "
"external is written to disk."
msgstr ""

#. (term)
msgid "Relative to repository root"
msgstr "相对于版本库的根"

#. (para)
msgid ""
"These URLs always begin with the string <literal>^/</literal> for example: "
"<screen>\n"
"^/widgets/foo common/foo-widget\n"
"</screen> This will extract <systemitem class=\"url\">http://example.com/svn/"
"repos-1/widgets/foo</systemitem> into <filename>C:\\Working\\common\\foo-"
"widget</filename>."
msgstr ""

#. (para)
msgid ""
"You can easily refer to other repositories with the same "
"<literal>SVNParentPath</literal> (a common directory holding several "
"repositories). For example: <screen>\n"
"^/../repos-2/hammers/claw common/claw-hammer\n"
"</screen> This will extract <systemitem class=\"url\">http://example.com/svn/"
"repos-2/hammers/claw</systemitem> into <filename>C:\\Working\\common\\claw-"
"hammer</filename>."
msgstr ""

#. (term)
msgid "Relative to scheme"
msgstr "相对于方案"

#. (para)
msgid ""
"URLs beginning with the string <literal>//</literal> copy only the scheme "
"part of the URL. This is useful when the same hostname must the accessed with "
"different schemes depending upon network location; e.g. clients in the "
"intranet use <systemitem class=\"url\">http://</systemitem> while external "
"clients use <systemitem class=\"url\">svn+ssh://</systemitem>. For example: "
"<screen>\n"
"//example.com/svn/repos-1/widgets/foo common/foo-widget\n"
"</screen> This will extract <systemitem class=\"url\">http://example.com/svn/"
"repos-1/widgets/foo</systemitem> or <systemitem class=\"url\">svn+ssh://"
"example.com/svn/repos-1/widgets/foo</systemitem> depending on which method "
"was used to checkout <filename>C:\\Working</filename>."
msgstr ""

#. (term)
msgid "Relative to the server's hostname"
msgstr "相对于服务器主机名称"

#. (para)
msgid ""
"URLs beginning with the string <literal>/</literal> copy the scheme and the "
"hostname part of the URL, for example: <screen>\n"
"/svn/repos-1/widgets/foo common/foo-widget\n"
"</screen> This will extract <systemitem class=\"url\">http://example.com/svn/"
"repos-1/widgets/foo</systemitem> into <filename>C:\\Working\\common\\foo-"
"widget</filename>. But if you checkout your working copy from another server "
"at <systemitem class=\"url\">svn+ssh://another.mirror.net/svn/repos-1/"
"project1/trunk</systemitem> then the external reference will extract "
"<systemitem class=\"url\">svn+ssh://another.mirror.net/svn/repos-1/widgets/"
"foo</systemitem>."
msgstr ""

#. (para)
msgid ""
"If you need more information how TortoiseSVN handles Properties read <xref "
"linkend=\"tsvn-dug-propertypage\"/>."
msgstr ""
"如果你需要TortoiseSVN如何处理属性的更多信息,请阅读<xref linkend=\"tsvn-dug-"
"propertypage\"/>。"

#. (para)
msgid ""
"To find out about different methods of accessing common sub-projects read "
"<xref linkend=\"tsvn-howto-common-projects\"/>."
msgstr ""
"如果你需要知道存取公共子个我我你工程的不同方法,请阅读<xref linkend=\"tsvn-"
"howto-common-projects\"/>."

#. (title)
msgid "Branching / Tagging"
msgstr "分支/标记"

#. (primary)
#. (primary)
msgid "copy"
msgstr "复制"

#. (primary)
#, fuzzy
msgid "mark release"
msgstr "深红"

#. (para)
msgid ""
"One of the features of version control systems is the ability to isolate "
"changes onto a separate line of development. This line is known as a "
"<firstterm>branch</firstterm>. Branches are often used to try out new "
"features without disturbing the main line of development with compiler errors "
"and bugs. As soon as the new feature is stable enough then the development "
"branch is <firstterm>merged</firstterm> back into the main branch (trunk)."
msgstr ""
"版本控制系统的一个特性是能够把各种修改分离出来放在开发品的一个分割线上。这条线"
"被称为<firstterm>分支</firstterm>。分支经常被用来试验新的特性,而不会对开发有"
"编译错误的干扰。当新的特性足够稳定之后,开发品的分支就可以<firstterm>混合</"
"firstterm>回主分支里(主干线)."

#. (para)
msgid ""
"Another feature of version control systems is the ability to mark particular "
"revisions (e.g. a release version), so you can at any time recreate a certain "
"build or environment. This process is known as <firstterm>tagging</firstterm>."
msgstr ""
"版本控制系统的另一个特性是能够标记特殊的版本(例如某个发布版本),所以你可以在任"
"何时候重新建立一个特定的构件和环境。这个过程被称作<firstterm>标记</"
"firstterm>。"

#. (para)
#, fuzzy
msgid ""
"Subversion does not have special commands for branching or tagging, but uses "
"so-called <quote>cheap copies</quote> instead. Cheap copies are similar to "
"hard links in Unix, which means that instead of making a complete copy in the "
"repository, an internal link is created, pointing to a specific tree/"
"revision. As a result branches and tags are very quick to create, and take up "
"almost no extra space in the repository."
msgstr ""
"Subversion 没有用于建立分支和标记的特殊命令,但是使用所谓的<literal>便宜复制</"
"literal>来代替。便宜复制类似于Unix里的硬连接,它意思是代替一个版本库里的完整的"
"复制,创建一个内部的连接,指向一个具体的版本树。结果分支和标记就迅速被创建,并"
"且没有在版本库里占据任何额外的空间。"

#. (title)
msgid "Creating a Branch or Tag"
msgstr "创建一个分支或标记"

#. (title)
msgid "The Branch/Tag Dialog"
msgstr "分支/标记对话框"

#. (para)
msgid ""
"If you have imported your project with the recommended directory structure, "
"creating a branch or tag version is very simple: <placeholder-1/> Select the "
"folder in your working copy which you want to copy to a branch or tag, then "
"select the command <menuchoice><guimenu>TortoiseSVN</"
"guimenu><guimenuitem>Branch/Tag...</guimenuitem></menuchoice>."
msgstr ""
"如果你用推荐的目录结构导入了一个工程,那么创建分支或标记就非常简单: "
"<placeholder-1/>在你当前的工作副本中给你你想要复制的分支或标记选择一个目录,然"
"后选择命令<menuchoice><guimenu>TortoiseSVN</guimenu><guimenuitem>分支/标记..."
"</guimenuitem></menuchoice>。"

#. (para)
msgid ""
"The default destination URL for the new branch will be the source URL on "
"which your working copy is based. You will need to edit that URL to the new "
"path for your branch/tag. So instead of <screen>\n"
" http://svn.collab.net/repos/ProjectName/trunk\n"
"</screen> you might now use something like <screen>\n"
" http://svn.collab.net/repos/ProjectName/tags/Release_1.10\n"
"</screen> If you can't remember the naming convention you used last time, "
"click the button on the right to open the repository browser so you can view "
"the existing repository structure."
msgstr ""
"默认的目标URL将会是你当前工作副本所处的源URL。你必须给你的分支/标记编辑一个新"
"路径。来取代<screen>\n"
" http://svn.collab.net/repos/ProjectName/trunk\n"
"</screen>你可以使用这样的设置 <screen>\n"
" http://svn.collab.net/repos/ProjectName/tags/Release_1.10\n"
"</screen>如果你忘记了你上一次使用的命名约定,可以用鼠标右键打开版本库浏览器来"
"察看已经存在的版本库结构。"

#. (term)
#. (listitem)
msgid "HEAD revision in the repository"
msgstr "版本库中的最新版本"

#. (para)
msgid ""
"The new branch is copied directly in the repository from the HEAD revision. "
"No data needs to be transferred from your working copy, and the branch is "
"created very quickly."
msgstr ""
"新分支直接从仓库中的最新版本里复制出来。不需要从你的工作副本中传输任何数据,这"
"个分支的建立是非常快的。"

#. (term)
msgid "Specific revision in the repository"
msgstr "在版本库中指定具体的版本"

#. (para)
msgid ""
"The new branch is copied directly in the repository but you can choose an "
"older revision. This is useful if you forgot to make a tag when you released "
"your project last week. If you can't remember the revision number, click the "
"button on the right to show the revision log, and select the revision number "
"from there. Again no data is transferred from your working copy, and the "
"branch is created very quickly."
msgstr ""
"在仓库中直接复制建立一个新分支同时你也可以选择一个旧版本。假如在你上周发布了项"
"目时忘记了做标记,这将非常有用。如果你记不起来版本号,通过点击鼠标右键来显示版"
"本日志,同时从这里选取版本号。和上次一样不需要从你的工作副本中传输任何数据,这"
"个分支建立起来是非常快的。"

#. (para)
msgid ""
"The new branch is an identical copy of your local working copy. If you have "
"updated some files to an older revision in your WC, or if you have made local "
"changes, that is exactly what goes into the copy. Naturally this sort of "
"complex tag may involve transferring data from your WC back to the repository "
"if it does not exist there already."
msgstr ""
"新的分支是一个完全等同于你的本地工作副本的一个副本。如果你更新了一些文件到你的"
"工作副本的某个旧版本里,或者你在本地做出了修改,这些改变将准确无误的进入副本"
"中。自然而然地这种综合的标记会包含正在从工作副本传输到版本库的数据,如果这些数"
"据还不存在的话。"

#. (para)
msgid ""
"Now you have to select the source of the copy. Here you have three options: "
"<placeholder-1/>"
msgstr "现在你必须选择要复制的源位置。在这里你有三个设置选项: <placeholder-1/>"

#. (para)
msgid ""
"If you want your working copy to be switched to the newly created branch "
"automatically, use the <guilabel>Switch working copy to new branch/tag</"
"guilabel> checkbox. But if you do that, first make sure that your working "
"copy does not contain modifications. If it does, those changes will be merged "
"into the branch WC when you switch."
msgstr ""
"如果你想把你的工作副本自动切换到最新创建的分支,使用<guilabel>转换工作副本至新"
"分支/标记</guilabel> 选择框.但是如果你打算这么做,首先要确认你的工作副本没有被"
"修改。如果有修改的话,当你转换后这些修改将会混合进你的工作副本分支里。"

#. (para)
msgid ""
"Press <guibutton>OK</guibutton> to commit the new copy to the repository. "
"Don't forget to supply a log message. Note that the copy is created "
"<emphasis>inside the repository</emphasis>."
msgstr ""
"按下<guibutton>确认</guibutton>提交新副本到版本库中。别忘了提供一条日志信息。"
"需要注意的是这个副本是在<emphasis>版本库内部</emphasis>创建的。"

#. (para)
#, fuzzy
msgid ""
"Note that unless you opted to switch your working copy to the newly created "
"branch, creating a Branch or Tag does <emphasis>not</emphasis> affect your "
"working copy. Even if you create the branch from your WC, those changes are "
"committed to the new branch, not to the trunk, so your WC may still be marked "
"as modified with respect to the trunk."
msgstr ""
"需要注意建立一个分支或标记<emphasis>不会</emphasis>影响你的工作副本。即使你复"
"制了你的工作副本,这些修改也会提交到新分支里,而不是到主干里,所以你的工作副本"
"可能仍然标记为已修改状态。"

#. (title)
msgid "To Checkout or to Switch..."
msgstr "检出或者切换"

#. (primary)
msgid "switch"
msgstr "切换"

#. (para)
#, fuzzy
msgid ""
"...that is (not really) the question. While a checkout downloads everything "
"from the desired branch in the repository to your working directory, "
"<menuchoice><guimenu>TortoiseSVN</guimenu><guimenuitem>Switch...</"
"guimenuitem></menuchoice> only transfers the changed data to your working "
"copy. Good for the network load, good for your patience. :-)"
msgstr ""
"...这是个小问题。当你想从预期的分支检出所有数据到你的工作副本目录时"
"<menuchoice><guimenu>TortoiseSVN</guimenu><guimenuitem>切换...</guimenuitem></"
"menuchoice> 仅仅传输已经被修改的数据到你的工作副本中。这样能减轻你的网络负担,"
"也能减少你的耐心。"

#. (para)
msgid ""
"<menuchoice><guimenu>TortoiseSVN</guimenu><guimenuitem>Checkout</"
"guimenuitem></menuchoice> to make a fresh checkout in an empty folder. You "
"can check out to any location on your local disk and you can create as many "
"working copies from your repository as you like."
msgstr ""
"<menuchoice><guimenu>TortoiseSVN</guimenu><guimenuitem>检出</guimenuitem></"
"menuchoice>一个最新的项目在一个空目录下。你可以在你的本地磁盘上的任意位置进行"
"检出操作,同时你可以从版本库中按照你的意愿建立出任意数量的副本。"

#. (para)
msgid ""
"Switch your current working copy to the newly created copy in the repository. "
"Again select the top level folder of your project and use "
"<menuchoice><guimenu>TortoiseSVN</guimenu><guimenuitem>Switch...</"
"guimenuitem></menuchoice> from the context menu."
msgstr ""
"在版本库中从你当前的工作副本切换到最新建立的副本。再一次选择你的项目所处的顶级"
"文件夹然后在菜单中使用<menuchoice><guimenu>TortoiseSVN</guimenu><guimenuitem>"
"切换...</guimenuitem></menuchoice>。"

#. (para)
msgid ""
"In the next dialog enter the URL of the branch you just created. Select the "
"<guilabel>Head Revision</guilabel> radio button and click on <guibutton>OK</"
"guibutton>. Your working copy is switched to the new branch/tag."
msgstr ""
"在接下来的对话框中蠕蠕你刚才建立的分支的URL。选择<guilabel>最新版本</guilabel>"
"单选按钮然后<guibutton>确认</guibutton>。你的工作副本就切换到了最新的分支/标"
"记。"

#. (para)
msgid ""
"Switch works just like Update in that it never discards your local changes. "
"Any changes you have made to your working copy which have not yet been "
"committed will be merged when you do the Switch. If you do not want this to "
"happen then you must either commit the changes before switching, or revert "
"your working copy to an already-committed revision (typically HEAD)."
msgstr ""
"切换操作起来就象更新,因为它没有丢弃你在本地做的修改。在工作副本里当你进行切换"
"的时候任何没有提交过的修改都会被混合。如果你不想看到这样的结果,那么你可以有两"
"种选择,要么在切换前提交修改,要么把工作副本恢复到一个已经提交过的版本(比如最"
"新版本)。"

#. (para)
#, fuzzy
msgid ""
"If you want to work on trunk and branch, but don't want the expense of a "
"fresh checkout, you can use Windows Explorer to make a copy of your trunk "
"checkout in another folder, then <menuchoice><guimenu>TortoiseSVN</"
"guimenu><guimenuitem>Switch...</guimenuitem></menuchoice> that copy to your "
"new branch."
msgstr ""
"在版本库中从你当前的工作副本切换到最新建立的副本。再一次选择你的项目所处的顶级"
"文件夹然后在菜单中使用<menuchoice><guimenu>TortoiseSVN</guimenu><guimenuitem>"
"切换...</guimenuitem></menuchoice>。"

#. (title)
msgid "The Switch Dialog"
msgstr "切换对话框"

#. (para)
#, fuzzy
msgid ""
"To be able to work with your freshly generated branch or tag you have several "
"ways to handle it. You can: <placeholder-1/><placeholder-2/>"
msgstr ""
"为了能够使用你最新产生的副本你有采用下面几种方法。你可以: <placeholder-1/"
"><placeholder-2/>"

#. (para)
msgid ""
"Tags are typically used to create a static snapshot of the project at a "
"particular stage. As such they not normally used for development - that's "
"what branches are for, which is the reason we recommended the <filename>/"
"trunk /branches /tags</filename> repository structure in the first place. "
"Working on a tag revision is <emphasis>not a good idea</emphasis>, but "
"because your local files are not write protected there is nothing to stop you "
"doing this by mistake. However, if you try to commit to a path in the "
"repository which contains <filename>/tags/</filename>, TortoiseSVN will warn "
"you."
msgstr ""
"在某个特殊的阶段标记被用来建立一个项目的静态映像。同样地标记和分支应该被独特地"
"应用于开发品。这就是我们首选推荐 <filename>/trunk /branches /tags</filename>这"
"样的版本库结构的原因。使用标记的版本并不是一个<emphasis>好想法</emphasis>,因"
"为你的本地文件没有写保护,你这样做容易犯错误。不管怎样如果你试着提交(修改)到一"
"个包含<filename>/标记/</filename>的版本库路径下,TortoiseSVN 会给你警告。"

#. (para)
msgid ""
"It may be that you need to make further changes to a release which you have "
"already tagged. The correct way to handle this is to create a new branch from "
"the tag first and commit the branch. Do your Changes on this branch and then "
"create a new tag from this new branch, e.g. <filename>Version_1.0.1</"
"filename>."
msgstr ""
"如果你想要在一个已经标记的发布版上做更多的修改。正确的操作方法是先从标记处建立"
"一个新分支然后提交这个分支。在这个分支的基础上进行修改后再从这个新分支上建立一"
"个新标记,例如 <filename>Version_1.0.1</filename>。"

#. (para)
msgid ""
"If you modify a working copy created from a branch and commit, then all "
"changes go to the new branch and <emphasis>not</emphasis> the trunk. Only the "
"modifications are stored. The rest remains a cheap copy."
msgstr ""
"如果你修改了一个从分支建立的工作副本然后又提交了这个副本,那么所有的修改会转到"
"一个新分支里而<emphasis>不是</emphasis> 主干。仅仅是存储了修改的数据。其余的数"
"据还是便宜复制。"

#. (para)
msgid ""
"Although Subversion itself makes no distinction between tags and branches, "
"the way they are typically used differs a bit. <placeholder-1/>"
msgstr ""
"尽管Subversion本身不区分标记和分支,它们的使用方法还是有些不同。<placeholder-"
"1/>"

#. (title)
msgid "Merging"
msgstr "正在合并"

#. (primary)
#. (primary)
#. (primary)
#. (primary)
msgid "merge"
msgstr "合并"

#. (para)
msgid ""
"Where branches are used to maintain separate lines of development, at some "
"stage you will want to merge the changes made on one branch back into the "
"trunk, or vice versa."
msgstr ""
"分支用来维护独立的开发支线,在一些阶段,你可能需要将分支上的修改合并到最新版"
"本,或者将最新版本的修改合并到分支。"

#. (para)
#, fuzzy
msgid ""
"It is important to understand how branching and merging works in Subversion "
"before you start using it, as it can become quite complex. It is highly "
"recommended that you read the chapter <ulink url=\"http://svnbook.red-bean."
"com/en/1.5/svn.branchmerge.html\"><citetitle>Branching and Merging</"
"citetitle></ulink> in the Subversion book, which gives a full description and "
"many examples of how it is used."
msgstr ""
"因为分支与合并很复杂,所以在你开始使用之前,请先理解它是怎么工作的。强烈建议你"
"阅读《使用 Subversion 进行版本管理》的<ulink url=\"http://svnbook.red-bean."
"com/en/1.2/svn.branchmerge.html\"><citetitle>分支与合并</citetitle></ulink>章"
"节,它给出了全面的描述,和许多使用举例。"

#. (para)
msgid ""
"The next point to note is that merging <emphasis>always</emphasis> takes "
"place within a working copy. If you want to merge changes <emphasis>into</"
"emphasis> a branch, you have to have a working copy for that branch checked "
"out, and invoke the merge wizard from that working copy using "
"<menuchoice><guimenu>TortoiseSVN</guimenu><guimenuitem>Merge...</"
"guimenuitem></menuchoice>."
msgstr ""

#. (para)
msgid ""
"In general it is a good idea to perform a merge into an unmodified working "
"copy. If you have made other changes in your WC, commit those first. If the "
"merge does not go as you expect, you may want to revert the changes, and the "
"<guilabel>Revert</guilabel> command will discard <emphasis>all</emphasis> "
"changes including any you made before the merge."
msgstr ""
"通常来说,在没有修改的工作副本上执行合并是一个好想法。如果你在工作副本上做了修"
"改,请先提交。如果合并没有按照你的想法执行,你可能需要撤销这些修改,命令"
"<guilabel>恢复</guilabel> 会丢弃包含你执行合并之前的<emphasis>所有</emphasis>"
"修改。"

#. (para)
#, fuzzy
msgid ""
"There are three common use cases for merging which are handled in slightly "
"different ways, as described below. The first page of the merge wizard asks "
"you to select the method you need."
msgstr "这里有两个处理稍微不同的用例,如下所述。"

#. (term)
msgid "Merge a range of revisions"
msgstr "合并版本范围"

#. (para)
msgid ""
"This method covers the case when you have made one or more revisions to a "
"branch (or to the trunk) and you want to port those changes across to a "
"different branch."
msgstr ""
"这个方法覆盖了你已经在分支(或者最新版本)上做出了一个或多个修改,并且你想将这些"
"修改应用到不同分支的情况。"

#. (para)
msgid ""
"What you are asking Subversion to do is this: <quote>Calculate the changes "
"necessary to get [FROM] revision 1 of branch A [TO] revision 7 of branch A, "
"and apply those changes to my working copy (of trunk or branch B).</quote>"
msgstr ""

#. (term)
#. (title)
msgid "Reintegrate a branch"
msgstr "复兴分支"

#. (para)
#, fuzzy
msgid ""
"This method covers the case when you have made a feature branch as discussed "
"in the Subversion book. All trunk changes have been ported to the feature "
"branch, week by week, and now the feature is complete you want to merge it "
"back into the trunk. Because you have kept the feature branch synchronized "
"with the trunk, the latest versions of branch and trunk will be absolutely "
"identical except for your branch changes."
msgstr ""
"这个用例覆盖了这种情况,当你象《Subversion手册》里讨论的那样,创建了一个新特性"
"分支。所有最新版本的修改都要每周一次合并到新特性分支,等新特性完成后,你向将它"
"合并到最新版本。因为你已经保持了新特性分支和最新版本同步,所以除了你在分支做的"
"修改,其它部分在分支和最新版本应该是相同的。于是在这种情况下,你应当用比较分支"
"和最新版本的方法来合并。"

#. (para)
msgid ""
"This is a special case of the tree merge described below, and it requires "
"only the URL to merge from (normally) your development branch. It uses the "
"merge-tracking features of Subversion to calculate the correct revision "
"ranges to use, and perform additional checks which ensure that the branch has "
"been fully updated with trunk changes. This ensures that you don't "
"accidentally undo work that others have committed to trunk since you last "
"synchronized changes."
msgstr ""

#. (para)
msgid ""
"After the merge, all branch development has been completely merged back into "
"the main development line. The branch is now redundant and can be deleted."
msgstr ""

#. (para)
msgid ""
"Once you have performed a reintegrate merge you should not continue to use it "
"for development. The reason for this is that if you try to resynchronize your "
"existing branch from trunk later on, merge tracking will see your "
"reintegration as a trunk change that has not yet been merged into the branch, "
"and will try to merge the branch-to-trunk merge back into the branch! The "
"solution to this is simply to create a new branch from trunk to continue the "
"next phase of your development."
msgstr ""

#. (term)
msgid "Merge two different trees"
msgstr "合并两个不同的树"

#. (para)
msgid ""
"This is a more general case of the reintegrate method. What you are asking "
"Subversion to do is: <quote>Calculate the changes necessary to get [FROM] the "
"head revision of the trunk [TO] the head revision of the branch, and apply "
"those changes to my working copy (of the trunk).</quote> The net result is "
"that trunk now looks exactly like the branch."
msgstr ""

#. (para)
msgid ""
"If your server/repository does not support merge-tracking then this is the "
"only way to merge a branch back to trunk. Another use case occurs when you "
"are using vendor branches and you need to merge the changes following a new "
"vendor drop into your trunk code. For more information read the chapter on "
"<ulink url=\"http://svnbook.red-bean.com/en/1.5/svn.advanced.vendorbr.html"
"\"><citetitle>vendor branches</citetitle></ulink> in the Subversion Book."
msgstr ""

#. (title)
msgid "Merging a Range of Revisions"
msgstr "合并指定版本范围"

#. (secondary)
msgid "revision range"
msgstr "版本范围"

#. (title)
msgid "The Merge Wizard - Select Revision Range"
msgstr "合并向导 - 选择版本范围"

#. (para)
#, fuzzy
msgid ""
"<placeholder-1/> In the <guilabel>From:</guilabel> field enter the full "
"folder URL of the branch or tag containing the changes you want to port into "
"your working copy. You may also click <guibutton>...</guibutton> to browse "
"the repository and find the desired branch. If you have merged from this "
"branch before, then just use the drop down list which shows a history of "
"previously used URLs."
msgstr ""
"在<guilabel>从:</guilabel>域输入文件夹在分支或标记中的完整URL,它包含了你想应"
"用到工作副本的修改。你也可以点击<guibutton>...</guibutton>浏览版本库,找到渴望"
"的分支。如果你以前已经从这个分支合并过,可以直接从包含历史的下拉列表选择以前使"
"用的URL。"

#. (para)
msgid ""
"In the <guilabel>Revision range to merge</guilabel> field enter the list of "
"revisions you want to merge. This can be a single revision, a list of "
"specific revisions separated by commas, or a range of revisions separated by "
"a dash, or any combination of these."
msgstr ""

#. (para)
msgid ""
"There is an important difference in the way a revision range is specified "
"with TortoiseSVN compared to the command line client. The easiest way to "
"visualise it is to think of a fence with posts and fence panels."
msgstr ""

#. (para)
msgid ""
"With the command line client you specify the changes to merge using two "
"<quote>fence post</quote> revisions which specify the <emphasis>before</"
"emphasis> and <emphasis>after</emphasis> points."
msgstr ""

#. (para)
msgid ""
"With TortoiseSVN you specify the changeset to merge using <quote>fence "
"panels</quote>. The reason for this becomes clear when you use the log dialog "
"to specify revisions to merge, where each revision appears as a changeset."
msgstr ""

#. (para)
msgid ""
"If you are merging revisions in chunks, the method shown in the subversion "
"book will have you merge 100-200 this time and 200-300 next time. With "
"TortoiseSVN you would merge 100-200 this time and 201-300 next time."
msgstr ""

#. (para)
msgid ""
"This difference has generated a lot of heat on the mailing lists. We "
"acknowledge that there is a difference from the command line client, but we "
"believe that for the majority of GUI users it is easier to understand the "
"method we have implemented."
msgstr ""

#. (para)
#, fuzzy
msgid ""
"The easiest way to select the range of revisions you need is to click on "
"<guibutton>Show Log</guibutton>, as this will list recent changes with their "
"log comments. If you want to merge the changes from a single revision, just "
"select that revision. If you want to merge changes from several revisions, "
"then select that range (using the usual <keycap>Shift</keycap>-modifier). "
"Click on <guibutton>OK</guibutton> and the list of revision numbers to merge "
"will be filled in for you."
msgstr ""
"选择版本范围最简单的方法是,点击<guibutton>显示日志</guibutton>,列出最近的修"
"改和日志。如果你要合并单个版本的修改,直接选取那个版本。如果你要合并多个版本,"
"就选择范围(使用通常的<keycap>Shift</keycap>-键)。点击<guibutton>确认</"
"guibutton>,就会为你填写合并对话框的<emphasis>全部</emphasis>域,<guilabel>开"
"始版本</guilabel>和<guilabel>结束版本</guilabel>。"

#. (para)
msgid ""
"If you want to merge changes back <emphasis>out</emphasis> of your working "
"copy, to revert a change which has already been committed, select the "
"revisions to revert and make sure the <guilabel>Reverse merge</guilabel> box "
"is checked."
msgstr ""

#. (para)
#, fuzzy
msgid ""
"If you have already merged some changes from this branch, hopefully you will "
"have made a note of the last revision merged in the log message when you "
"committed the change. In that case, you can use <guibutton>Show Log</"
"guibutton> for the Working Copy to trace that log message. Remembering that "
"we are thinking of revisions as changesets, you should Use the revision after "
"the end point of the last merge as the start point for this merge. For "
"example, if you have merged revisions 37 to 39 last time, then the start "
"point for this merge should be revision 40."
msgstr ""
"如果你已经从这个分支合并了一些修改,希望你在提交日志中注明最后一个合并的版本"
"号。这时,你可以在工作服本上使用<guibutton>显示日志</guibutton>对话框跟踪日"
"志。使用最后合并的版本号作为本次合并的开始版本。例如,你已经合并了版本37到39,"
"那么本次合并你应该从版本39开始。"

#. (para)
msgid ""
"If you are using the merge tracking features of Subversion, you do not need "
"to remember which revisions have already been merged - Subversion will record "
"that for you. If you leave the revision range blank, all revisions which have "
"not yet been merged will be included. Read <xref linkend=\"tsvn-dug-merge-"
"tracking\"/> to find out more."
msgstr ""

#. (para)
msgid ""
"If other people may be committing changes then be careful about using the "
"HEAD revision. It may not refer to the revision you think it does if someone "
"else made a commit after your last update."
msgstr ""
"如果其他用户可能提交,那么要小心使用最新版本。如果有人在你最近更新之后提交了,"
"它指代的版本可能就不是你想的那样了。"

#. (para)
msgid ""
"Click <guibutton>Next</guibutton> and go to <xref linkend=\"tsvn-dug-merge-"
"options\"/>"
msgstr ""
"点击 <guibutton>下一步</guibutton> 进入 <xref linkend=\"tsvn-dug-merge-options"
"\"/>"

#. (secondary)
msgid "reintegrate"
msgstr "复兴"

#. (title)
#, fuzzy
msgid "The Merge Wizard - Reintegrate Merge"
msgstr "合并向导 - 树合并"

#. (para)
#, fuzzy
msgid ""
"<placeholder-1/> To merge a feature branch back into the trunk you must start "
"the merge wizard from within a working copy of the trunk."
msgstr ""
"为了将新特性从分支合并到最新版本,你需要进入最新版本的工作副本。在右键菜单选"
"择 <menuchoice><guimenu>TortoiseSVN</guimenu><guimenuitem>合并...</"
"guimenuitem></menuchoice> <placeholder-1/>"

#. (para)
#, fuzzy
msgid ""
"In the <guilabel>From URL:</guilabel> field enter the full folder URL of the "
"branch that you want to merge back. You may also click <guibutton>...</"
"guibutton> to browse the repository."
msgstr ""
"在<guilabel>开始:</guilabel>域输入<emphasis>trunk</emphasis>文件夹的全路径。这"
"听起来好象是错误的,但是切记 trunk 是你想增加分支修改的开始点。也可以点击 "
"<guibutton>...</guibutton>浏览版本库。"

#. (para)
msgid ""
"There are some conditions which apply to a reintegrate merge. Firstly, the "
"server must support merge tracking. The working copy must be of depth "
"infinite (no sparse checkouts), and it must not have any local modifications, "
"switched items or items that have been updated to revisions other than HEAD. "
"All changes to trunk made during branch development must have been merged "
"across to the branch (or marked as having been merged). The range of "
"revisions to merge will be calculated automatically."
msgstr ""

#. (title)
msgid "Merging Two Different Trees"
msgstr "合并两个不同的目录树"

#. (secondary)
msgid "two trees"
msgstr ""

#. (title)
msgid "The Merge Wizard - Tree Merge"
msgstr "合并向导 - 树合并"

#. (para)
msgid ""
"<placeholder-1/> If you are using this method to merge a feature branch back "
"to trunk, you need to start the merge wizard from within a working copy of "
"trunk."
msgstr ""

#. (para)
#, fuzzy
msgid ""
"In the <guilabel>From:</guilabel> field enter the full folder URL of the "
"<emphasis>trunk</emphasis>. This may sound wrong, but remember that the trunk "
"is the start point to which you want to add the branch changes. You may also "
"click <guibutton>...</guibutton> to browse the repository."
msgstr ""
"在<guilabel>开始:</guilabel>域输入<emphasis>trunk</emphasis>文件夹的全路径。这"
"听起来好象是错误的,但是切记 trunk 是你想增加分支修改的开始点。也可以点击 "
"<guibutton>...</guibutton>浏览版本库。"

#. (para)
msgid ""
"In the <guilabel>To:</guilabel> field enter the full folder URL of the "
"feature branch."
msgstr "在<guilabel>到:</guilabel>域输入关注的分支中文件夹的全路径。"

#. (para)
msgid ""
"In both the <guilabel>From Revision</guilabel> field and the <guilabel>To "
"Revision</guilabel> field, enter the last revision number at which the two "
"trees were synchronized. If you are sure no-one else is making commits you "
"can use the HEAD revision in both cases. If there is a chance that someone "
"else may have made a commit since that synchronization, use the specific "
"revision number to avoid losing more recent commits."
msgstr ""
"在<guilabel>开始版本</guilabel>和<guilabel>结束版本</guilabel> 域,输入两个树"
"被同步的最后一个版本号。如果你确信没有其他人提交,两个都可是输入 HEAD。如果在"
"同步时可能有人提交的话,使用清楚的版本号以便面丢失最新提交。"

#. (para)
msgid "You can also use <guibutton>Show Log</guibutton> to select the revision."
msgstr "也可以使用 <guibutton>显示日志</guibutton> 选择版本。"

#. (title)
msgid "Merge Options"
msgstr "合并选项"

#. (para)
msgid ""
"This page of the wizard lets you specify advanced options, before starting "
"the merge process. Most of the time you can just use the default settings."
msgstr ""

#. (para)
#, fuzzy
msgid ""
"You can specify the depth to use for the merge, i.e. how far down into your "
"working copy the merge should go. The depth terms used are described in <xref "
"linkend=\"tsvn-dug-checkout-depth\"/>. The default depth is <guilabel>Working "
"copy</guilabel>, which uses the existing depth setting, and is almost always "
"what you want."
msgstr ""
"你可以指定合并的深度。深度这个术语在 <xref linkend=\"tsvn-dug-checkout-depth"
"\"/> 描述。默认深度是<guilabel>工作副本</guilabel>,它使用现有的深度配置。"

#. (para)
#, fuzzy
msgid ""
"Most of the time you want merge to take account of the file's history, so "
"that changes relative to a common ancestor are merged. Sometimes you may need "
"to merge files which are perhaps related, but not in your repository. For "
"example you may have imported versions 1 and 2 of a third party library into "
"two separate directories. Although they are logically related, Subversion has "
"no knowledge of this because it only sees the tarballs you imported. If you "
"attempt to merge the difference between these two trees you would see a "
"complete removal followed by a complete add. To make Subversion use only path-"
"based differences rather than history-based differences, check the "
"<guilabel>Ignore ancestry</guilabel> box. Read more about this topic in the "
"Subversion book, <ulink url=\"http://svnbook.red-bean.com/en/1.5/svn."
"branchmerge.advanced.html#svn.branchmerge.advanced.ancestry"
"\"><citetitle>Noticing or Ignoring Ancestry</citetitle></ulink>"
msgstr ""
"大部分时候,你要合并文件的历史,所以要相对于公共祖先合并。有时你需要合并或许是"
"有关系的文件,但是不在你的版本库中。例如,你已经将一个第三方库的版本1和2导入到"
"两个单独目录。尽管它们逻辑相关,因为Subversion只看到你导入的文件,所以它不知道"
"这些关系。如果你试图合并这两个树的修改,将会看到完全的删除和增加。让Subversion"
"只使用路径差异,不关心历史差异,选中<guilabel>忽略祖先</guilabel>检查框。你可"
"以在《使用 Subversion 进行版本管理》的<ulink url=\"http://svnbook.red-bean."
"com/en/1.2/svn.branchmerge.copychanges.html\"><citetitle>关心或忽略祖先</"
"citetitle></ulink>中阅读此主题的更多信息。"

#. (para)
msgid ""
"You can specify the way that line ending and whitespace changes are handled. "
"These options are described in <xref linkend=\"tsvn-dug-diff-eol-whitespace\"/"
">. The default behaviour is to treat all whitespace and line-end differences "
"as real changes to be merged."
msgstr ""

#. (para)
msgid ""
"If you are using merge tracking and you want to mark a revision as having "
"been merged, without actually doing the merge here, check the <guilabel>Only "
"record the merge</guilabel> checkbox. There are two possible reasons you "
"might want to do this. It may be that the merge is too complicated for the "
"merge algorithms, so you code the changes by hand, then mark the change as "
"merged so that the merge tracking algorithm is aware of it. Or you might want "
"to prevent a particular revision from being merged. Marking it as already "
"merged will prevent the merge occurring with merge-tracking-aware clients."
msgstr ""

#. (para)
#, fuzzy
msgid ""
"Now everything is set up, all you have to do is click on the "
"<guibutton>Merge</guibutton> button. If you want to preview the results "
"<guibutton>Test Merge</guibutton> performs the merge operation, but does "
"<emphasis>not</emphasis> modify the working copy at all. It shows you a list "
"of the files that will be changed by a real merge, and notes those areas "
"where conflicts will occur."
msgstr ""
"<guibutton>演习运行</guibutton>执行合并操作,但是根本<emphasis>不</emphasis> "
"修改工作副本。它显示在真实的合并中要修改的文件列表,还告诉你哪里会出现冲突。"

#. (para)
msgid ""
"The merge progress dialog shows each stage of the merge, with the revision "
"ranges involved. This may indicate one more revision than you were expecting. "
"For example if you asked to merge revision 123 the progress dialog will "
"report <quote>Merging revisions 122 through 123</quote>. To understand this "
"you need to remember that Merge is closely related to Diff. The merge process "
"works by generating a list of differences between two points in the "
"repository, and applying those differences to your working copy. The progress "
"dialog is simply showing the start and end points for the diff."
msgstr ""

#. (title)
msgid "Reviewing the Merge Results"
msgstr "预览合并结果"

#. (para)
msgid ""
"The merge is now complete. It's a good idea to have a look at the merge and "
"see if it's as expected. Merging is usually quite complicated. Conflicts "
"often arise if the branch has drifted far from the trunk."
msgstr ""

#. (para)
#, fuzzy
msgid ""
"For Subversion clients and servers prior to 1.5, no merge information is "
"stored and merged revisions have to be tracked manually. When you have tested "
"the changes and come to commit this revision, your commit log message should "
"<emphasis>always</emphasis> include the revision numbers which have been "
"ported in the merge. If you want to apply another merge at a later time you "
"will need to know what you have already merged, as you do not want to port a "
"change more than once. For more information about this, refer to <ulink url="
"\"http://svnbook.red-bean.com/en/1.4/svn.branchmerge.copychanges.html#svn."
"branchmerge.copychanges.bestprac\"><citetitle>Best Practices for Merging</"
"citetitle></ulink> in the Subversion book."
msgstr ""
"当你已经测试了修改,准备提交时,日志信息应当<emphasis>总是</emphasis>包含这次"
"合并的版本信息。如果你以后需要执行合并,就需要知道已经合并了什么,因为你不想多"
"次合并同一修改。不幸的是,合并信息不会存储在Subversion版本库中。阅读《使用 "
"Subversion 进行版本管理》中的<ulink url=\"http://svnbook.red-bean.com/en/1.2/"
"svn.branchmerge.copychanges.html\"><citetitle>合并的最佳实践</citetitle></"
"ulink>章节以获得更多信息。"

#. (para)
msgid ""
"If your server and all clients are running Subversion 1.5 or higher, the "
"merge tracking facility will record the revisions merged and avoid a revision "
"being merged more than once. This makes your life much simpler as you can "
"simply merge the entire revision range each time and know that only new "
"revisions will actually be merged."
msgstr ""
"如果你的服务器和所有客户端都使用 Subversion 1.5 或更高版本,合并跟踪工具会记录"
"已经合并的版本,避免某个版本被合并多次。它会使你的生活更简单,因为你每次都可以"
"简单的合并全部版本范围,并且知道只有新版本才会实际被合并。"

#. (para)
msgid ""
"Branch management is important. If you want to keep this branch up to date "
"with the trunk, you should be sure to merge often so that the branch and "
"trunk do not drift too far apart. Of course, you should still avoid repeated "
"merging of changes, as explained above."
msgstr ""
"分支管理很重要。如果你要保持这个分支与最新版本同步,你应当经常合并,这样分支和"
"最新版本的差别就不会太大。当然,你仍旧应该遵循上面的说明,避免重复合并修改。"

#. (para)
#, fuzzy
msgid ""
"If you have just merged a feature branch back into the trunk, the trunk now "
"contains all the new feature code, and the branch is obsolete. You can now "
"delete it from the repository if required."
msgstr ""
"这种情况下,因为新特性已经集成到最新版本,你不再需要这个新特性分支。新特性分支"
"变成多余的,如果需要可以从版本库删除它。"

#. (para)
#, fuzzy
msgid ""
"Subversion can't merge a file with a folder and vice versa - only folders to "
"folders and files to files. If you click on a file and open up the merge "
"dialog, then you have to give a path to a file in that dialog. If you select "
"a folder and bring up the dialog, then you must specify a folder URL for the "
"merge."
msgstr ""
"Subversion不能进行文件与文件夹的合并,反之亦然 - 只能文件夹对文件夹,文件对文"
"件。如果选择了文件,打开合并对话框,那么你必须在对话框中给出文件的路径。如果你"
"选择了文件夹,打开合并对话框,那么你必须给出文件夹的对话框。"

#. (title)
msgid "Merge Tracking"
msgstr "合并跟踪"

#. (primary)
msgid "merge tracking"
msgstr "合并跟踪"

#. (para)
msgid ""
"You can avoid the danger of merging the same revision twice (repeated merge "
"problem). Once a revision is marked as having been merged, future merges "
"which include that revision in the range will skip over it."
msgstr ""

#. (para)
msgid ""
"When you merge a branch back into trunk, the log dialog can show you the "
"branch commits as part of the trunk log, giving better traceability of "
"changes."
msgstr ""

#. (para)
msgid ""
"When you show the log dialog from within the merge dialog, revisions already "
"merged are shown in grey."
msgstr ""

#. (para)
msgid ""
"When showing blame information for a file, you can choose to show the "
"original author of merged revisions, rather than the person who did the merge."
msgstr ""

#. (para)
msgid ""
"You can mark revisions as <emphasis>do not merge</emphasis> by including them "
"in the list of merged revisions without actually doing the merge."
msgstr ""

#. (para)
msgid ""
"Subversion 1.5 introduced facilities for merge tracking. When you merge "
"changes from one tree into another, the revision numbers merged are stored "
"and this information can be used for several different purposes. <placeholder-"
"1/>"
msgstr ""
"Subversion 1.5 引入了合并跟踪特性。当你合并版本树时,版本号会被保存,此信息可"
"以用于几个目的。<placeholder-1/>"

#. (para)
msgid ""
"Merge tracking information is stored in the <literal>svn:mergeinfo</literal> "
"property by the client when it performs a merge. When the merge is committed "
"the server stores that information in a database, and when you request merge, "
"log or blame information, the server can respond appropriately. For the "
"system to work properly you must ensure that the server, the repository and "
"all clients are upgraded. Earlier clients will not store the <literal>svn:"
"mergeinfo</literal> property and earlier servers will not provide the "
"information requested by new clients."
msgstr ""

#. (para)
#, fuzzy
msgid ""
"Find out more about merge tracking from Subversion's <ulink url=\"http://"
"subversion.tigris.org/merge-tracking/index.html\"><citetitle>Merge tracking "
"documentation</citetitle></ulink>."
msgstr ""
"从<ulink url=\"http://subversion.tigris.org/servlets/ProjectDocumentList?"
"folderID=91\"><citetitle>http://subversion.tigris.org/servlets/"
"ProjectDocumentList?folderID=91</citetitle></ulink>下载最新版本的Subversion。"

#. (title)
msgid "Handling Conflicts during Merge"
msgstr "子合并期间处理冲突"

#. (primary)
msgid "merge conflicts"
msgstr "合并冲突"

#. (title)
msgid "The Merge Conflict Callback Dialog"
msgstr "合并冲突回调对话框"

#. (para)
msgid ""
"Merging does not always go smoothly. Sometimes there is a conflict, and if "
"you are merging multiple ranges, you generally want to resolve the conflict "
"before merging of the next range starts. TortoiseSVN helps you through this "
"process by showing the <emphasis>merge conflict callback</emphasis> dialog. "
"<placeholder-1/>"
msgstr ""

#. (para)
msgid ""
"You may decide that your local changes are much more important, so you want "
"to discard the version from the repository and keep your local version. Or "
"you might discard your local changes in favour of the repository version. "
"Either way, no attempt is made to merge the changes - you choose one or the "
"other."
msgstr ""

#. (para)
msgid ""
"Normally you will want to look at the conflicts and resolve them. In that "
"case, choose the <guibutton>Edit Conflict</guibutton> which will start up "
"your merge tool. When you are satisfied with the result, click "
"<guibutton>Resolved</guibutton>."
msgstr ""

#. (para)
msgid ""
"The last option is to postpone resolution and continue with merging. You can "
"choose to do that for the current conflicted file, or for all files in the "
"rest of the merge. However, if there are further changes in that file, it "
"will not be possible to complete the merge."
msgstr ""

#. (para)
#, fuzzy
msgid ""
"When a conflict occurs during the merge, you have three ways to handle it. "
"<placeholder-1/>"
msgstr "现在你必须选择要复制的源位置。在这里你有三个设置选项: <placeholder-1/>"

#. (para)
msgid ""
"If you do not want to use this interactive callback, there is a checkbox in "
"the merge progress dialog <guilabel>Merge non-interactive</guilabel>. If this "
"is set for a merge and the merge would result in a conflict, the file is "
"marked as in conflict and the merge goes on. You will have to resolve the "
"conflicts after the whole merge is finished. If it is not set, then before a "
"file is marked as conflicted you get the chance to resolve the conflict "
"<emphasis>during</emphasis> the merge. This has the advantage that if a file "
"gets multiple merges (multiple revisions apply a change to that file), "
"subsequent merges might succeed depending on which lines are affected. But of "
"course you can't walk away to get a coffee while the merge is running ;)"
msgstr ""

#. (title)
msgid "Merge a Completed Branch"
msgstr ""

#. (primary)
#, fuzzy
msgid "merge reintegrate"
msgstr "复兴"

#. (title)
#, fuzzy
msgid "The Merge reintegrate Dialog"
msgstr "合并全部对话框"

#. (para)
msgid ""
"If you want to merge all changes from a feature branch back to trunk, then "
"you can use the <menuchoice><guimenu>TortoiseSVN</guimenu><guimenuitem>Merge "
"reintegrate...</guimenuitem></menuchoice> from the extended context menu "
"(hold down the <keycap>Shift</keycap> key while you right click on the file). "
"<placeholder-1/> This dialog is very easy. All you have to do is set the "
"options for the merge, as described in <xref linkend=\"tsvn-dug-merge-options"
"\"/>. The rest is done by TortoiseSVN automatically using merge tracking."
msgstr ""

#. (title)
msgid "Feature Branch Maintenance"
msgstr ""

#. (para)
msgid ""
"When you develop a new feature on a separate branch it is a good idea to work "
"out a policy for re-integration when the feature is complete. If other work "
"is going on in <literal>trunk</literal> at the same time you may find that "
"the differences become significant over time, and merging back becomes a "
"nightmare."
msgstr ""

#. (para)
msgid ""
"If the feature is relatively simple and development will not take long then "
"you can adopt a simple approach, which is to keep the branch entirely "
"separate until the feature is complete, then merge the branch changes back "
"into trunk. In the merge wizard this would be a simple <guilabel>Merge a "
"range of revisions</guilabel>, with the revision range being the revision "
"span of the branch."
msgstr ""

#. (para)
msgid ""
"If the feature is going to take longer and you need to account for changes in "
"<literal>trunk</literal>, then you need to keep the branch synchronised. This "
"simply means that periodically you merge trunk changes into the branch, so "
"that the branch contains all the trunk changes <emphasis>plus</emphasis> the "
"new feature. The synchronisation process uses <guilabel>Merge a range of "
"revisions</guilabel>. When the feature is complete then you can merge it back "
"to <literal>trunk</literal> using either <guilabel>Reintegrate a branch</"
"guilabel> or <guilabel>Merge two different trees</guilabel>."
msgstr ""

#. (title)
msgid "Locking"
msgstr "锁"

#. (primary)
msgid "locking"
msgstr "加锁"

#. (primary)
msgid "readonly"
msgstr "只读"

#. (para)
msgid ""
"You are using <quote>unmergeable</quote> files, for example, graphics files. "
"If two people change the same file, merging is not possible, so one of you "
"will lose their changes."
msgstr ""
"例如,你使用图形文件等<quote>不能合并</quote>的文件。如果两个人修改同一个这样"
"的文件,合并是不可能的,所以你丢失其中一个的修改。"

#. (para)
#, fuzzy
msgid ""
"Your company has always used a locking revision control system in the past "
"and there has been a management decision that <quote>locking is best</quote>."
msgstr ""
"你的公司过去经常使用VCS锁定,这是个管理决定,<quote>锁定是最好的</quote>。"

#. (para)
msgid ""
"Subversion generally works best without locking, using the <quote>Copy-Modify-"
"Merge</quote> methods described earlier in <xref linkend=\"tsvn-basics-"
"versioning-copymodifymerge\"/>. However there are a few instances when you "
"may need to implement some form of locking policy. <placeholder-1/>"
msgstr ""
"使用之前在<xref linkend=\"tsvn-basics-versioning-copymodifymerge\"/>中描述的"
"<quote>复制-修改-合并</quote> 的方法,Subversion通常不需要锁就可以很好的工作。"
"但是,在某些情况下你可能需要制定某种锁定策略。<placeholder-1/>"

#. (para)
#, fuzzy
msgid ""
"Firstly you need to ensure that your Subversion server is upgraded to at "
"least version 1.2. Earlier versions do not support locking at all. If you are "
"using <literal>file://</literal> access, then of course only your client "
"needs to be updated."
msgstr ""
"首先,你需要确保你的Subversion服务器更新到至少1.2版本。早期的版本不支持锁定。"
"如果你使用<filename>file:///</filename>进行访问,那么当然只要更新你的客户端就"
"可以了。"

#. (title)
msgid "How Locking Works in Subversion"
msgstr "锁定在Subverion中是如何工作的"

#. (para)
msgid ""
"By default, nothing is locked and anyone who has commit access can commit "
"changes to any file at any time. Others will update their working copies "
"periodically and changes in the repository will be merged with local changes."
msgstr ""
"默认情况下,所有的东西都没有锁定,只要有提交权限的人都可以在任何时候提交任何的"
"文件。其他人会定时更新他们的工作副本,在库中的改变的东西都会与本地合并。"

#. (para)
msgid ""
"If you <firstterm>Get a Lock</firstterm> on a file, then only you can commit "
"that file. Commits by all other users will be blocked until you release the "
"lock. A locked file cannot be modified in any way in the repository, so it "
"cannot be deleted or renamed either, except by the lock owner."
msgstr ""
"如果你对一个文件 <firstterm>取得锁定</firstterm>,那么只有你可以提交这个文件。"
"其他用户的提交都会被拒绝,直到你释放了这个锁。一个被锁定的文件不能在库中进行任"
"何形式的合并。所以它不能除锁的拥用者之外的人删除或更名。"

#. (para)
msgid ""
"However, other users will not necessarily know that you have taken out a "
"lock. Unless they check the lock status regularly, the first they will know "
"about it is when their commit fails, which in most cases is not very useful. "
"To make it easier to manage locks, there is a new Subversion property "
"<literal>svn:needs-lock</literal>. When this property is set (to any value) "
"on a file, whenever the file is checked out or updated, the local copy is "
"made read-only <emphasis>unless</emphasis> that working copy holds a lock for "
"the file. This acts as a warning that you should not edit that file unless "
"you have first acquired a lock. Files which are versioned and read-only are "
"marked with a special overlay in TortoiseSVN to indicate that you need to "
"acquire a lock before editing."
msgstr ""
"但是,其他用户不必知道你已经增加了锁定,除非他们定期地检查锁定的状态。这其实没"
"什么意义,因为他们发现提交失败的时候就可以知道锁定了。为了更容易管理锁,而设置"
"了一个新的Subversion属性 <literal>svn:needs-lock</literal>。当一个文件的这个属"
"性被设置(成任意值)的时候,每当该文件检出或更新时,本地的副本都被设成只读,"
"<emphasis>除非</emphasis>该工作副本就是拥有锁的那个用户的。这么做是为了能警告"
"你,你不应该修改这个文件,除非你申请到了锁定。受控只读的文件在TortoiseSVN中用"
"一个特殊的图标来表示你需要在编辑前取得锁定。"

#. (para)
msgid ""
"Locks are recorded by working copy location as well as by owner. If you have "
"several working copies (at home, at work) then you can only hold a lock in "
"<emphasis>one</emphasis> of those working copies."
msgstr ""
"锁除了按所有者记录外,还在工作副本中记录。如果你有多个工作副本(在家,在单位),"
"那么在这些工作副本中,只允许对其中<emphasis>一份</emphasis>拥有锁。"

#. (para)
msgid ""
"If one of your co-workers acquires a lock and then goes on holiday without "
"releasing it, what do you do? Subversion provides a means to force locks. "
"Releasing a lock held by someone else is referred to as <firstterm>Breaking</"
"firstterm> the lock, and forcibly acquiring a lock which someone else already "
"holds is referred to as <firstterm>Stealing</firstterm> the lock. Naturally "
"these are not things you should do lightly if you want to remain friends with "
"your co-workers."
msgstr ""
"如果你的合作者之一请求一个锁,但却外出旅游去了,你怎么办?Subversion提供了一种"
"强制锁。释放别人拥有的锁被称为<firstterm>破坏</firstterm>锁定,强制获得别人拥"
"有的锁称为<firstterm>窃取</firstterm>锁定。当然,如果你想要与你的合作者保持良"
"好的关系,轻易不要这么做。"

#. (para)
msgid ""
"Locks are recorded in the repository, and a lock token is created in your "
"local working copy. If there is a discrepancy, for example if someone else "
"has broken the lock, the local lock token becomes invalid. The repository is "
"always the definitive reference."
msgstr ""
"锁在库中进行记录,一个锁定令牌建立在你的本地工作副本中。如果有矛盾,比如某人破"
"坏了锁下,那么本地的锁定令牌将不可用。库中的记录将是最权威的参考。"

#. (title)
msgid "Getting a Lock"
msgstr "取得锁定"

#. (title)
msgid "The Locking Dialog"
msgstr "锁定对话框"

#. (para)
msgid ""
"Select the file(s) in your working copy for which you want to acquire a lock, "
"then select the command <menuchoice><guimenu>TortoiseSVN</"
"guimenu><guimenuitem>Get Lock...</guimenuitem></menuchoice>. <placeholder-1/> "
"A dialog appears, allowing you to enter a comment, so others can see why you "
"have locked the file. The comment is optional and currently only used with "
"Svnserve based repositories. If (and <emphasis>only</emphasis> if) you need "
"to steal the lock from someone else, check the <guilabel>Steal lock</"
"guilabel> box, then click on <guibutton>OK</guibutton>."
msgstr ""
"选择工作副本中你想要获取锁定的文件,然后选择命令"
"<menuchoice><guimenu>TortoiseSVN</guimenu><guimenuitem>取得锁定...</"
"guimenuitem></menuchoice>. <placeholder-1/>出现一个对话框,允许你输入注释,这"
"样别人可以知道你为什么锁定这个文件。注释是可选的,并且只用于基于Svnserve的库。"
"当(且<emphasis>仅</emphasis>当)你需要窃取别人的锁的时候,勾选<guilabel>偷取此"
"锁定</guilabel>复选框,然后点击<guibutton>确定</guibutton>。"

#. (para)
#, fuzzy
msgid ""
"If you select a folder and then use <menuchoice><guimenu>TortoiseSVN</"
"guimenu><guimenuitem>Get Lock...</guimenuitem></menuchoice> the lock dialog "
"will open with <emphasis>every</emphasis> file in <emphasis>every</emphasis> "
"sub-folder selected for locking. If you really want to lock an entire "
"hierarchy, that is the way to do it, but you could become very unpopular with "
"your co-workers if you lock them out of the whole project. Use with care ..."
msgstr ""
"如果你选择一个文件夹,使用<menuchoice><guimenu>TortoiseSVN</"
"guimenu><guimenuitem>获取锁定...</guimenuitem></menuchoice>锁定对话框将显示"
"<emphasis>所有</emphasis>子文件夹中的<emphasis>所有</emphasis>文件 。如果你真"
"的要锁定整个目录,就这么做,但如果你这么做,可能会很不受你的合作者的欢迎。小心"
"使用..."

#. (title)
msgid "Releasing a Lock"
msgstr "释放锁定"

#. (para)
msgid ""
"To make sure you don't forget to release a lock you don't need any more, "
"locked files are shown in the commit dialog and selected by default. If you "
"continue with the commit, locks you hold on the selected files are removed, "
"even if the files haven't been modified. If you don't want to release a lock "
"on certain files, you can uncheck them (if they're not modified). If you want "
"to keep a lock on a file you've modified, you have to enable the "
"<guilabel>Keep locks</guilabel> checkbox before you commit your changes."
msgstr ""
"为了确保你不会忘记释放锁,你不需要做别的事,在提交对话框中,总是会显示锁定的文"
"件,并总是默认被选中。如果你继续提交,选中的文件中的锁就被移除了,就算你从没有"
"修改过。如果你不希望释放某文件的锁,你可以取消选中它(如果你没有修改过)。如果你"
"希望保持一个修改过的文件的锁,你需要在提交之前选中<guilabel>保持锁定</"
"guilabel>复选框。"

#. (para)
msgid ""
"To release a lock manually, select the file(s) in your working copy for which "
"you want to release the lock, then select the command "
"<menuchoice><guimenu>TortoiseSVN</guimenu><guimenuitem>Release Lock</"
"guimenuitem></menuchoice> There is nothing further to enter so TortoiseSVN "
"will contact the repository and release the locks. You can also use this "
"command on a folder to release all locks recursively."
msgstr ""
"要手动释放锁定,选中工作副本中要释放的文件,选择命令"
"<menuchoice><guimenu>TortoiseSVN</guimenu><guimenuitem>释放锁定</"
"guimenuitem></menuchoice>。不需要输入什么 TortoiseSVN会联系版本库并释放锁。你"
"可以对一个文件夹来使用这个命令释放其中的所有锁定项。"

#. (title)
msgid "Checking Lock Status"
msgstr "检查锁定状态"

#. (title)
msgid "The Check for Modifications Dialog"
msgstr "检查修改对话框"

#. (para)
msgid ""
"<placeholder-1/> To see what locks you and others hold, you can use "
"<menuchoice><guimenu>TortoiseSVN</guimenu><guimenuitem>Check for "
"Modifications...</guimenuitem></menuchoice>. Locally held lock tokens show up "
"immediately. To check for locks held by others (and to see if any of your "
"locks are broken or stolen) you need to click on <guibutton>Check Repository</"
"guibutton>."
msgstr ""
"<placeholder-1/>要查看你和他人所拥有的锁,你可以使用"
"<menuchoice><guimenu>TortoiseSVN</guimenu><guimenuitem>检查更新...</"
"guimenuitem></menuchoice>命令。本地的锁定令牌会立即显示出来,要查看别人拥用的"
"锁定(或是检查你的锁是否被破坏或窃取)你需要点击<guibutton>检查版本库</"
"guibutton>。"

#. (para)
msgid ""
"From the context menu here, you can also get and release locks, as well as "
"breaking and stealing locks held by others."
msgstr ""
"从此处的右键菜单中,你可以获取锁或是释放锁,也可以破坏或是窃取别人的锁。"

#. (title)
msgid "Avoid Breaking and Stealing Locks"
msgstr "避免破坏和窃取锁定"

#. (para)
msgid ""
"If you break or steal someone else's lock without telling them, you could "
"potentially cause loss of work. If you are working with unmergeable file "
"types and you steal someone else's lock, once you release the lock they are "
"free to check in their changes and overwrite yours. Subversion doesn't lose "
"data, but you have lost the team-working protection that locking gave you."
msgstr ""
"如果你在破坏或是窃取某人的锁的时候没有告诉他,你可能会丢掉工作。如果你正在写一"
"个不可合并的文件类型,并且你窃取了某人的锁,一旦你释放了锁,他们就可以随意检入"
"他们的修改以覆盖你的。Subversion并不会丢弃数据,但你却失去了锁带来的对团队工作"
"的保护。"

#. (title)
msgid "Making Non-locked Files Read-Only"
msgstr "让非锁定的文件变成只读"

#. (para)
msgid ""
"As mentioned above, the most effective way to use locking is to set the "
"<literal>svn:needs-lock</literal> property on files. Refer to <xref linkend="
"\"tsvn-dug-propertypage\"/> for instructions on how to set properties. Files "
"with this property set will always be checked out and updated with the read-"
"only flag set unless your working copy holds a lock. <graphic fileref=\"../"
"images/ReadOnlyIcon.png\"/> As a reminder, TortoiseSVN uses a special overlay "
"to indicate this."
msgstr ""
"正如上面提到的,最有效的使用锁的方式是对一个文件设置<literal>svn:needs-lock</"
"literal>属性。参考<xref linkend=\"tsvn-dug-propertypage\"/>如何设置属性。带有"
"此属性的文件将总被按只读的方式检出和更新(除非你的工作副本拥有锁定)。<graphic "
"fileref=\"../images/ReadOnlyIcon.png\"/>作为提醒的方式之一,TortoiseSVN使用一"
"个特殊的图标表示。"

#. (para)
#, fuzzy
msgid ""
"If you operate a policy where every file has to be locked then you may find "
"it easier to use Subversion's auto-props feature to set the property "
"automatically every time you add new files. Read <xref linkend=\"tsvn-dug-"
"propertypage-auto-props\"/> for further information."
msgstr ""
"如果你管理的策略要求每个文件都必须被锁定,那么你会发现使用Subversion的auto-"
"props功能,在你每次加入新文件的时候,自动设置属性是很方便的。请阅读<xref "
"linkend=\"tsvn-dug-settings\"/>。"

#. (title)
msgid "The Locking Hook Scripts"
msgstr "锁定钩子脚本"

#. (para)
msgid ""
"When you create a new repository with Subversion 1.2 or higher, four hook "
"templates are created in the repository <filename>hooks</filename> directory. "
"These are called before and after getting a lock, and before and after "
"releasing a lock."
msgstr ""
"当你使用Suversion1.2或更新的版本建立新的版本库的时候,建立了四个钩子模板在版本"
"库中的<filename>hooks</filename>目录下。这些钩子模板在取得/释放一个锁定之前和"
"之后会被分别调用。"

#. (para)
msgid ""
"It is a good idea to install a <literal>post-lock</literal> and <literal>post-"
"unlock</literal> hook script on the server which sends out an email "
"indicating the file which has been locked. With such a script in place, all "
"your users can be notified if someone locks/unlocks a file. You can find an "
"example hook script <filename>hooks/post-lock.tmpl</filename> in your "
"repository folder."
msgstr ""
"安装一个 <literal>post-lock</literal>和<literal>post-unlock</literal>钩子,在"
"钩子中为锁定和解锁事件发送邮件,是个好主意 。有了这种脚本,你的所有用户都会在"
"一个文件被锁定/解锁的时候被通知。在你的版本库文件夹下,你可以找到一个示例钩子"
"脚本<filename>hooks/post-lock.tmpl</filename>。"

#. (para)
msgid ""
"You might also use hooks to disallow breaking or stealing of locks, or "
"perhaps limit it to a named administrator. Or maybe you want to email the "
"owner when one of their locks is broken or stolen."
msgstr ""
"你可能也使用hooks来拒绝破坏或是窃取锁定,或是限制只有管理员可以,或是当一个用"
"户破坏或窃取锁定时通知原来的锁定拥有者。"

#. (para)
msgid "Read <xref linkend=\"tsvn-repository-hooks\"/> to find out more."
msgstr "更多内容请参考 <xref linkend=\"tsvn-repository-hooks\"/>"

#. (title)
msgid "Creating and Applying Patches"
msgstr "创建并应用补丁"

#. (primary)
msgid "patch"
msgstr "补丁"

#. (primary)
msgid "unified diff"
msgstr "统一差异"

#. (para)
msgid ""
"For open source projects (like this one) everyone has read access to the "
"repository, and anyone can make a contribution to the project. So how are "
"those contributions controlled? If just anyone could commit changes, the "
"project would be permanently unstable and probably permanently broken. In "
"this situation the change is managed by submitting a <firstterm>patch</"
"firstterm> file to the development team, who do have write access. They can "
"review the patch first, and then either submit it to the repository or reject "
"it back to the author."
msgstr ""
"对开源工程(比如本工程)来说,每个人对仓库都有读访问权,并且任何人都可以对该工程"
"做出修改。那么如何控制这些修改呢?如果任何人都可以提交自己的修改,那么这个工程"
"可能永远都会处于不稳定状态,而且很有可能永远的瘫痪下去。在这种情况下,修改需要"
"以<firstterm>补丁</firstterm>文件的形式先递交到有写访问权限的开发组。开发组可"
"以先对该补丁文件进行审查,然后决定将其提交到仓库里或者是退还给作者。"

#. (para)
msgid ""
"Patch files are simply Unified-Diff files showing the differences between "
"your working copy and the base revision."
msgstr ""
"补丁文件只是简单地用统一的差异描述文件显示出你的工作副本和基础版本的不同点。"

#. (title)
msgid "Creating a Patch File"
msgstr "创建一个补丁文件"

#. (para)
msgid ""
"First you need to make <emphasis>and test</emphasis> your changes. Then "
"instead of using <menuchoice><guimenu>TortoiseSVN</"
"guimenu><guimenuitem>Commit...</guimenuitem></menuchoice> on the parent "
"folder, you select <menuchoice><guimenu>TortoiseSVN</"
"guimenu><guimenuitem>Create Patch...</guimenuitem></menuchoice>"
msgstr ""
"首先你需要做出修改并测试这个修改的内容。然后在父目录上使用"
"<menuchoice><guimenu>TortoiseSVN</guimenu><guimenuitem>创建补丁...</"
"guimenuitem></menuchoice>代替<menuchoice><guimenu>TortoiseSVN</"
"guimenu><guimenuitem>提交...</guimenuitem></menuchoice>。"

#. (title)
msgid "The Create Patch dialog"
msgstr "创建补丁的对话框"

#. (para)
msgid ""
"you can now select the files you want included in the patch, just as you "
"would with a full commit. This will produce a single file containing a "
"summary of all the changes you have made to the selected files since the last "
"update from the repository."
msgstr ""
"现在你可以选择要包含在补丁中的文件了,就像你要做一个完整的提交一样。这样会产生"
"一个单一的文件,该文件包括一份自从最后一次从仓库更新后你对所选择文件做的全部修"
"改的摘要。"

#. (para)
msgid ""
"You can produce separate patches containing changes to different sets of "
"files. Of course, if you create a patch file, make some more changes to the "
"<emphasis>same</emphasis> files and then create another patch, the second "
"patch file will include <emphasis>both</emphasis> sets of changes."
msgstr ""
"你可以创建包含对不同文件集合修改的相互独立的补丁。当然如果你创建了一个补丁文"
"件,对于<emphasis>同一份</emphasis>文件的更多修改会创建另外一个补丁文件,第二"
"份补丁文件包含了<emphasis>全部</emphasis>的修改。"

#. (para)
msgid ""
"Just save the file using a filename of your choice. Patch files can have any "
"extension you like, but by convention they should use the <filename>.patch</"
"filename> or <filename>.diff</filename> extension. You are now ready to "
"submit your patch file."
msgstr ""
"你可以用一个自己选择的文件名来保存这个补丁文件,补丁文件可以有任意的扩展名,但"
"是按人一般习惯,人们都是用<filename>.patch</filename>或者<filename>.diff</"
"filename>作扩展名,你现在已经做好提交你的补丁文件的准备了。"

#. (para)
msgid ""
"You can also save the patch to the clipboard instead of to a file. You might "
"want to do this so that you can paste it into an email for review by others. "
"Or if you have two working copies on one machine and you want to transfer "
"changes from one to the other, a patch on the clipboard is a convenient way "
"of doing this."
msgstr ""
"你也可以将补丁保存到剪贴板,而不是文件。这样你可以粘贴到电子邮件中,让他人审"
"核。或者你在机器上有两个工作副本,想将修改传递到另外的副本。在剪贴板上的补丁就"
"是为这些操作提供便利。"

#. (title)
msgid "Applying a Patch File"
msgstr "应用一个补丁文件"

#. (para)
#, fuzzy
msgid ""
"Patch files are applied to your working copy. This should be done from the "
"same folder level as was used to create the patch. If you are not sure what "
"this is, just look at the first line of the patch file. For example, if the "
"first file being worked on was <filename>doc/source/english/chapter1.xml</"
"filename> and the first line in the patch file is <filename>Index: english/"
"chapter1.xml</filename> then you need to apply the patch to the <filename>doc/"
"source/</filename> folder. However, provided you are in the correct working "
"copy, if you pick the wrong folder level, TortoiseSVN will notice and suggest "
"the correct level."
msgstr ""
"补丁文件应用于你的工作副本。当你对你的工作副本打补丁的时候,你应当在与创建补丁"
"文件时相同的目录层次上。如果你不能确定在哪个目录层次上,就看一下补丁文件的第一"
"行。例如,如果补丁第一个要处理的文件是<filename>doc/source/english/chapter1."
"xml</filename> 并且补丁文件的第一行是<filename>Index: english/chapter1.xml</"
"filename>说明你必须要对<filename>doc/source/</filename>目录应用这个补丁文件。"
"尽管如此,倘若你在正确的工作副本上工作,如果你选择了一个错误的目录层次,TSVN会"
"察觉到这个错误,并给出正确的建议。"

#. (para)
msgid ""
"In order to apply a patch file to your working copy, you need to have at "
"least read access to the repository. The reason for this is that the merge "
"program must reference the changes back to the revision against which they "
"were made by the remote developer."
msgstr ""
"为了给你的工作副本打补丁,你至少需要对代码库的读权限。因为合并程序必须要参考修"
"订版本中其他开发人员做的修改。"

#. (para)
#, fuzzy
msgid ""
"From the context menu for that folder, click on "
"<menuchoice><guimenu>TortoiseSVN</guimenu><guimenuitem>Apply Patch...</"
"guimenuitem></menuchoice> This will bring up a file open dialog allowing you "
"to select the patch file to apply. By default only <filename>.patch</"
"filename> or <filename>.diff</filename> files are shown, but you can opt for "
"<quote>All files</quote>. If you previously saved a patch to the clipboard, "
"you can use <guibutton>Open from clipboard...</guibutton> in the file open "
"dialog."
msgstr ""
"从那个目录的上下文菜单,点击<menuchoice><guimenu>TortoiseSVN</"
"guimenu><guimenuitem>应用补丁...</guimenuitem></menuchoice> 系统会弹出一个打开"
"文件的对话框,让你选择要应用的补丁文件。默认情况下只显示<filename>.patch</"
"filename>或者<filename>.diff</filename>文件,但是你可以选择\"所有文件\"。如果"
"你以前将补丁保存到了剪贴板,可以使用打开文件对话框的<guibutton>从剪贴板打开..."
"</guibutton> "

#. (para)
msgid ""
"Alternatively, if the patch file has a <filename>.patch</filename> or "
"<filename>.diff</filename> extension, you can right click on it directly and "
"select <menuchoice><guimenu>TortoiseSVN</guimenu><guimenuitem>Apply Patch...</"
"guimenuitem></menuchoice>. In this case you will be prompted to enter a "
"working copy location."
msgstr ""
"如果补丁文件以<filename>.patch</filename> 或者 <filename>.diff</filename> 为扩"
"展名的话,你可以选择直接右键点击该补丁文件,选择"
"<menuchoice><guimenu>TortoiseSVN</guimenu><guimenuitem>应用补丁...</"
"guimenuitem></menuchoice> 在这种情况下,系统会提示你输入工作副本的位置。"

#. (para)
msgid ""
"These two methods just offer different ways of doing the same thing. With the "
"first method you select the WC and browse to the patch file. With the second "
"you select the patch file and browse to the WC."
msgstr ""
"这两种方法只是提供了做同一件事的不同方式。第一种方法,你先选择工作副本,然后浏"
"览补丁文件。第二种方法,你先选择补丁文件,然后浏览工作副本。"

#. (para)
msgid ""
"Once you have selected the patch file and working copy location, "
"TortoiseMerge runs to merge the changes from the patch file with your working "
"copy. A small window lists the files which have been changed. Double click on "
"each one in turn, review the changes and save the merged files."
msgstr ""
"一旦你选定了补丁文件和工作副本的位置,TortoiseMerge就会把布丁文件合并到你的工"
"作副本中。系统会弹出一个小窗口列出所有被更改了的文件。依次双击每一个文件,检查"
"所做的改变,然后保存合并后的文件。远程开发者的补丁现在已经应用到了你的工作副本"
"上,你需要提交它以使每一个人都可以从代码库访问到这些修改。"

#. (para)
msgid ""
"The remote developer's patch has now been applied to your working copy, so "
"you need to commit to allow everyone else to access the changes from the "
"repository."
msgstr ""
"远程开发者的补丁现在已经应用到了你的工作副本上,你需要提交它以使每一个人都可以"
"从代码库访问到这些修改。"

#. (title)
msgid "Who Changed Which Line?"
msgstr "谁修改了哪一行?"

#. (primary)
msgid "blame"
msgstr "追溯"

#. (primary)
msgid "annotate"
msgstr "评注"

#. (primary)
msgid "praise"
msgstr "称赞"

#. (para)
msgid ""
"Sometimes you need to know not only what lines have changed, but also who "
"exactly changed specific lines in a file. That's when the "
"<menuchoice><guimenu>TortoiseSVN</guimenu><guimenuitem>Blame...</"
"guimenuitem></menuchoice> command, sometimes also referred to as "
"<firstterm>annotate</firstterm> command comes in handy."
msgstr ""
"有时你不仅要知道哪一行做了修改,还要精确地知道谁修改了一个文件中的哪一行。这就"
"是<menuchoice><guimenu>TortoiseSVN</guimenu><guimenuitem>追溯...</"
"guimenuitem></menuchoice>命令,有时候也叫做 <firstterm>评注</firstterm> 命令派"
"上用场的时候了。"

#. (para)
msgid ""
"This command lists, for every line in a file, the author and the revision the "
"line was changed."
msgstr "对一个文件中的每一行,这个命令列出了作者和该行修改时的版本。"

#. (title)
msgid "Blame for Files"
msgstr "追溯文件"

#. (title)
msgid "The Annotate / Blame Dialog"
msgstr "评注/追溯对话框"

#. (para)
msgid ""
"<placeholder-1/> If you're not interested in changes from earlier revisions "
"you can set the revision from which the blame should start. Set this to "
"<literal>1</literal>, if you want the blame for <emphasis>every</emphasis> "
"revision."
msgstr ""
"<placeholder-1/>如果对早期版本的修改不感兴趣,你可以设置从哪个版本开始追溯。如"
"果你想追溯<emphasis>每一个</emphasis>版本,你可以把那个数值设置为<literal>1</"
"literal>。"

#. (para)
msgid ""
"By default the blame file is viewed using <firstterm>TortoiseBlame</"
"firstterm>, which highlights the different revisions to make it easier to "
"read. If you wish to print or edit the blame file, select <guilabel>Use Text "
"viewer to view blames</guilabel>"
msgstr ""
"默认情况下,追溯文件使用<firstterm>TortoiseBlame</firstterm>,这个工具可以高亮"
"显示不同版本从而使阅读更加容易。如果想打印或者编辑追溯文件,复选<guilabel>使用"
"文字编辑器查看追溯信息</guilabel>。"

#. (para)
msgid ""
"You can specify the way that line ending and whitespace changes are handled. "
"These options are described in <xref linkend=\"tsvn-dug-diff-eol-whitespace\"/"
">. The default behaviour is to treat all whitespace and line-end differences "
"as real changes, but if you want to ignore an indentation change and find the "
"original author, you can choose an appropriate option here."
msgstr ""
"你可以指定处理行结束符和空白改变的方法。这些选项在 <xref linkend=\"tsvn-dug-"
"diff-eol-whitespace\"/> 描述。默认是将行结束符和空白改变视为实际改变,但是如果"
"你想忽略缩进改变和找到原始作者,那么可以在这里选择适当的处理方法。"

#. (para)
msgid ""
"Once you press <guibutton>OK</guibutton> TortoiseSVN starts retrieving the "
"data to create the blame file. Please note: This can take several minutes to "
"finish, depending on how much the file has changed and of course your network "
"connection to the repository. Once the blame process has finished the result "
"is written into a temporary file and you can view the results."
msgstr ""
"一旦你按了 <guibutton>OK</guibutton> 按钮,TortoiseSVN就开始从版本库获取数据创"
"建追溯文件。注意: 视修改的文件的多少和你的网络连接情况,可能会花掉几分钟到几十"
"分钟不等。追溯过程完成后,其结果将会写到一个临时文件中,你可以读到这个结果文"
"件。"

#. (title)
msgid "TortoiseBlame"
msgstr "TortoiseBlame"

#. (para)
msgid ""
"<placeholder-1/> TortoiseBlame, which is included with TortoiseSVN, makes the "
"blame file easier to read. When you hover the mouse over a line in the blame "
"info column, all lines with the same revision are shown with a darker "
"background. Lines from other revisions which were changed by the same author "
"are shown with a light background. The colouring may not work as clearly if "
"you have your display set to 256 colour mode."
msgstr ""
"<placeholder-1/> TortoiseBlame,包含在TortoiseSVN中,使得追溯文件更加容易阅读。"
"当你的鼠标在追溯信息列的某一行上盘旋时,所有和该列具有相同版本号的行都会用一个"
"比较暗的背景色显示。同一作者修改的其他版本的行会用一个亮一些的背景色显示。如果"
"你的显示设置为256色模式,那么颜色显示的可能不会很清楚。"

#. (para)
msgid ""
"If you <action>left click</action> on a line, all lines with the same "
"revision are highlighted, and lines from other revisions by the same author "
"are highlighted in a lighter colour. This highlighting is sticky, allowing "
"you to move the mouse without losing the highlights. Click on that revision "
"again to turn off highlighting."
msgstr ""
"如果在某一行上<action>左击</action>,具有同一版本号的所有行都会高亮显示,同一"
"作者的其他版本的行会用一个更亮的颜色高亮显示。这个高亮具有粘性,也就是说允许你"
"移动鼠标但原先高亮的地方仍然保持高亮。再次点击该版本将关闭高亮显示。"

#. (para)
msgid ""
"The revision comments (log message) are shown in a hint box whenever the "
"mouse hovers over the blame info column. If you want to copy the log message "
"for that revision, use the context menu which appears when you right click on "
"the blame info column."
msgstr ""
"只要鼠标逗留在追溯信息列,版本注释(日志信息)就会作为提示出现。如果你想复制此版"
"本的日志信息,使用在追溯信息列显示的右键菜单。"

#. (para)
msgid ""
"You can search within the Blame report using <menuchoice><guimenu>Edit</"
"guimenu><guimenuitem>Find...</guimenuitem></menuchoice>. This allows you to "
"search for revision numbers, authors and the content of the file itself. Log "
"messages are not included in the search - you should use the Log Dialog to "
"search those."
msgstr ""
"你可以在追溯报告里用<menuchoice><guimenu>编辑</guimenu><guimenuitem>查找...</"
"guimenuitem></menuchoice>来搜索想要的内容。它允许你搜索版本号,作者还有文件的"
"内容。这个搜索不包含日志信息-你可以在日志对话框里搜索日志信息。"

#. (para)
msgid ""
"You can also jump to a specific line number using <menuchoice><guimenu>Edit</"
"guimenu><guimenuitem>Go To Line...</guimenuitem></menuchoice>."
msgstr ""
"你也可以使用 <menuchoice><guimenu>编辑</guimenu><guimenuitem>转到行 ...</"
"guimenuitem></menuchoice> 来跳到指定行。"

#. (para)
msgid ""
"When the mouse is over the blame info columns, a context menu is available "
"which helps with comparing revisions and examining history, using the "
"revision number of the line under the mouse as a reference. "
"<menuchoice><guimenu>Context menu</guimenu><guimenuitem>Blame previous "
"revision</guimenuitem></menuchoice> generates a blame report for the same "
"file, but using the previous revision as the upper limit. This gives you the "
"blame report for the state of the file just before the line you are looking "
"at was last changed. <menuchoice><guimenu>Context menu</"
"guimenu><guimenuitem>Show changes</guimenuitem></menuchoice> starts your diff "
"viewer, showing you what changed in the referenced revision. "
"<menuchoice><guimenu>Context menu</guimenu><guimenuitem>Show log</"
"guimenuitem></menuchoice> displays the revision log dialog starting with the "
"referenced revision."
msgstr ""
"当鼠标滑过追溯信息列时,有个上下文菜单可以帮助你比较版本和检查历史,它用鼠标下"
"方行的版本号作为参考版本。<menuchoice><guimenu>上下文菜单</"
"guimenu><guimenuitem>追溯以前版本</guimenuitem></menuchoice>产生同一个文件的追"
"溯报告,它使用以前的版本作为上限,给出了你看到最后修改之前的文件状态追溯报告。"
"<menuchoice><guimenu>上下文菜单</guimenu><guimenuitem>显示修改</guimenuitem></"
"menuchoice>启动差异察看器,显示在参考版本中的修改。<menuchoice><guimenu>上下文"
"菜单</guimenu><guimenuitem>显示日志</guimenuitem></menuchoice>从参考版本开始显"
"示版本日志。"

#. (para)
msgid ""
"If you need a better visual indicator of where the oldest and newest changes "
"are, select <menuchoice><guimenu>View</guimenu><guimenuitem>Color age of "
"lines</guimenuitem></menuchoice>. This will use a colour gradient to show "
"newer lines in red and older lines in blue. The default colouring is quite "
"light, but you can change it using the TortoiseBlame settings."
msgstr ""

#. (para)
msgid ""
"If you are using Merge Tracking, where lines have changed as a result of "
"merging from another path, TortoiseBlame will show the revision and author of "
"the last change in the original file rather than the revision where the merge "
"took place. These lines are indicated by showing the revision and author in "
"italics. If you do not want merged lines shown in this way, uncheck the "
"<guilabel>Include merge info</guilabel> checkbox."
msgstr ""

#. (para)
#, fuzzy
msgid ""
"If you want to see the paths involved in the merge, select "
"<menuchoice><guimenu>View</guimenu><guimenuitem>Merge paths</guimenuitem></"
"menuchoice>."
msgstr ""
"在工作副本上选择<menuchoice><guimenu>TortoiseSVN</guimenu><guimenuitem>合并</"
"guimenuitem></menuchoice>。"

#. (para)
#, fuzzy
msgid ""
"The settings for TortoiseBlame can be accessed using "
"<menuchoice><guimenu>TortoiseSVN</guimenu><guimenuitem>Settings...</"
"guimenuitem></menuchoice> on the TortoiseBlame tab. Refer to <xref linkend="
"\"tsvn-dug-settings-tortoiseblame\"/>."
msgstr ""
"你要在同一个版本库中切换一个分支或目录。这么做你可以用"
"<menuchoice><guimenu>TortoiseSVN</guimenu><guimenuitem>切换...</guimenuitem></"
"menuchoice>. "

#. (title)
msgid "Blame Differences"
msgstr "追溯不同点"

#. (para)
msgid ""
"One of the limitations of the Blame report is that it only shows the file as "
"it was in a particular revision, and shows the last person to change each "
"line. Sometimes you want to know what change was made, as well as who made "
"it. What you need here is a combination of the diff and blame reports."
msgstr ""
"追溯报告的一个局限性就是它仅仅象显示一个特殊版本一样显示文件,并显示出修改每一"
"行的最后一个人。有时候你想知道谁做了什么修改。你所需要的就是把差异和追溯报告结"
"合起来。"

#. (term)
msgid "Blame Revisions"
msgstr "追溯版本"

#. (para)
msgid ""
"In the top pane, select 2 revisions, then select <menuchoice><guimenu>Context "
"menu</guimenu><guimenuitem>Blame revisions</guimenuitem></menuchoice>. This "
"will fetch the blame data for the 2 revisions, then use the diff viewer to "
"compare the two blame files."
msgstr ""
"在顶部窗口,选择两个版本,然后选择<menuchoice><guimenu>上下文菜单</"
"guimenu><guimenuitem>追溯版本</guimenuitem></menuchoice>。它将取出两个版本的追"
"溯数据,然后使用差异察看器比较这两个追溯文件。"

#. (term)
msgid "Blame Changes"
msgstr "追溯修改"

#. (para)
#, fuzzy
msgid ""
"Select one revision in the top pane, then pick one file in the bottom pane "
"and select <menuchoice><guimenu>Context menu</guimenu><guimenuitem>Blame "
"changes</guimenuitem></menuchoice>. This will fetch the blame data for the "
"selected revision and the previous revision, then use the diff viewer to "
"compare the two blame files."
msgstr ""
"在上面的面板里选择一个版本,然后在下面的面板选择一个文件然后选择"
"<menuchoice><guimenu>上下文菜单</guimenu><guimenuitem>追溯差异</guimenuitem></"
"menuchoice>。这会为选定版本及其上一个版本获取追溯数据,然后用差异阅读器比较两"
"份追溯文件。"

#. (term)
msgid "Compare and Blame with Working BASE"
msgstr "与工作副本比较并追溯"

#. (para)
msgid ""
"Show the log for a single file, and in the top pane, select a single "
"revision, then select <menuchoice><guimenu>Context menu</"
"guimenu><guimenuitem>Compare and Blame with Working BASE</guimenuitem></"
"menuchoice>. This will fetch the blame data for the selected revision, and "
"for the file in the working BASE, then use the diff viewer to compare the two "
"blame files."
msgstr ""
"为一个单一文件显示日志,在上面的面板选择一个版本,然后选择"
"<menuchoice><guimenu>上下文菜单</guimenu><guimenuitem>与工作副本比较并追溯</"
"guimenuitem></menuchoice>。这会为文件的选择版本和工作副本获取追溯数据,然后使"
"用差异阅读器比较两份追溯文件。"

#. (para)
msgid ""
"The revision log dialog includes several options which allow you to do this. "
"<placeholder-1/>"
msgstr ""
"在版本日志对话框里包含了以下几个选项支持你做这样的操作。<placeholder-1/>"

#. (title)
#. (title)
msgid "The Repository Browser"
msgstr "版本库浏览器"

#. (primary)
msgid "repo-browser"
msgstr "版本库浏览器"

#. (primary)
msgid "server-side actions"
msgstr "服务器端动作"

#. (primary)
msgid "server viewer"
msgstr "服务器浏览器"

#. (para)
msgid ""
"Sometimes you need to work directly on the repository, without having a "
"working copy. That's what the <firstterm>Repository Browser</firstterm> is "
"for. Just as the explorer and the icon overlays allow you to view your "
"working copy, so the Repository Browser allows you to view the structure and "
"status of the repository. <placeholder-1/> With the Repository Browser you "
"can execute commands like copy, move, rename, ... directly on the repository."
msgstr ""
"有时候我们需要在版本库中直接进行操作,而不是在工作副本中。这就是我们的"
"<firstterm>版本库浏览器</firstterm>可以做到的。正如资源管理器和能浏览你的工作"
"副本一样,版本库浏览器允许你浏览版本库的结构和状态。<placeholder-1/> 在版本库"
"浏览器中你可以执行比如复制,转移,重命名、、、直接操作在版本库上。"

#. (para)
msgid ""
"The repository browser looks very similar to the Windows explorer, except "
"that it is showing the content of the repository at a particular revision "
"rather than files on your computer. In the left pane you can see a directory "
"tree, and in the right pane are the contents of the selected directory. At "
"the top of the Repository Browser Window you can enter the URL of the "
"repository and the revision you want to browse."
msgstr ""
"除了版本库浏览器不是显示计算机中的文件,而是显示版本库中特定版本的内容之外,它"
"看起来很象 Windows 资源管理器。在左边的窗格显示目录树,右边的窗格显示选定目录"
"的内容。在版本库浏览器窗口的顶部,你可以输入你想浏览的版本库 URL和版本。"

#. (para)
msgid ""
"Just like Windows explorer, you can click on the column headings in the right "
"pane if you want to set the sort order. And as in explorer there are context "
"menus available in both panes."
msgstr ""
"就象 Windows 资源管理器一样,如果你想设置排列顺序,可以点击右边窗格中的列首。"
"并且所有窗格都有上下文菜单。"

#. (para)
msgid "Save an unversioned copy of the file to your hard drive."
msgstr "在你的硬盘上保存此文件的一个未版本控制的副本。"

#. (para)
msgid ""
"Show the revision log for that file, or show a graph of all revisions so you "
"can see where the file came from."
msgstr "显示此文件的版本日志,或者显示所有版本图,从而你可以知道其来源。"

#. (para)
msgid "Blame the file, to see who changed which line and when."
msgstr "追溯这个文件,查看是谁在何时修改哪些行。"

#. (para)
msgid "Delete or rename the file."
msgstr "删除或改名文件。"

#. (para)
msgid ""
"Make a copy of the file, either to a different part of the repository, or to "
"a working copy rooted in the same repository."
msgstr ""
"复制这个文件,目的可以是版本库中的其它地方,也可以是同一版本库中的工作副本。"

#. (para)
msgid "View/Edit the file's properties."
msgstr ""

#. (para)
msgid "The context menu for a file allows you to: <placeholder-1/>"
msgstr "文件的上下文菜单允许你:<placeholder-1/>"

#. (para)
msgid ""
"Show the revision log for that folder, or show a graph of all revisions so "
"you can see where the folder came from."
msgstr "显示此目录的版本日志,或者显示所有版本图,从而你可以知道其来源。"

#. (para)
msgid "Export the folder to a local unversioned copy on your hard drive."
msgstr "导出此目录的未版本控制副本到你的本地硬盘。"

#. (para)
msgid "Checkout the folder to produce a local working copy on your hard drive."
msgstr "检出此目录到你的硬盘,产生一个本地工作副本。"

#. (para)
msgid "Create a new folder in the repository."
msgstr "在版本库创建新目录。"

#. (para)
msgid "Add files or folders directly to the repository."
msgstr "直接向版本库增加文件或目录。"

#. (para)
msgid "Delete or rename the folder."
msgstr "删除或改名文件夹。"

#. (para)
msgid ""
"Make a copy of the folder, either to a different part of the repository, or "
"to a working copy rooted in the same repository."
msgstr ""
"复制这个目录,目的可以是版本库中的其它地方,也可以是同一版本库中的工作副本。"

#. (para)
msgid "View/Edit the folder's properties."
msgstr "察看/编辑目录的属性"

#. (para)
msgid "Mark the folder for comparison. A marked folder is shown in bold."
msgstr "为比较标记目录。已标记的目录用粗体显示。"

#. (para)
msgid ""
"Compare the folder with a previously marked folder, either as a unified diff, "
"or as a list of changed files which can then be visually diffed using the "
"default diff tool. This can be particularly useful for comparing two tags, or "
"trunk and branch to see what changed."
msgstr ""
"将此文件夹与以前标记的文件夹比较,用统一差异,或者是一个可以用默认比较工具可视"
"化显示差异的文件改变列表。它对于比较两个标签,或者最新版本与分支,查看修改详情"
"时尤其有用。"

#. (para)
msgid "The context menu for a folder allows you to: <placeholder-1/>"
msgstr "目录的上下文菜单允许你:<placeholder-1/>"

#. (para)
msgid ""
"If you select two folders in the right pane, you can view the differences "
"either as a unified-diff, or as a list of files which can be visually diffed "
"using the default diff tool."
msgstr ""
"如果你在右窗格选择两个文件夹,你可以用统一差异,或者是一个可以用默认比较工具可"
"视化显示差异的文件改变列表来查看其区别。"

#. (para)
msgid ""
"If you select multiple folders in the right pane, you can checkout all of "
"them at once into a common parent folder."
msgstr ""
"如果你在右边窗格中选择了多个目录,你可以将它们同时检出到同一个父目录之下。"

#. (para)
msgid ""
"If you select 2 tags which are copied from the same root (typically <literal>/"
"trunk/</literal>), you can use <menuchoice><guimenu>Context Menu</"
"guimenu><guimenuitem>Show Log...</guimenuitem></menuchoice> to view the list "
"of revisions between the two tag points."
msgstr ""
"如果你选择两个拥有相同历史的标签(特别是<literal>/主干/</literal>),你可以使用"
"<menuchoice><guimenu>右键菜单</guimenu><guimenuitem>显示日志...</"
"guimenuitem></menuchoice>来查看"

#. (para)
#, fuzzy
msgid ""
"You can use <keycap>F5</keycap> to refresh the view as usual. This will "
"refresh everything which is currently displayed. If you want to pre-fetch or "
"refresh the information for nodes which have not been opened yet, use "
"<keycap>Ctrl-F5</keycap>. After that, expanding any node will happen "
"instantly without a network delay while the information is fetched."
msgstr ""
"你可以使用 <action>F5</action> 刷新视图。它会刷新现在显示的所有信息。你可以使"
"用 <action>CTRL-F5</action> 预取或刷新还没有打开的节点信息。然后,展开任何节点"
"都会立即显示,因为信息已经预取,所以没有网络延迟。"

#. (para)
#, fuzzy
msgid ""
"You can also use the repository browser for drag-and-drop operations. If you "
"drag a folder from explorer into the repo-browser, it will be imported into "
"the repository. Note that if you drag multiple items, they will be imported "
"in separate commits."
msgstr ""
"你也可以在版本库浏览器中使用拖拽的操作。如果你把一个文件夹从资源管理器中拖拽到"
"版本库浏览器中,那就实现该文件夹的导入功能。有一点要注意,在导入多个文件时,必"
"须分开一个一个地拖进去。"

#. (para)
#, fuzzy
msgid ""
"If you want to move an item within the repository, just <action>left drag</"
"action> it to the new location. If you want to create a copy rather than "
"moving the item, <keycap>Ctrl</keycap>-<action>left drag</action> instead. "
"When copying, the cursor has a <quote>plus</quote> symbol on it, just as it "
"does in Explorer."
msgstr ""
"如果要在版本库浏览器中移动一个文件,只用<action>左键拖</action>到它要去的位"
"置。如果你更愿意去复制该文件的话,使用这个<action>按住左键拖</action> 。操作就"
"像在资源管理器中一样,复制时指针<quote>加</quote> 来标记。"

#. (para)
#, fuzzy
msgid ""
"If you want to copy/move a file or folder to another location and also give "
"it a new name at the same time, you can <action>right drag</action> or "
"<keycap>Ctrl</keycap>-<action>right drag</action> the item instead of using "
"<action>left drag</action>. In that case, a rename dialog is shown where you "
"can enter a new name for the file or folder."
msgstr ""
"如果你要复制/移动一个文件或文件夹到一个新的位置并重命名,你可以<action>右键拖"
"</action> 或者 <action>按住右键拖</action>这个文件,而不用<action>左键拖</"
"action>。这样,就会显示对话框来为该文件或文件夹重命名。"

#. (para)
msgid ""
"Whenever you make changes in the repository using one of these methods, you "
"will be presented with a log message entry dialog. If you dragged something "
"by mistake, this is also your chance to cancel the action."
msgstr ""
"无论什么时候对版本库的任意操作,都要求加入它的操作日志。这为你操作失误提供了返"
"回的机会。"

#. (para)
#, fuzzy
msgid ""
"Sometimes when you try to open a path you will get an error message in place "
"of the item details. This might happen if you specified an invalid URL, or if "
"you don't have access permission, or if there is some other server problem. "
"If you need to copy this message to include it in an email, just right click "
"on it and use <menuchoice><guimenu>Context Menu</guimenu><guimenuitem>Copy "
"error message to clipboard</guimenuitem></menuchoice>, or simply use "
"<keycap>Ctrl+C</keycap>."
msgstr ""
"有时候当你访问一个路径时,会跳出一个错误信息。也许是不可用的URL,也许是你没有"
"访问权限,或者其他的一些原因,如果你要把这些信息发送出去,只用点击它然后"
"<menuchoice><guimenu>右键</guimenu><guimenuitem>复制错误信息到剪贴板</"
"guimenuitem></menuchoice>,或者简单地用<action>CTRL+C</action>。"

#. (title)
msgid "Revision Graphs"
msgstr "版本分支图"

#. (primary)
msgid "graph"
msgstr "分支"

#. (primary)
msgid "revision graph"
msgstr "版本图"

#. (title)
msgid "A Revision Graph"
msgstr "一个版本分支"

#. (para)
msgid ""
"<placeholder-1/> Sometimes you need to know where branches and tags were "
"taken from the trunk, and the ideal way to view this sort of information is "
"as a graph or tree structure. That's when you need to use "
"<menuchoice><guimenu>TortoiseSVN</guimenu><guimenuitem>Revision Graph...</"
"guimenuitem></menuchoice>"
msgstr ""
"<placeholder-1/>有时候,我们需要知道从哪开始有了分支和标签,同时想知道这条支路"
"是单独的分支还是树型结构。如果需要你可以使用<menuchoice><guimenu>TortoiseSVN</"
"guimenu><guimenuitem>版本分支图...</guimenuitem></menuchoice>。"

#. (para)
msgid ""
"This command analyses the revision history and attempts to create a tree "
"showing the points at which copies were taken, and when branches/tags were "
"deleted."
msgstr ""
"这个版本历史分析图能够显示分支/标签从什么地方开始创建,以及什么时候删除。"

#. (para)
#, fuzzy
msgid ""
"In order to generate the graph, TortoiseSVN must fetch all log messages from "
"the repository root. Needless to say this can take several minutes even with "
"a repository of a few thousand revisions, depending on server speed, network "
"bandwidth, etc. If you try this with something like the <emphasis>Apache</"
"emphasis> project which currently has over 500,000 revisions you could be "
"waiting for some time."
msgstr ""
"要产生版本分支图,TortoiseSVN必须从版本库中获取所有的日志信息。一个只有上千版"
"本的版本库也会需要几分钟的时间,这个主要由服务器速度,网络带宽等因素决定。对于"
"类似<literal>Apache</literal>这样的版本号超过500,000的项目,估计要等上比较长"
"的时间了。"

#. (para)
#, fuzzy
msgid ""
"The good news is that if you are using Log Caching, you only have to suffer "
"this delay once. After that, log data is held locally. Log caching is enabled "
"in TortoiseSVN's settings."
msgstr ""
"好消息是如果你使用日志缓存,你只需要忍受一次耽搁。然后日志保存到本地。日志缓存"
"可以在<guilabel>对话框一</guilabel>启用。"

#. (title)
msgid "Revision Graph Nodes"
msgstr "版本图节点"

#. (term)
msgid "Added or copied items"
msgstr ""

#. (para)
#, fuzzy
msgid ""
"Items which have been added, or created by copying another file/folder are "
"shown using a rounded rectangle. The default colour is green. Tags are "
"treated as a special case and use a different shade."
msgstr "已增加或通过复制生成的文件/文件夹以圆圈的方式标记。"

#. (term)
#, fuzzy
msgid "Deleted items"
msgstr "删除的节点"

#. (para)
#, fuzzy
msgid ""
"Deleted items eg. a branch which is no longer required, are shown using an "
"octagon (rectangle with corners cut off). The default colour is red."
msgstr ""
"已删除文件,比如说一个不在需要的分支,将显示octagon(rectangle with corners "
"cut off)。"

#. (term)
#, fuzzy
msgid "Renamed items"
msgstr "改名文件"

#. (para)
msgid ""
"Renamed items are also shown using an octagon, but the default colour is blue."
msgstr ""

#. (term)
#, fuzzy
msgid "Replaced items"
msgstr "替换的节点"

#. (para)
#, fuzzy
msgid ""
"A replaced item is one where the original item has been deleted and replaced "
"with another item of the same name. The default colour is green."
msgstr "该原始条目已经被删除,且有同名条目替换了的条目。"

#. (term)
msgid "Branch tip revision"
msgstr "分支最新版本"

#. (para)
#, fuzzy
msgid ""
"Where a branch (or trunk or tag) has been modified since the last branch "
"node, this is shown using an ellipse. Shown when the <guilabel>Show HEAD "
"revisions</guilabel> option is selected."
msgstr ""
"当一个分支(或者主干或者标签)从最新的节点开始以来有了新的更改,将有一个插件显示"
"出来。也就是说,任意分支的最新版本都会显示在分支图上。"

#. (term)
#, fuzzy
msgid "Normal item"
msgstr "一般的文件/文件夹"

#. (para)
msgid "All other items are shown using a plain rectangle."
msgstr "其他一般的文件用plain rectangle标示。"

#. (para)
msgid ""
"Each revision graph node represents a revision in the repository where "
"something changed in the tree you are looking at. Different types of node can "
"be distinguished by shape and colour. The shapes are fixed, but colours can "
"be set using <menuchoice><guimenu>TortoiseSVN</guimenu><guimenuitem>Settings</"
"guimenuitem></menuchoice><placeholder-1/>"
msgstr ""

#. (para)
#, fuzzy
msgid ""
"Note that by default the graph only shows the points at which items were "
"added, copied or deleted. Showing every revision of a project will generate a "
"very large graph for non-trivial cases. If you really want to see "
"<emphasis>all</emphasis> revisions where changes were made, there is an "
"option to do this in the <guilabel>View</guilabel> menu and on the toolbar."
msgstr ""
"版本分支图将显示以下内容: <placeholder-1/>默认的分支信息只会显示那些有增加或删"
"除文件的节点。要显示一个项目的所有版本将会产生一个庞大的毫无价值的版本图。如果"
"你呀看到所有的版本,在视图工具栏里可以找到实现该功能的选项。"

#. (title)
msgid "Changing the View"
msgstr ""

#. (term)
msgid "Group branches"
msgstr "分组分支"

#. (para)
msgid ""
"The default behavior (grouping off) will use one row per revision and all "
"rows are sorted strictly by revision. As a result, long-living branches "
"occupy a whole column for only a few changes and the graph becomes very broad."
msgstr ""

#. (para)
msgid ""
"This mode groups changes by branch, so that there is no global revision "
"ordering: Consecutive revisions on a branch will be shown in (often) "
"consecutive lines. Sub-branches, however, are arranged in such a way that "
"later branches will be shown in the same column above older branches to keep "
"the graph slim. As a result, a given row may contain changes from different "
"revisions."
msgstr ""

#. (term)
msgid "Oldest on top"
msgstr "最老的在顶部"

#. (para)
msgid ""
"Normally the graph shows the oldest revision at the bottom, and the tree "
"grows upwards. Use this option to grow down from the top instead."
msgstr ""
"正常情况下,在图形底部显示最老的版本,版本树向上生长。使用这个选项,版本树从顶"
"部向下生长。"

#. (term)
#, fuzzy
msgid "Align trees on top"
msgstr "最老的在顶部"

#. (para)
msgid ""
"When a graph is broken into several smaller trees, the trees may appear "
"either in natural revision order, or aligned at the bottom of the window, "
"depending on whether you are using the <guilabel>Group Branches</guilabel> "
"option. Use this option to grow all trees down from the top instead."
msgstr ""

#. (term)
msgid "Reduce cross lines"
msgstr "减少交叉行"

#. (para)
msgid ""
"If the layout of the graph has produced a lot of crossing lines, use this "
"option to clean it up. This may make the layout columns appear in less "
"logical places, for example in a diagonal line rather than a column, and it "
"may take a little time to optimise."
msgstr ""
"如果图形布局产生许多交叉行,可使用这个选项来清理。它可以让布局列在更少的逻辑位"
"置显示,例如使用斜线而不是列,可能需要少许时间来优化显示。"

#. (term)
msgid "Differential path names"
msgstr ""

#. (para)
msgid ""
"Long path names can take a lot of space and make the node boxes very large. "
"Use this option to show only the changed part of a path, replacing the common "
"part with dots. e.g. if you create a branch <literal>/branches/1.2.x/doc/"
"html</literal> from <literal>/trunk/doc/html</literal> the branch could be "
"shown in compact form as <literal>/branches/1.2.x/.</literal>"
msgstr ""

#. (term)
#, fuzzy
msgid "Show all revisions"
msgstr "显示最新版本"

#. (para)
msgid ""
"This does just what you expect and shows every revision where something (in "
"the tree that you are graphing) has changed. For long histories this can "
"produce a truly huge graph."
msgstr ""

#. (term)
msgid "Show HEAD revisions"
msgstr "显示最新版本"

#. (para)
msgid ""
"This ensures that the latest revision on every branch is always shown on the "
"graph."
msgstr "它确保每个分支的最新版本永远在图中显示。"

#. (term)
msgid "Exact copy sources"
msgstr "精确复制源"

#. (para)
msgid ""
"When a branch/tag is made, the default behaviour is to show the branch as "
"taken from the last node where a change was made. Strictly speaking this is "
"inaccurate since the branches are often made from the current HEAD rather "
"than a specific revision. So it is possible to show the more correct (but "
"less useful) revision that was used to create the copy."
msgstr ""

#. (term)
msgid "Fold tags"
msgstr "折叠标签"

#. (para)
msgid ""
"If you want to see a graph of software development, tagged releases may be of "
"little interest to you. This option hides the nodes for tags and shows them "
"instead in the tooltip for the node that they were copied from. A tag icon on "
"the right side of the source node indicates that tags were made."
msgstr ""

#. (term)
msgid "Hide deleted paths"
msgstr ""

#. (para)
msgid ""
"Hides paths which are no longer present at the HEAD revision of the "
"repository, e.g. deleted branches."
msgstr ""

#. (term)
msgid "Hide unused branches"
msgstr ""

#. (para)
msgid ""
"Hides branches where no changes were committed that affect the tree being "
"graphed before the branch was deleted. This does not necessarily indicate "
"that the branch was not used, just that no changes were made to "
"<emphasis>this</emphasis> part of it."
msgstr ""

#. (term)
#, fuzzy
msgid "Show WC revision"
msgstr "显示最新版本"

#. (para)
msgid ""
"Marks the revision on the graph which corresponds to the update revision of "
"the item you fetched the graph for. If you have just updated, this will be "
"HEAD, but if others have committed changes since your last update your WC may "
"be a few revisions lower down. The node is marked by giving it a bold outline."
msgstr ""

#. (term)
#, fuzzy
msgid "Show WC modifications"
msgstr "修改"

#. (para)
msgid ""
"If your WC contains local changes, this option draws it as a separate "
"elliptical node, linked back to the node that your WC was last updated to. "
"The default outline colour is red. You may need to refresh the graph using "
"<keycap>F5</keycap> to capture recent changes."
msgstr ""

#. (term)
msgid "Filter"
msgstr "过滤器"

#. (para)
#, fuzzy
msgid ""
"Sometimes the revision graph contains more revisions than you want to see. "
"This option opens a dialog which allows you to restrict the range of "
"revisions displayed, and to hide particular paths by name."
msgstr ""
"有时候版本图包含的信息比你想看到的多。<menuchoice><guimenu>视图</"
"guimenu><guimenuitem>过滤器</guimenuitem></menuchoice>打开对话框,允许你限制显"
"示的版本范围,隐藏指定的路径名称模式。"

#. (term)
msgid "Tree stripes"
msgstr ""

#. (para)
msgid ""
"Where the graph contains several trees, it is sometimes useful to use "
"alternating colours on the background to help distinguish between trees,"
msgstr ""

#. (term)
msgid "Show overview"
msgstr ""

#. (para)
msgid ""
"Shows a small picture of the entire graph, with the current view window as a "
"rectangle which you can drag. This allows you to navigate the graph more "
"easily."
msgstr ""

#. (para)
msgid ""
"Because a revision graph is often quite complex, there are a number of "
"features which can be used to tailor the view the way you want it. These are "
"available in the <guilabel>View</guilabel> menu and from the toolbar. "
"<placeholder-1/>"
msgstr ""
"因为版本图经常很复杂,所以有很多方法剪裁视图。你可以在<guilabel>视图</"
"guilabel>菜单或工具栏找到它们。<placeholder-1/>"

#. (title)
msgid "Using the Graph"
msgstr "使用图"

#. (para)
msgid ""
"To make it easier to navigate a large graph, use the overview window. This "
"shows the entire graph in a small window, with the currently displayed "
"portion highlighted. You can drag the highlighted area to change the "
"displayed region."
msgstr ""
"概览窗口可以使遍历大图更容易。它在小窗口中显示整个图形,高亮显示当前详细显示的"
"部分。你可以通过拖曳高亮区域来改变当前详细显示的部分。"

#. (para)
msgid ""
"The revision date, author and comments are shown in a hint box whenever the "
"mouse hovers over a revision box."
msgstr "任何时候只要鼠标在版本框上滑过,都会显示该版本的日期、作者和备注信息。"

#. (para)
#, fuzzy
msgid ""
"If you select two revisions (Use <keycap>Ctrl</keycap>-<action>left click</"
"action>), you can use the context menu to show the differences between these "
"revisions. You can choose to show differences as at the branch creation "
"points, but usually you will want to show the differences at the branch end "
"points, i.e. at the HEAD revision."
msgstr ""
"选择两个版本(用ctrl+左击),你可以在右键菜单下查看这两个版本的差异。你可以在分"
"支的起始点查看差异,但一般你会在一个分支的结束点来查看,比如,在最新版本。"

#. (para)
msgid ""
"You can view the differences as a Unified-Diff file, which shows all "
"differences in a single file with minimal context. If you opt to "
"<menuchoice><guimenu>Context Menu</guimenu><guimenuitem>Compare Revisions</"
"guimenuitem></menuchoice> you will be presented with a list of changed files. "
"<action>Double click</action> on a file name to fetch both revisions of the "
"file and compare them using the visual difference tool."
msgstr ""
"你可以用查看单一差异文件的方式来查看差异,它在单一的文件中显示差异。如果你选"
"<menuchoice><guimenu>右键菜单</guimenu><guimenuitem>比较版本</guimenuitem></"
"menuchoice>所有修改过的文件都会呈现在列表中。<action>双击</action>一个文件名可"
"以返回文件版本号和他们差异。"

#. (para)
msgid ""
"If you <action>right click</action> on a revision you can use "
"<menuchoice><guimenu>Context Menu</guimenu><guimenuitem>Show Log</"
"guimenuitem></menuchoice> to view the history."
msgstr ""
"如果<action>右击</action>一个版本你可以使用<menuchoice><guimenu>右键菜单</"
"guimenu><guimenuitem>显示日志</guimenuitem></menuchoice> 来查看它的历史。"

#. (para)
msgid ""
"You can also merge changes in the selected revision(s) into a different "
"working copy. A folder selection dialog allows you to choose the working copy "
"to merge into, but after that there is no confirmation dialog, nor any "
"opportunity to try a test merge. It is a good idea to merge into an "
"unmodified working copy so that you can revert the changes if it doesn't work "
"out! This is a useful feature if you want to merge selected revisions from "
"one branch to another."
msgstr ""

#. (para)
msgid ""
"Because Subversion cannot provide all the information required, a certain "
"amount of interpretation is required, which can sometimes give strange "
"results. Nevertheless, the output for the trunk will generally give useful "
"results."
msgstr ""
"因为Subversion不能支持提供所有请求的信息,在有大量请求信息时,有时它能提供强大"
"的返回信息。但无论如何,主干都会产生有用的输出。"

#. (para)
msgid ""
"If you want to check the server again for newer information, you can simply "
"refresh the view using <keycap>F5</keycap>. If you are using the log cache "
"(enabled by default), this will check the repository for newer commits and "
"fetch only the new ones. If the log cache was in offline mode, this will also "
"attempt to go back online."
msgstr ""

#. (para)
msgid ""
"If you are using the log cache and you think the message content or author "
"may have changed, you should use the log dialog to refresh the messages you "
"need. Since the revision graph works from the repository root, we would have "
"to invalidate the entire log cache, and refilling it could take a "
"<emphasis>very</emphasis> long time."
msgstr ""

#. (title)
msgid "Pruning Trees"
msgstr ""

#. (para)
msgid ""
"A large tree can be difficult to navigate and sometimes you will want to hide "
"parts of it, or break it down into a forest of smaller trees. If you hover "
"the mouse over the point where a node link enters or leaves the node you will "
"see one or more popup buttons which allow you to do this."
msgstr ""

#. (para)
msgid ""
"<graphic fileref=\"../images/RevGraphCollapse.png\"/> Click on the minus "
"button to collapse the attached sub-tree."
msgstr ""

#. (para)
msgid ""
"<graphic fileref=\"../images/RevGraphExpand.png\"/> Click on the plus button "
"to expand a collapsed tree. When a tree has been collapsed, this button "
"remains visible to indicate the hidden sub-tree."
msgstr ""

#. (para)
msgid ""
"<graphic fileref=\"../images/RevGraphSplit.png\"/> Click on the cross button "
"to split the attached sub-tree and show it as a separate tree on the graph."
msgstr ""

#. (para)
msgid ""
"<graphic fileref=\"../images/RevGraphJoin.png\"/> Click on the circle button "
"to reattach a split tree. When a tree has been split away, this button "
"remains visible to indicate that there is a separate sub-tree."
msgstr ""

#. (title)
msgid "Exporting a Subversion Working Copy"
msgstr "导出一个Subversion工作副本"

#. (primary)
msgid "export"
msgstr "导出"

#. (primary)
#, fuzzy
msgid "unversioned 'working copy'"
msgstr "从工作副本删除版本信息"

#. (para)
msgid ""
"Sometimes you may want a copy of your working tree without any of those "
"<filename>.svn</filename> directories, e.g. to create a zipped tarball of "
"your source, or to export to a web server. Instead of making a copy and then "
"deleting all those <filename>.svn</filename> directories manually, "
"TortoiseSVN offers the command <menuchoice><guimenu>TortoiseSVN</"
"guimenu><guimenuitem>Export...</guimenuitem></menuchoice>. Exporting from a "
"URL and exporting from a working copy are treated slightly differently."
msgstr ""
"有时候你需要一个没有<filename>.svn</filename>目录的工作目录树,例如,创建一份"
"源代码的压缩文件,或者导出一份用作WEB服务器。不用先复制,然后手工删除所有"
"<filename>.svn</filename>目录。TortoiseSVN提供命令"
"<menuchoice><guimenu>TortoiseSVN</guimenu><guimenuitem>导出...</guimenuitem></"
"menuchoice>。如果你要用这个功能操作拥有一份工作副本,将会在要求你保存一份干净"
"的文件。从URL或工作副本导出有少许不同。"

#. (title)
msgid "The Export-from-URL Dialog"
msgstr "从 URL 导出对话框"

#. (para)
msgid ""
"<placeholder-1/> If you execute this command on an unversioned folder, "
"TortoiseSVN will assume that the selected folder is the target, and open a "
"dialog for you to enter the URL and revision to export from. This dialog has "
"options to export only the top level folder, to omit external references, and "
"to override the line end style for files which have the <literal>svn:eol-"
"style</literal> property set."
msgstr ""
"<placeholder-1/> 如果你在未版本控制的目录执行此命令,TortoiseSVN会假定此目录是"
"目标,弹出对话框让你输入要导出的URL和版本。这个对话框有只导出顶级目录,省略外"
"部引用,以及不管<literal>svn:eol-style</literal>的取值,重新设置行结束样式等选"
"项。"

#. (para)
msgid ""
"Of course you can export directly from the repository too. Use the Repository "
"Browser to navigate to the relevant subtree in your repository, then use "
"<menuchoice><guimenu>Context Menu</guimenu><guimenuitem>Export</guimenuitem></"
"menuchoice>. You will get the <guilabel>Export from URL</guilabel> dialog "
"described above."
msgstr ""
"当然,你也可以直接从版本库导出。使用版本库浏览器浏览有关子树,然后使用"
"<menuchoice><guimenu>右键菜单</guimenu><guimenuitem>导出</guimenuitem></"
"menuchoice>。就会出现上面所说的<guilabel>从URL导出</guilabel>对话框。"

#. (para)
msgid ""
"If you execute this command on your working copy you'll be asked for a place "
"to save the <emphasis>clean</emphasis> working copy without the <filename>."
"svn</filename> folders. By default, only the versioned files are exported, "
"but you can use the <guilabel>Export unversioned files too</guilabel> "
"checkbox to include any other unversioned files which exist in your WC and "
"not in the repository. External references using <literal>svn:externals</"
"literal> can be omitted if required."
msgstr ""
"如果你要用这个功能操作工作副本,将会询问你要保存<emphasis>干净</emphasis>而没"
"有<filename>.svn</filename>目录的副本到何处。默认情况下,只导出被版本控制的文"
"件,但你可以使用<guilabel>同时导出未受版本控制的文件</guilabel>来将版本库中没"
"有但在你的本地副本中存在的文件导出来。另外可以使用<literal>svn:externals</"
"literal>来忽略外部引用。"

#. (para)
msgid ""
"Another way to export from a working copy is to <action>right drag</action> "
"the working copy folder to another location and choose "
"<menuchoice><guimenu>Context Menu</guimenu><guimenuitem>SVN Export here</"
"guimenuitem></menuchoice> or <menuchoice><guimenu>Context Menu</"
"guimenu><guimenuitem>SVN Export all here</guimenuitem></menuchoice>. The "
"second option includes the unversioned files as well."
msgstr ""
"另外一个导出的方法是 <action>右键拖</action>工作副本到另外的保存位置,然后选择"
"<menuchoice><guimenu>右键菜单</guimenu><guimenuitem>SVN导出到这儿</"
"guimenuitem></menuchoice>或者<menuchoice><guimenu>右键菜单</"
"guimenu><guimenuitem>SVN 导出全部到这儿</guimenuitem></menuchoice>。后者可以把"
"未受版本控制的文件也导出。"

#. (para)
msgid ""
"When exporting from a working copy, if the target folder already contains a "
"folder of the same name as the one you are exporting, you will be given the "
"option to overwrite the existing content, or to create a new folder with an "
"automatically generated name, eg. <literal>Target (1)</literal>."
msgstr ""
"导出工作副本时,如果目标目录包含了和你导出的名称相同的目录,你需要使用此选项重"
"写已经存在的内容,或者使用自动生成的名称,例如<literal>目标 (1)</literal>。"

#. (title)
#, fuzzy
msgid "Exporting single files"
msgstr "导出一个Subversion工作副本"

#. (para)
msgid ""
"The export dialog does not allow exporting single files, even though "
"Subversion can."
msgstr ""

#. (para)
msgid ""
"To export single files with TortoiseSVN, you have to use the repository "
"browser (<xref linkend=\"tsvn-dug-repobrowser\"/>). Simply drag the file(s) "
"you want to export from the repository browser to where you want them in the "
"explorer, or use the context menu in the repository browser to export the "
"files."
msgstr ""

#. (title)
#, fuzzy
msgid "Exporting a Change Tree"
msgstr "导出一个Subversion工作副本"

#. (para)
msgid ""
"If you want to export a copy of your project tree structure but containing "
"only the files which have changed in a particular revision, or between any "
"two revisions, use the compare revisions feature described in <xref linkend="
"\"tsvn-dug-compare-revs\"/>."
msgstr ""

#. (title)
msgid "Removing a working copy from version control"
msgstr "从版本控制里移除删除工作副本"

#. (primary)
#. (primary)
msgid "unversion"
msgstr "没有版本控制"

#. (para)
msgid ""
"Sometimes you have a working copy which you want to convert back to a normal "
"folder without the <literal>.svn</literal> directories. What you really need "
"is an export-in-place command, that just removes the control directories "
"rather than generating a new clean directory tree."
msgstr ""

#. (para)
msgid ""
"The answer is surprisingly simple - export the folder to itself! TortoiseSVN "
"detects this special case and asks if you want to make the working copy "
"unversioned. If you answer <emphasis>yes</emphasis> the control directories "
"will be removed and you will have a plain, unversioned directory tree."
msgstr ""

#. (title)
msgid "Relocating a working copy"
msgstr "重新定位工作副本"

#. (primary)
msgid "relocate"
msgstr "重新定位"

#. (primary)
msgid "URL changed"
msgstr "URL 已改变"

#. (primary)
msgid "repository URL changed"
msgstr "版本库的 URL 已改变"

#. (primary)
msgid "server moved"
msgstr "服务器已移动"

#. (primary)
msgid "moved server"
msgstr "已移动的服务器"

#. (title)
msgid "The Relocate Dialog"
msgstr "重定位对话框"

#. (para)
#, fuzzy
msgid ""
"<placeholder-1/> If your repository has for some reason changed it's location "
"(IP/URL). Maybe you're even stuck and can't commit and you don't want to "
"checkout your working copy again from the new location and to move all your "
"changed data back into the new working copy, "
"<menuchoice><guimenu>TortoiseSVN</guimenu><guimenuitem>Relocate</"
"guimenuitem></menuchoice> is the command you are looking for. It basically "
"does very little: it scans all <filename>entries</filename> files in the "
"<filename>.svn</filename> folder and changes the URL of the entries to the "
"new value."
msgstr ""
"<placeholder-1/>如果你的版本库因为某些原因而重定位了(IP/URL).也许你不能进行操"
"作,不能提交,不能从新的定位检出副本,也不能将修改的数据提交到新位置的版本库"
"中,<menuchoice><guimenu>TortoiseSVN</guimenu><guimenuitem>重新定位</"
"guimenuitem></menuchoice>也许正是你需要的。它的做法很简单: 查找所有 "
"<filename>.svn</filename> 文件的接口然后把URL值改为新的版本库地址。"

#. (para)
msgid ""
"You may be surprised to find that TortoiseSVN contacts the repository as part "
"of this operation. All it is doing is performing some simple checks to make "
"sure that the new URL really does refer to the same repository as the "
"existing working copy."
msgstr ""

#. (para)
msgid "The IP address of the server has changed."
msgstr "服务器的IP地址已更改。"

#. (para)
msgid "The protocol has changed (e.g. http:// to https://)."
msgstr "协议已更改(比如从http://%e6%94%b9%e4%b8%ba https://)。"

#. (para)
msgid "The repository root path in the server setup has changed."
msgstr "版本库在服务器的路径已更改。"

#. (para)
msgid ""
"<emphasis>This is a very infrequently used operation</emphasis>. The relocate "
"command is <emphasis>only</emphasis> used if the URL of the repository root "
"has changed. Possible reasons are: <placeholder-1/> Put another way, you need "
"to relocate when your working copy is referring to the same location in the "
"same repository, but the repository itself has moved."
msgstr ""
"<emphasis>这是一个极少使用的操作</emphasis>.重定位<emphasis>只能</emphasis> 在"
"版本库路径更改时使用。可能的原因是: <placeholder-1/> 换种说法,如果你要重定"
"位,只有当你的工作副本仍然还在同一个版本库中定位,但版本库本身已经没有了。"

#. (para)
msgid ""
"You want to move to a different Subversion repository. In that case you "
"should perform a clean checkout from the new repository location."
msgstr ""
"你要移到一个完全不同的版本库。这种情况下,你必须从新的版本库里执行一次干净的检"
"出。"

#. (para)
msgid ""
"You want to switch to a different branch or directory within the same "
"repository. To do that you should use <menuchoice><guimenu>TortoiseSVN</"
"guimenu><guimenuitem>Switch...</guimenuitem></menuchoice>. Read <xref linkend="
"\"tsvn-dug-switch-1\"/> for more information."
msgstr ""
"你要在同一个版本库中切换一个分支或目录。这么做你可以用"
"<menuchoice><guimenu>TortoiseSVN</guimenu><guimenuitem>切换...</guimenuitem></"
"menuchoice>. "

#. (para)
msgid "It does not apply if: <placeholder-1/>"
msgstr "以下情况不支持: <placeholder-1/>"

#. (para)
msgid ""
"If you use relocate in either of the cases above, it <emphasis>will corrupt "
"your working copy</emphasis> and you will get many unexplainable error "
"messages while updating, committing, etc. Once that has happened, the only "
"fix is a fresh checkout."
msgstr ""
"如果你使用以上任意一种重定位方式,它<emphasis>将破坏你的工作副本</emphasis>,"
"在你更新、提交等操作时会提示一些令人费解的错误信息。一旦发生这种情况,唯一的办"
"法就是检出最新版本。"

#. (title)
msgid "Integration with Bug Tracking Systems / Issue Trackers"
msgstr "与 BUG 跟踪系统/问题跟踪集成"

#. (primary)
msgid "bug tracking"
msgstr "BUG 跟踪"

#. (primary)
msgid "bug tracker"
msgstr "BUG 跟踪者"

#. (primary)
msgid "issue tracker"
msgstr "问题跟踪者"

#. (primary)
msgid "bugtracker"
msgstr "BUG 跟踪器"

#. (para)
msgid ""
"It is very common in Software Development for changes to be related to a "
"specific bug or issue ID. Users of bug tracking systems (issue trackers) "
"would like to associate the changes they make in Subversion with a specific "
"ID in their issue tracker. Most issue trackers therefore provide a pre-commit "
"hook script which parses the log message to find the bug ID with which the "
"commit is associated. This is somewhat error prone since it relies on the "
"user to write the log message properly so that the pre-commit hook script can "
"parse it correctly."
msgstr ""
"在软件开发中,修改依赖于一个bug或问题编号是很常见的。bug跟踪系统的用户(问题跟"
"踪者)喜欢在问题跟踪中将Subversion的修改与一个指定编号联系起来。因此很多问题跟"
"踪者提供了一个预提交钩子脚本,分析日志,查找提交相关的bug编号。这稍微有些不可"
"靠,因为它依赖于用户写完全的日志,预提交钩子才能正确分析。"

#. (para)
msgid ""
"When the user enters a log message, a well defined line including the issue "
"number associated with the commit can be added automatically. This reduces "
"the risk that the user enters the issue number in a way the bug tracking "
"tools can't parse correctly."
msgstr ""
"当用户输入日志信息时,一个定义良好,包含问题编号,与此提交相关的的行,会自动增"
"加。这样减少了用户输入的问题编号不能比bug跟踪系统正确分析的风险。"

#. (para)
msgid ""
"Or TortoiseSVN can highlight the part of the entered log message which is "
"recognized by the issue tracker. That way the user knows that the log message "
"can be parsed correctly."
msgstr ""
"或者TortoiseSVN高亮显示日志消息中能被问题跟踪者识别的部分。这样,用户就知道日"
"志消息能被正确解析。"

#. (para)
msgid ""
"When the user browses the log messages, TortoiseSVN creates a link out of "
"each bug ID in the log message which fires up the browser to the issue "
"mentioned."
msgstr ""
"当用户浏览日志信息,TortoiseSVN在日志信息中创建指向每个bug标示的链接,它可以用"
"浏览器打开。"

#. (para)
msgid "TortoiseSVN can help the user in two ways: <placeholder-1/>"
msgstr "TortoiseSVN可以在两个方面帮助用户: <placeholder-1/>"

#. (title)
#, fuzzy
msgid "Adding Issue Numbers to Log Messages"
msgstr "默认的日志信息数"

#. (para)
#, fuzzy
msgid ""
"You can integrate a bug tracking tool of your choice in TortoiseSVN. To do "
"this, you have to define some properties, which start with <literal>bugtraq:</"
"literal>. They must be set on Folders: (<xref linkend=\"tsvn-dug-propertypage"
"\"/>)"
msgstr ""
"你可以在TortoiseSVN中集成bug跟踪工具。为了使用这个特性,你要定义一些以"
"<literal>bugtraq:</literal>开始的属性,它们只能在文件夹上设置 (<xref linkend="
"\"tsvn-dug-propertypage\"/>)。"

#. (para)
#, fuzzy
msgid ""
"Set this property to the URL of your bug tracking tool. It must be properly "
"URI encoded and it has to contain <literal>%BUGID%</literal>. <literal>%BUGID%"
"</literal> is replaced with the Issue number you entered. This allows "
"TortoiseSVN to display a link in the log dialog, so when you are looking at "
"the revision log you can jump directly to your bug tracking tool. You do not "
"have to provide this property, but then TortoiseSVN shows only the issue "
"number and not the link to it. e.g the TortoiseSVN project is using "
"<systemitem class=\"url\">http://issues.tortoisesvn.net/?do=details&amp;id=%"
"BUGID%</systemitem>"
msgstr ""
"将这个属性设置为你的bug跟踪工具的地址。它必须编码并且包含<literal>%BUGID%</"
"literal>。<literal>%BUGID%</literal>用你输入的问题编号替换。它允许TortoiseSVN "
"在日志对话框中显示链接,于是你可以在察看版本日志时直接进入bug跟踪工具。你可以"
"不提供这个属性,但是这样TortoiseSVN就不能显示链接了,只能显示问题编号。例如"
"TortoiseSVN 使用<literal>http://issues.tortoisesvn.net/?do=details&amp;id=%"
"BUGID%</literal>。"

#. (para)
msgid ""
"You can also use relative URLs instead of absolute ones. This is useful when "
"your issue tracker is on the same domain/server as your source repository. In "
"case the domain name ever changes, you don't have to adjust the "
"<literal>bugtraq:url</literal> property. There are two ways to specify a "
"relative URL:"
msgstr ""

#. (para)
msgid ""
"If it begins with the string <literal>^/</literal> it is assumed to be "
"relative to the repository root. For example, <literal>^/../?do=details&amp;"
"id=%BUGID%</literal> will resolve to <systemitem class=\"url\">http://"
"tortoisesvn.net/?do=details&amp;id=%BUGID%</systemitem> if your repository is "
"located on <systemitem class=\"url\">http://tortoisesvn.net/svn/trunk/</"
"systemitem>."
msgstr ""

#. (para)
msgid ""
"A URL beginning with the string <literal>/</literal> is assumed to be "
"relative to the server's hostname. For example <literal>/?do=details&amp;id=%"
"BUGID%</literal> will resolve to <systemitem class=\"url\">http://tortoisesvn."
"net/?do=details&amp;id=%BUGID%</systemitem> if your repository is located "
"anywhere on <systemitem class=\"url\">http://tortoisesvn.net</systemitem>."
msgstr ""

#. (para)
#, fuzzy
msgid ""
"Set this to <literal>true</literal>, if you want TortoiseSVN to warn you "
"because of an empty issue-number text field. Valid values are <literal>true/"
"false</literal>. <emphasis> If not defined, <literal>false</literal> is "
"assumed. </emphasis>"
msgstr ""
"如果你想TortoiseSVN给出空问题编号的警告,就设置为 <literal>真</literal>。有效"
"取值是 <literal>真/假</literal>。<emphasis>如果没有定义,那么假定为 <literal>"
"假</literal></emphasis>。"

#. (para)
#, fuzzy
msgid ""
"There are two ways to integrate TortoiseSVN with issue trackers. One is based "
"on simple strings, the other is based on <emphasis>regular expressions</"
"emphasis>. The properties used by both approaches are: <placeholder-1/>"
msgstr ""
"有两个方法集成TortoiseSVN 和问题跟踪。一个基于简单字符串,另一个基于<literal>"
"正则表达式</literal>。它们的用法是: <placeholder-1/>"

#. (title)
msgid "Issue Number in Text Box"
msgstr ""

#. (para)
#, fuzzy
msgid ""
"This property activates the bug tracking system in <emphasis>Input field</"
"emphasis> mode. If this property is set, then TortoiseSVN will prompt you to "
"enter an issue number when you commit your changes. It's used to add a line "
"at the end of the log message. It must contain <literal>%BUGID%</literal>, "
"which is replaced with the issue number on commit. This ensures that your "
"commit log contains a reference to the issue number which is always in a "
"consistent format and can be parsed by your bug tracking tool to associate "
"the issue number with a particular commit. As an example you might use "
"<literal>Issue : %BUGID%</literal>, but this depends on your Tool."
msgstr ""
"<emphasis>这个属性将问题追踪系统激活为<literal>输入框</literal>模式。 </"
"emphasis>如果设置了这个属性,在拟提交时,TortoiseSVN会提示你输入问题单号码。它"
"通常会在日志信息后面添加一行。必须包含<literal>%BUGID%</literal>,在提交时会被"
"替换为问题单号。这确保了你的提交日志包含了问题单号,保证了单号可以被问题追踪工"
"具解析,从而与提交关联。例如TortoiseSVN项目使用<literal>Issue : %BUGID%</"
"literal>,但是这依赖于你的工具。"

#. (para)
msgid ""
"This property defines if the bug-ID is appended (true) to the end of the log "
"message or inserted (false) at the start of the log message. Valid values are "
"<literal>true/false</literal>. <emphasis> If not defined, <literal>true</"
"literal> is assumed, so that existing projects don't break. </emphasis>"
msgstr ""
"这个属性定义了bug-ID。是追加到(true)日志信息的末尾,还是插入到(false)日志信息"
"的开始。有效的值包括<literal>true/false</literal>,<emphasis>如果没有定义,默"
"认是<literal>true</literal> ,所以现存的项目不会被打破。</emphasis>"

#. (para)
#, fuzzy
msgid ""
"This text is shown by TortoiseSVN on the commit dialog to label the edit box "
"where you enter the issue number. If it's not set, <literal>Bug-ID / Issue-Nr:"
"</literal> will be displayed. Keep in mind though that the window will not be "
"resized to fit this label, so keep the size of the label below 20-25 "
"characters."
msgstr ""
"是TortoiseSVN的提交对话框中用来输入问题单号码的输入项,如果没有设置,将会显示"
"<literal>Bug-ID / Issue-Nr:</literal>,要记住窗口不会为适应标签而改变大小,所"
"以请保持标签的小于20-25个字符。"

#. (para)
#, fuzzy
msgid ""
"If set to <literal>true</literal> only numbers are allowed in the issue-"
"number text field. An exception is the comma, so you can comma separate "
"several numbers. Valid values are <literal>true/false</literal>. <emphasis> "
"If not defined, <literal>true</literal> is assumed. </emphasis>"
msgstr ""
"如果设置为<literal>true</literal>,问题单号文本框只能输入数字,一个例外是逗"
"号,所以你可以使用逗号分割输入的多个号码。合法的值包括<literal>true/false</"
"literal>,<emphasis> 如果没有设置,默认是<literal>true</literal>。</emphasis>"

#. (para)
msgid ""
"In the simple approach, TortoiseSVN shows the user a separate input field "
"where a bug ID can be entered. Then a separate line is appended/prepended to "
"the log message the user entered. <placeholder-1/>"
msgstr ""
"在最简单的方法里,TortoiseSVN为用户显示了一个单独的bug ID输入字段,然后后面预"
"计会追加一个用户输入日志信息的行。<placeholder-1/>"

#. (title)
msgid "Issue Numbers Using Regular Expressions"
msgstr ""

#. (para)
#, fuzzy
msgid ""
"This property activates the bug tracking system in <emphasis>Regex</emphasis> "
"mode. It contains either a single regular expressions, or two regular "
"expressions separated by a newline."
msgstr ""
"<emphasis>这个属性会以<literal>正则表达式</literal>模式激活问题追踪系统。</"
"emphasis>它会包含一个或两个正则表达式,以新行作为分割。"

#. (para)
msgid ""
"If two expressions are set, then the first expression is used as a pre-filter "
"to find expressions which contain bug IDs. The second expression then "
"extracts the bare bug IDs from the result of the first regex. This allows you "
"to use a list of bug IDs and natural language expressions if you wish. e.g. "
"you might fix several bugs and include a string something like this: "
"<quote>This change resolves issues #23, #24 and #25</quote>"
msgstr ""

#. (para)
#, fuzzy
msgid ""
"If you want to catch bug IDs as used in the expression above inside a log "
"message, you could use the following regex strings, which are the ones used "
"by the TortoiseSVN project: <literal>[Ii]ssues?:?(\\s*(,|and)?\\s*#\\d+)+</"
"literal> and <literal>(\\d+)</literal>"
msgstr ""
"如果你希望捕获日志中所有形式为\"issue #XXX\"和\"issue #890, #789\"字符串,你可"
"以使用如下的正则表达式: <literal>[Ii]ssue #?(\\d+)(,? ?#(\\d+))*</literal>,而"
"第二个表达式为<literal>(\\d+)</literal>。"

#. (para)
msgid ""
"The first expression picks out <quote>issues #23, #24 and #25</quote> from "
"the surrounding log message. The second regex extracts plain decimal numbers "
"from the output of the first regex, so it will return <quote>23</quote>, "
"<quote>24</quote> and <quote>25</quote> to use as bug IDs."
msgstr ""

#. (para)
msgid ""
"Breaking the first regex down a little, it must start with the word "
"<quote>issue</quote>, possibly capitalised. This is optionally followed by an "
"<quote>s</quote> (more than one issue) and optionally a colon. This is "
"followed by one or more groups each having zero or more leading whitespace, "
"an optional comma or <quote>and</quote> and more optional space. Finally "
"there is a mandatory <quote>#</quote> and a mandatory decimal number."
msgstr ""

#. (para)
#, fuzzy
msgid ""
"If only one expression is set, then the bare bug IDs must be matched in the "
"groups of the regex string. Example: <literal>[Ii]ssue(?:s)? #?(\\d+)</"
"literal> This method is required by a few issue trackers, e.g. trac, but it "
"is harder to construct the regex. We recommend that you only use this method "
"if your issue tracker documentation tells you to."
msgstr ""
"如果只是设置了一个表达式,然后bug ID必须匹配正则表达式的组,例如<literal>[Ii]"
"ssue(?:s)? #?(\\d+)</literal>。"

#. (para)
#, fuzzy
msgid ""
"If you are unfamiliar with regular expressions, take a look at the "
"introduction at <ulink url=\"http://en.wikipedia.org/wiki/Regular_expression"
"\"><citetitle>http://en.wikipedia.org/wiki/Regular_expression</citetitle></"
"ulink>, and the online documentation and tutorial at <ulink url=\"http://www."
"regular-expressions.info/\"><citetitle>http://www.regular-expressions.info/</"
"citetitle></ulink>."
msgstr ""
"如果你不熟悉正则表达式,可以看一下<ulink url=\"http://www.regular-expressions."
"info/\"><citetitle>http://www.regular-expressions.info/</citetitle></ulink>上"
"的在线文档和教程。"

#. (para)
#, fuzzy
msgid ""
"In the approach with <emphasis>regular expressions</emphasis>, TortoiseSVN "
"doesn't show a separate input field but marks the part of the log message the "
"user enters which is recognized by the issue tracker. This is done while the "
"user writes the log message. This also means that the bug ID can be anywhere "
"inside a log message! This method is much more flexible, and is the one used "
"by the TortoiseSVN project itself. <placeholder-1/>"
msgstr ""
"在使用<literal>正则表达式</literal>的方法中,TortoiseSVN不会显示一个单独的输入"
"框,而是标记用户输入的日志信息,认为这些标志可以被问题追踪工具识别。这是在用户"
"编写日志信息的时候完成的,这也意味着bug ID可以出现在日志信息的任何位置!这种方"
"法非常灵活,也是TortoiseSVN项目本身使用的方法。<placeholder-1/>"

#. (para)
msgid ""
"If both the <literal>bugtraq:message</literal> and <literal>bugtraq:logregex</"
"literal> properties are set, <literal>logregex</literal> takes precedence."
msgstr ""
"如果同时设置了<literal>bugtraq:message</literal>和<literal>bugtraq:logregex</"
"literal>属性,<literal>日志正则表达式</literal>会优先使用。"

#. (para)
msgid ""
"Even if you don't have an issue tracker with a pre-commit hook parsing your "
"log messages, you still can use this to turn the issues mentioned in your log "
"messages into links!"
msgstr ""
"即使你的问题追踪工具没有pre-commit钩子来解析日志信息,你仍然可以使用这个功能将"
"日志信息中的问题单转化为链接!"

#. (para)
msgid ""
"And even if you don't need the links, the issue numbers show up as a separate "
"column in the log dialog, making it easier to find the changes which relate "
"to a particular issue."
msgstr ""

#. (title)
#. (title)
msgid "Set the Properties on Folders"
msgstr "设置文件夹的属性"

#. (para)
#. (para)
#, fuzzy
msgid ""
"These properties must be set on folders for the system to work. When you "
"commit a file or folder the properties are read from that folder. If the "
"properties are not found there, TortoiseSVN will search upwards through the "
"folder tree to find them until it comes to an unversioned folder, or the tree "
"root (eg. <literal>C:\\</literal>) is found. If you can be sure that each "
"user checks out only from e.g <filename>trunk/</filename> and not some sub-"
"folder, then it's enough if you set the properties on <filename>trunk/</"
"filename>. If you can't be sure, you should set the properties recursively on "
"each sub-folder. A property setting deeper in the project hierarchy overrides "
"settings on higher levels (closer to <filename>trunk/</filename>)."
msgstr ""
"为了系统能够工作,这个属性必须设置到文件夹上。当你提交文件或文件夹,属性会从文"
"件夹上读取。如果没有发现属性,TortoiseSVN会向上级查找,直到发现一个没有版本控"
"制的文件夹或根目录(例如<literal>C:\\</literal>)才会停止,如果你能够确定每个用"
"户只从<filename>trunk/</filename>检出,而不是其他目录,你可以直接在"
"<filename>trunk/</filename>上使用这个属性,而不必每个子目录都设置。如果你不能"
"确定,你必须为每个子目录设置这些属性。一个深级目录的设置会覆盖高级目录(离"
"<filename>trunk/</filename>更近的)。"

#. (para)
#. (para)
#, fuzzy
msgid ""
"For <literal>tsvn:</literal> properties <emphasis>only</emphasis> you can use "
"the <guilabel>Recursive</guilabel> checkbox to set the property to all sub-"
"folders in the hierarchy, without also setting it on all files."
msgstr ""
"对于<literal>tsvn:</literal>属性,你<emphasis>只能</emphasis>对于所有子目录使"
"用<guilabel>递归</guilabel>检查框设置属性,不能设置文件的属性。"

#. (title)
msgid "No Issue Tracker Information from Repository Browser"
msgstr ""

#. (para)
msgid ""
"Because the issue tracker integration depends upon accessing subversion "
"properties, you will only see the results when using a checked out working "
"copy. Fetching properties remotely is a slow operation, so you will not see "
"this feature in action from the repo browser."
msgstr ""

#. (para)
#, fuzzy
msgid ""
"This issue tracker integration is not restricted to TortoiseSVN; it can be "
"used with any Subversion client. For more information, read the full <ulink "
"url=\"http://tortoisesvn.tigris.org/svn/tortoisesvn/trunk/doc/issuetrackers."
"txt\"><citetitle>Issue Tracker Integration Specification</citetitle></ulink> "
"in the TortoiseSVN source repository. (<xref linkend=\"tsvn-preface-source\"/"
"> explains how to access the repository)."
msgstr ""
"问题追踪集成并没有限制在TortoiseSVN,可以用于所有的Subversion客户端,更多信息"
"可以看<ulink url=\"http://tortoisesvn.tigris.org/svn/tortoisesvn/trunk/doc/"
"issuetrackers.txt\"><citetitle>Issuetracker Integration Specification</"
"citetitle></ulink>。"

#. (title)
msgid "Getting Information from the Issue Tracker"
msgstr ""

#. (para)
msgid ""
"The previous section deals with adding issue information to the log messages. "
"But what if you need to get information from the issue tracker? The commit "
"dialog has a COM interface which allows integration an external program that "
"can talk to your tracker. Typically you might want to query the tracker to "
"get a list of open issues assigned to you, so that you can pick the issues "
"that are being addressed in this commit."
msgstr ""

#. (para)
msgid ""
"Any such interface is of course highly specific to your issue tracker system, "
"so we cannot provide this part, and describing how to create such a program "
"is beyond the scope of this manual. The interface definition and sample "
"plugins in C# and C++/ATL can be obtained from the <literal>contrib</literal> "
"folder in the <ulink url=\"http://tortoisesvn.tigris.org/svn/tortoisesvn/"
"trunk/contrib/issue-tracker-plugins\"><citetitle>TortoiseSVN repository</"
"citetitle></ulink>. (<xref linkend=\"tsvn-preface-source\"/> explains how to "
"access the repository). Another (working) example plugin in C# is <ulink url="
"\"http://code.google.com/p/gurtle/\"><citetitle>Gurtle</citetitle></ulink> "
"which implements the required COM interface to interact with the <ulink url="
"\"http://code.google.com/hosting/\"><citetitle>Google Code</citetitle></"
"ulink> issue tracker."
msgstr ""

#. (title)
msgid "Example issue tracker query dialog"
msgstr ""

#. (para)
msgid ""
"For illustration purposes, let's suppose that your system administrator has "
"provided you with an issue tracker plugin which you have installed, and that "
"you have set up some of your working copies to use the plugin in "
"TortoiseSVN's settings dialog. When you open the commit dialog from a working "
"copy to which the plugin has been assigned, you will see a new button at the "
"top of the dialog. <placeholder-1/> In this example you can select one or "
"more open issues. The plugin can then generate specially formatted text which "
"it adds to your log message."
msgstr ""

#. (title)
msgid "Integration with Web-based Repository Viewers"
msgstr "与基于 WEB 的版本库浏览器集成"

#. (primary)
msgid "web view"
msgstr "WEB 浏览"

#. (primary)
msgid "repo viewer"
msgstr "版本库浏览器"

#. (primary)
#, fuzzy
msgid "ViewVC"
msgstr "ViewCS"

#. (primary)
#, fuzzy
msgid "WebSVN"
msgstr "WebDAV"

#. (para)
msgid ""
"There are several web-based repository viewers available for use with "
"Subversion such as <ulink url=\"http://www.viewvc.org/\"><citetitle>ViewVC</"
"citetitle></ulink> and <ulink url=\"http://websvn.tigris.org/"
"\"><citetitle>WebSVN</citetitle></ulink>. TortoiseSVN provides a means to "
"link with these viewers."
msgstr ""
"有许多web为基础的版本库浏览器,例如<ulink url=\"http://www.viewvc.org/"
"\"><citetitle>ViewVC</citetitle></ulink> and <ulink url=\"http://websvn."
"tigris.org/\"><citetitle>WebSVN</citetitle></ulink>,TortoiseSVN提供了链接这些"
"浏览器的方法。"

#. (para)
#, fuzzy
msgid ""
"You can integrate a repo viewer of your choice in TortoiseSVN. To do this, "
"you have to define some properties which define the linkage. They must be set "
"on Folders: (<xref linkend=\"tsvn-dug-propertypage\"/>)"
msgstr ""
"你可以通过TortoiseSVN选择集成一种版本库浏览器,为此,你需要定义一些链接的属"
"性,必须设置在文件夹: (<xref linkend=\"tsvn-dug-propertypage\"/>)"

#. (para)
#, fuzzy
msgid ""
"Set this property to the URL of your repo viewer to view all changes in a "
"specific revision. It must be properly URI encoded and it has to contain "
"<literal>%REVISION%</literal>. <literal>%REVISION%</literal> is replaced with "
"the revision number in question. This allows TortoiseSVN to display a context "
"menu entry in the log dialog <menuchoice><guimenu>Context Menu</"
"guimenu><guimenuitem>View revision in webviewer</guimenuitem></menuchoice>"
msgstr ""
"将这个属性设置为版本库浏览器显示所有本版本修改内容的url,它必须是URI编码的,也"
"必须包含<literal>%REVISION%</literal>。在问题单中<literal>%REVISION%</literal>"
"将会被替换成版本号。这允许TortoiseSVN在日志对话框的增加这样的条目"
"<menuchoice><guimenu>右键菜单</guimenu><guimenuitem>在版浏览器中查看此修订</"
"guimenuitem></menuchoice>"

#. (para)
#, fuzzy
msgid ""
"Set this property to the URL of your repo viewer to view changes to a "
"specific file in a specific revision. It must be properly URI encoded and it "
"has to contain <literal>%REVISION%</literal> and <literal>%PATH%</literal>. "
"<literal>%PATH%</literal> is replaced with the path relative to the "
"repository root. This allows TortoiseSVN to display a context menu entry in "
"the log dialog <menuchoice><guimenu>Context Menu</guimenu><guimenuitem>View "
"revision and path in webviewer</guimenuitem></menuchoice> For example, if you "
"right-click in the log dialog bottom pane on a file entry <literal>/trunk/src/"
"file</literal> then the <literal>%PATH%</literal> in the URL will be replaced "
"with <literal>/trunk/src/file</literal>."
msgstr ""
"将这个属性设置为版本库浏览器显示所有本版本修改内容的url,它必须是URI编码的,也"
"必须包含<literal>%REVISION%</literal>。在问题单中<literal>%REVISION%</literal>"
"将会被替换成版本号。这允许TortoiseSVN在日志对话框的增加这样的条目"
"<menuchoice><guimenu>右键菜单</guimenu><guimenuitem>在版浏览器中查看此修订</"
"guimenuitem></menuchoice>"

#. (para)
msgid ""
"You can also use relative URLs instead of absolute ones. This is useful in "
"case your web viewer is on the same domain/server as your source repository. "
"In case the domain name ever changes, you don't have to adjust the "
"<literal>webviewer:revision</literal> and <literal>webviewer:pathrevision</"
"literal> property. The format is the same as for the <literal>bugtraq:url</"
"literal> property. See <xref linkend=\"tsvn-dug-bugtracker\"/>."
msgstr ""

#. (title)
#, fuzzy
msgid "No Repo Viewer Links from Repository Browser"
msgstr "版本库浏览器"

#. (para)
msgid ""
"Because the repo viewer integration depends upon accessing subversion "
"properties, you will only see the results when using a checked out working "
"copy. Fetching properties remotely is a slow operation, so you will not see "
"this feature in action from the repo browser."
msgstr ""

#. (title)
msgid "TortoiseSVN's Settings"
msgstr "TortoiseSVN的设置"

#. (primary)
msgid "settings"
msgstr "设置"

#. (para)
msgid ""
"To find out what the different settings are for, just leave your mouse "
"pointer a second on the editbox/checkbox... and a helpful tooltip will popup."
msgstr ""
"想知道不同的设置是干什么用的,你只需将鼠标指针在编辑框/选项框上停留一秒钟...一"
"个帮助提示气泡就会弹出来。"

#. (title)
msgid "General Settings"
msgstr "常规设置"

#. (primary)
msgid "sounds"
msgstr "声音"

#. (title)
msgid "The Settings Dialog, General Page"
msgstr "设置对话框,常规设置页面"

#. (para)
msgid ""
"<placeholder-1/> This dialog allows you to specify your preferred language, "
"and the Subversion-specific settings."
msgstr ""
"<placeholder-1/> 这个对话框允许你指定自己喜欢的语言,同时也可做那些与"
"Subversion相关的特殊设置。"

#. (term)
msgid "Language"
msgstr "语言"

#. (para)
msgid "Selects your user interface language. What else did you expect?"
msgstr "选择你TSVN的用户界面语言。不然你还期望从这里得到啥别的?"

#. (term)
msgid "Automatically check for newer versions every week"
msgstr "每周自动检查新版本"

#. (para)
msgid ""
"If checked, TortoiseSVN will contact its download site once a week to see if "
"there is a newer version of the program available. Use <guibutton>Check now</"
"guibutton> if you want an answer right away. The new version will not be "
"downloaded; you simply receive an information dialog telling you that the new "
"version is available."
msgstr ""
"如果检查过,TSVN将每周联系它的下载站点一次,来看看程序是否有个可用的新版本。若"
"你想马上得到结果,使用 <guibutton>立即检查</guibutton> 按钮。无论如何,新版本"
"不会被自动下载,而只是你将收到一条提示信息对话框,告诉你有新版本可用。"

#. (term)
msgid "System sounds"
msgstr "系统声音"

#. (para)
msgid "Error"
msgstr "错误"

#. (para)
msgid "Notice"
msgstr "提示"

#. (para)
msgid "Warning"
msgstr "警告"

#. (para)
msgid ""
"TortoiseSVN has three custom sounds which are installed by default. "
"<placeholder-1/> You can select different sounds (or turn these sounds off "
"completely) using the Windows Control Panel. <guibutton>Configure</guibutton> "
"is a shortcut to the Control Panel."
msgstr ""
"TSVN已经默认安装了三个自定义声音。<placeholder-1/> 你可以使用Windows控制面板中"
"的声音属性,来选择不同的声音(或是把这些声音完全关掉)。<guibutton>配置</"
"guibutton> 按钮是一个打开控制面板声音属性的快捷方式。"

#. (term)
msgid "Global ignore pattern"
msgstr "全局忽略样式"

#. (primary)
msgid "exclude pattern"
msgstr "排斥样式"

#. (primary)
msgid "global ignore"
msgstr "全局忽略"

#. (para)
#, fuzzy
msgid ""
"Global ignore patterns are used to prevent unversioned files from showing up "
"e.g. in the commit dialog. Files matching the patterns are also ignored by an "
"import. Ignore files or directories by typing in the names or extensions. "
"Patterns are separated by spaces e.g. <literal>bin obj *.bak *.~?? *.jar *."
"[Tt]mp</literal>. These patterns should not include any path separators. Note "
"also that there is no way to differentiate between files and directories. "
"Read <xref linkend=\"tsvn-dug-ignore-glob\"/> for more information on the "
"pattern-matching syntax."
msgstr ""
"全局忽略模式被用来防止非版本控制的文件在例如提交时的对话框中被列出来。那些符合"
"模式的文件,在执行导入操作时同样被忽略。通过在模式框中输入文件名或扩展名来忽略"
"文件或文件夹。不同的模式之间以空格分隔,例如 <literal>*/bin */obj *.bak *.~?? "
"*.jar *.[Tt]mp</literal>。请记得这些模式可以用来处理含有 N 级父目录的路径。设"
"置忽略模式并非象刚才显示的那么简单,所以请务必阅读 <xref linkend=\"tsvn-dug-"
"ignore-glob\"/> 以获得更多模式匹配语法信息,和如何检查路径。"

#. (para)
msgid ""
"Note that the ignore patterns you specify here will also affect other "
"Subversion clients running on your PC, including the command line client."
msgstr ""
"值得注意的是,你在这里指定的忽略样式将同样作用于你本机上的其他Subversion客户"
"端,包括命令行客户端。"

#. (para)
msgid ""
"If you use the Subversion configuration file to set a <literal>global-"
"ignores</literal> pattern, it will override the settings you make here. The "
"Subversion configuration file is accessed using the <guibutton>Edit</"
"guibutton> as described below."
msgstr ""
"如果你象下面段落那样使用Subversion配置文件来设置一个 <literal>全局-忽略</"
"literal> 样式,那么它将覆盖你在这里做的设置。该Subversion配置文件可以象下面段"
"落描述的那样,通过 <guibutton>编辑</guibutton> 按钮来访问。"

#. (para)
msgid ""
"This ignore pattern will affect all your projects. It is not versioned, so it "
"will not affect other users. By contrast you can also use the versioned "
"<literal>svn:ignore</literal> property to exclude files or directories from "
"version control. Read <xref linkend=\"tsvn-dug-ignore\"/> for more "
"information."
msgstr ""
"忽略样式将作用于你所有的项目工程。因为它是非版本控制的,所以它将不会对其他的用"
"户起作用。相对而言,你也可以使用可版本控制的 <literal>svn:ignore</literal> 属"
"性来把要忽略的文件或文件夹排斥在版本控制之外。阅读 <xref linkend=\"tsvn-dug-"
"ignore\"/> 以获得更多信息。"

#. (term)
#, fuzzy
msgid "Set file dates to the <quote>last commit time</quote>"
msgstr "将文件日期设置为“最后提交时间”"

#. (para)
#, fuzzy
msgid ""
"This option tells TortoiseSVN to set the file dates to the last commit time "
"when doing a checkout or an update. Otherwise TortoiseSVN will use the "
"current date. If you are developing software it is generally best to use the "
"current date because build systems normally look at the date stamps to decide "
"which files need compiling. If you use <quote>last commit time</quote> and "
"revert to an older file revision, your project may not compile as you expect "
"it to."
msgstr ""
"该选项通知TSVN在做检出或更新操作时,把文件日期设置为最后提交的时间。否则TSVN将"
"使用当前日期。如果你在做软件开发的话,使用当前日期是总体上最好的选择,因为那些"
"软件构建器通常通过查看时间戳来决定需要编译哪些文件。如果你使用了“最后提交时"
"间”并把代码文件还原到了一个旧版本,你的工程可能就不会像你期望的那样被编译了。"

#. (term)
msgid "Subversion configuration file"
msgstr "Subversion配置文件"

#. (para)
#, fuzzy
msgid ""
"Use <guibutton>Edit</guibutton> to edit the Subversion configuration file "
"directly. Some settings cannot be modified directly by TortoiseSVN, and need "
"to be set here instead. For more information about the Subversion "
"<filename>config</filename> file see the <ulink url=\"http://svnbook.red-bean."
"com/en/1.5/svn.advanced.confarea.html\"><citetitle>Runtime Configuration "
"Area</citetitle></ulink>. The section on <ulink url=\"http://svnbook.red-bean."
"com/en/1.5/svn.advanced.props.html#svn.advanced.props.auto"
"\"><citetitle>Automatic Property Setting</citetitle></ulink> is of particular "
"interest, and that is configured here. Note that Subversion can read "
"configuration information from several places, and you need to know which one "
"takes priority. Refer to <ulink url=\"http://svnbook.red-bean.com/en/1.5/svn."
"advanced.confarea.html#svn.advanced.confarea.windows-registry"
"\"><citetitle>Configuration and the Windows Registry</citetitle></ulink> to "
"find out more."
msgstr ""
"使用 <guibutton>编辑</guibutton> 按钮来直接编译Subversion配置文件。有些设置不"
"能被TSVN直接修改,就需要在这里完成。可以阅读 <ulink url=\"http://svnbook.red-"
"bean.com/en/1.2/svn.advanced.html\"><citetitle>运行时配置</citetitle></ulink> "
"来获得有关Subversion <filename>配置</filename> 文件的更多信息。在 <ulink url="
"\"http://svnbook.red-bean.com/en/1.2/svn.advanced.props.html\"><citetitle>设置"
"自动属性</citetitle></ulink> 中的章节介绍了可以在这里配置的特殊偏好部分。值得"
"注意的是,Subversion可以从许多不同的位置读取配置信息,因此你也就需要了解哪一个"
"将优先起作用。阅读 <ulink url=\"http://svnbook.red-bean.com/en/1.2/svn."
"advanced.html\"><citetitle>配置与Windows注册表</citetitle></ulink> 来获取更多"
"信息。"

#. (term)
#, fuzzy
msgid ""
"Use <filename>_svn</filename> instead of <filename>.svn</filename> directories"
msgstr ""
"使用文本编辑器打开 Apache 子目录 conf 中的文件 <filename>ssl.conf</filename>。"

#. (para)
msgid ""
"VS.NET when used with web projects can't handle the <literal>.svn</literal> "
"folders that Subversion uses to store its internal information. This is not a "
"bug in Subversion. The bug is in VS.NET and the frontpage extensions it uses. "
"Read <xref linkend=\"tsvn-dug-settings-asp-dot-net\"/> to find out more about "
"this issue."
msgstr ""
"在使用VS.NET环境做web工程时,将无法处理 <literal>.svn</literal> 文件夹,但"
"Subversion是要用这些文件夹来储存自己的内部信息的。这可不是Subversion的bug,这"
"bug是VS.NET和它使用的frontpage扩展带来的。阅读 <xref linkend=\"tsvn-dug-"
"settings-asp-dot-net\"/> 来获得有关此问题的更多信息。"

#. (para)
msgid ""
"If you want to change the behaviour of Subversion and TortoiseSVN, you can "
"use this checkbox to set the environment variable which controls this."
msgstr ""
"若你想改变Subversion和TSVN的这些行为,就可以使用这个选项框来设置控制这些的环境"
"变量。"

#. (para)
msgid ""
"You should note that changing this option will not automatically convert "
"existing working copies to use the new admin directory. You will have to do "
"that yourself using a script (See our FAQ) or simply check out a fresh "
"working copy."
msgstr ""
"你应该注意到: 改变该选项将不会使已存在的工作副本中的管理文件夹从“_svn”自动转换"
"到“.svn”。你需要使用一个脚本(查看我们的FAQ)来自行完成这项工作,或是简单地重新"
"检出一个新的工作副本。"

#. (title)
msgid "Context Menu Settings"
msgstr "右键菜单配置"

#. (title)
msgid "The Settings Dialog, Context Menu Page"
msgstr "设置对话框,右键菜单页面"

#. (para)
msgid ""
"<placeholder-1/> This page allows you to specify which of the TortoiseSVN "
"context menu entries will show up in the main context menu, and which will "
"appear in the TortoiseSVN submenu. By default most items are unchecked and "
"appear in the submenu."
msgstr ""
"<placeholder-1/> 该页面允许你指定: 在TortoiseSVN的主上下文菜单中哪些条目可以直"
"接在鼠标右键菜单显示,哪些在TortoiseSVN子菜单显示。默认情况下很多项未被勾选,"
"只在子菜单显示。"

#. (para)
msgid ""
"There is a special case for <guilabel>Get Lock</guilabel>. You can of course "
"promote it to the top level using the list above, but as most files don't "
"need locking this just adds clutter. However, a file with the <literal>svn:"
"needs-lock</literal> property needs this action every time it is edited, so "
"in that case it is very useful to have at the top level. Checking the box "
"here means that when a file is selected which has the <literal>svn:needs-"
"lock</literal> property set, <guilabel>Get Lock</guilabel> will always appear "
"at the top level."
msgstr ""
"<guilabel>获得锁</guilabel>会有一个特别的情况,你可以将其提升到顶级带但,但是"
"大多数文件不需要锁定,这样做只是添加了混乱。然而,一个标记为<literal>svn:"
"needs-lock</literal>属性的文件每次编辑前都需要那个操作,所以这个菜单会进入顶级"
"菜单会比较方便。选定这个选项,会使设置<literal>svn:needs-lock</literal>属性的"
"文件的<guilabel>Get Lock</guilabel>出现在顶级菜单中。"

#. (para)
msgid ""
"If there are some paths on your computer where you just don't want "
"TortoiseSVN's context menu to appear at all, you can list them in the box at "
"the bottom."
msgstr ""

#. (title)
msgid "TortoiseSVN Dialog Settings 1"
msgstr "TSVN对话框设置一"

#. (title)
msgid "The Settings Dialog, Dialogs 1 Page"
msgstr "设置对话框,对话框一页面"

#. (para)
msgid ""
"<placeholder-1/> This dialog allows you to configure some of TortoiseSVN's "
"dialogs the way you like them."
msgstr "<placeholder-1/> 此对话框允许你按照喜欢的方式去配置一些TSVN的对话框。"

#. (term)
msgid "Default number of log messages"
msgstr "默认的日志信息数"

#. (para)
#, fuzzy
msgid ""
"Limits the number of log messages that TortoiseSVN fetches when you first "
"select <menuchoice><guimenu>TortoiseSVN</guimenu><guimenuitem>Show Log</"
"guimenuitem></menuchoice> Useful for slow server connections. You can always "
"use <guibutton>Show All</guibutton> or <guibutton>Next 100</guibutton> to get "
"more messages."
msgstr ""
"限制你首次选择 <menuchoice><guimenu>TortoiseSVN</guimenu><guimenuitem>显示日志"
"</guimenuitem></menuchoice> 时,TortoiseSVN 从服务器获取的日志信息数。在服务器"
"连接缓慢时很有用。你可以使用 <guibutton>全部获取</guibutton> 或 <guibutton>下"
"100(条)</guibutton> 来获得更多信息。"

#. (term)
msgid "Font for log messages"
msgstr "日志信息字体"

#. (para)
msgid ""
"Selects the font face and size used to display the log message itself in the "
"middle pane of the Revision Log dialog, and when composing log messages in "
"the Commit dialog."
msgstr ""
"选择日志信息显示的字体样式和大小,作用域为版本日志对话框的中间窗格,以及提交对"
"话框时填写日志信息的窗格。"

#. (term)
msgid "Short date / time format in log messages"
msgstr "日志信息使用短日期/时间格式"

#. (para)
msgid ""
"If the standard long messages use up too much space on your screen use the "
"short format."
msgstr "如果标准长度的日期/时间信息占在用了过多的屏幕空间,可以使用短格式。"

#. (term)
msgid "Can double-click in log list to compare with previous revision"
msgstr ""

#. (para)
msgid ""
"If you frequently find yourself comparing revisions in the top pane of the "
"log dialog, you can use this option to allow that action on double-click. It "
"is not enabled by default because fetching the diff is often a long process, "
"and many people prefer to avoid the wait after an accidental double-click, "
"which is why this option is not enabled by default."
msgstr ""

#. (term)
msgid "Progress Dialog"
msgstr "进程对话框"

#. (para)
msgid ""
"TortoiseSVN can automatically close all progress dialogs when the action is "
"finished without error. This setting allows you to select the conditions for "
"closing the dialogs. The default (recommended) setting is <guilabel>Close "
"manually</guilabel> which allows you to review all messages and check what "
"has happened. However, you may decide that you want to ignore some types of "
"message and have the dialog close automatically if there are no critical "
"changes."
msgstr ""
"当一个动作正确无误地完成时,TSVN可以自动关闭所有的进程对话框。这项设置允许你选"
"择在何种情况下关闭对话框。默认(推荐)的设置是 <guilabel>手动关闭</guilabel> ,"
"允许你重新浏览所有信息并检查发生了什么。当然,你可能会决定忽略某些类型的信息并"
"在你的操作没做出什么重大改变的情况下让对话框自动关闭。"

#. (para)
msgid ""
"<guilabel>Auto-close if no merges, adds or deletes</guilabel> means that the "
"progress dialog will close if there were simple updates, but if changes from "
"the repository were merged with yours, or if any files were added or deleted, "
"the dialog will remain open. It will also stay open if there were any "
"conflicts or errors during the operation."
msgstr ""
"<guilabel>如无合并、添加、删除操作,自动关闭</guilabel> 意味着如果有简单更新的"
"话,进程对话框将关闭。但如果版本库的更改和你的内容进行了合并,或若有任何文件被"
"添加或删除,对话框将保持打开。若操作中发生什么冲突和错误这些对话框也将同样保持"
"打开。"

#. (para)
msgid ""
"<guilabel>Auto-close if no merges, adds or deletes for local operations</"
"guilabel> means that the progress dialog will close as for <guilabel>Auto-"
"close if no merges, adds or deletes</guilabel> but only for local operations "
"like adding files or reverting changes. For remote operations the dialog will "
"stay open."
msgstr ""
"<guilabel>对本地操作自动关闭(如无合并、添加或删除操作,自动关闭)</guilabel> 意"
"味着进程对话框当 <guilabel>如无合并、添加或删除操作</guilabel> 时自动关闭,但"
"仅限于那些如添加文件、还原等本地的操作。在做远程操作时对话框将保持打开。"

#. (para)
msgid ""
"<guilabel>Auto-close if no conflicts</guilabel> relaxes the criteria further "
"and will close the dialog even if there were merges, adds or deletes. "
"However, if there were any conflicts or errors, the dialog remains open."
msgstr ""
"<guilabel>无冲突时自动关闭</guilabel> 更放宽了标准,即使在无合并、添加、删除操"
"作时也同样关闭对话框。当然,如果操作发生了任何冲突或错误,对话框将保持打开。"

#. (para)
msgid ""
"<guilabel>Auto-close if no errors</guilabel> always closes the dialog even if "
"there were conflicts. The only condition that keeps the dialog open is an "
"error condition, which occurs when Subversion is unable to complete the task. "
"For example, an update fails because the server is inaccessible, or a commit "
"fails because the working copy is out-of-date."
msgstr ""
"<guilabel>如无错误,自动关闭</guilabel> 即使在有冲突发生时也会关闭。维持对话框"
"打开的唯一条件是发生了错误,使得Subversion无法完成任务。举个例子,一个更新操作"
"由于服务器不可达而失败了,或是一个提交操作因为工作副本已经过期而失败。"

#. (term)
msgid "Use recycle bin when reverting"
msgstr ""

#. (para)
msgid ""
"When you revert local modifications, your changes are discarded. TortoiseSVN "
"gives you an extra safety net by sending the modified file to the recycle bin "
"before bringing back the pristine copy. If you prefer to skip the recycle "
"bin, uncheck this option."
msgstr ""

#. (term)
#, fuzzy
msgid "Use URL of WC as the default <quote>From:</quote> URL"
msgstr "使用工作副本的URL作为默认的来源URL"

#. (para)
msgid ""
"In the merge dialog, the default behaviour is for the <guilabel>From:</"
"guilabel> URL to be remembered between merges. However, some people like to "
"perform merges from many different points in their hierarchy, and find it "
"easier to start out with the URL of the current working copy. This can then "
"be edited to refer to a parallel path on another branch."
msgstr ""
"在合并对话框里,默认行为是在每次合并中记忆 <guilabel>起始: </guilabel> 的URL。"
"无论如何,都有某些人喜欢在他们的版本进化树中从很多不同的位置执行合并操作,他们"
"发现从当前工作副本的URL开始更方便些。该URL可以随后被编辑来指向一个同级路径或另"
"一个分支。"

#. (term)
msgid "Default checkout path"
msgstr "缺省检出路径"

#. (para)
msgid ""
"You can specify the default path for checkouts. If you keep all your "
"checkouts in one place, it is useful to have the drive and folder pre-filled "
"so you only have to add the new folder name to the end."
msgstr ""
"你可以指定缺省的检出路径。如果你保持所有检出在同一个地方,那么预先填写的路径是"
"极为有用的,这样你只需要在路径末尾增加新的目录名称即可。"

#. (term)
msgid "Default checkout URL"
msgstr "缺省检出URL"

#. (para)
msgid ""
"You can also specify the default URL for checkouts. If you often checkout sub-"
"projects of some very large project, it can be useful to have the URL pre-"
"filled so you only have to add the sub-project name to the end."
msgstr ""
"你可以指定缺省的检出URL。如果你经常检出一些大项目的子工程,那么预先填写的URL是"
"极为有用的,这样你只需要在路径末尾增加新的工程名称即可。"

#. (title)
msgid "TortoiseSVN Dialog Settings 2"
msgstr "TSVN对话框设置二"

#. (title)
msgid "The Settings Dialog, Dialogs 2 Page"
msgstr "设置对话框,对话框二页面"

#. (term)
msgid "Recurse into unversioned folders"
msgstr "递归处理未进行版本控制的文件夹"

#. (para)
msgid ""
"If this box is checked (default state), then whenever the status of an "
"unversioned folder is shown in the <guilabel>Add</guilabel>, "
"<guilabel>Commit</guilabel> or <guilabel>Check for Modifications</guilabel> "
"dialog, every child file and folder is also shown. If you uncheck this box, "
"only the unversioned parent is shown. Unchecking reduces clutter in these "
"dialogs. In that case if you select an unversioned folder for Add, it is "
"added recursively."
msgstr ""
"若这个选项框被选中(默认状态),那么一个非版本控制的文件夹,不论在 <guilabel>添"
"加</guilabel>,<guilabel>提交</guilabel> 或 <guilabel>检查更新</guilabel> 时显"
"示的是什么状态,它的每个子文件和子文件夹都要同样显示。取消选择将减少这些对话框"
"中的混乱程度。这样一来如果你选择添加一个非版本控制的文件夹,将会非递归地添加。"

#. (term)
msgid "Use auto-completion of file paths and keywords"
msgstr "自动完成文件路径和关键词"

#. (para)
#, fuzzy
msgid ""
"The commit dialog includes a facility to parse the list of filenames being "
"committed. When you type the first 3 letters of an item in the list, the auto-"
"completion box pops up, and you can press Enter to complete the filename. "
"Check the box to enable this feature."
msgstr ""
"提交对话框包含了一个功能模块,可以解析被提交的一系列文件名。当你输入一个提交列"
"表中某个文件的前三个字母时,自动完成对话框就会弹出来,使你随后可以点击回车来直"
"接完成这个文件名。选择该选项来使用这个功能特性。"

#. (term)
msgid "Timeout in seconds to stop the auto-completion parsing"
msgstr "自动完成分析的超时时间(秒)"

#. (para)
#, fuzzy
msgid ""
"The auto-completion parser can be quite slow if there are a lot of large "
"files to check. This timeout stops the commit dialog being held up for too "
"long. If you are missing important auto-completion information, you can "
"extend the timeout."
msgstr ""
"如果有大量文件需要程序检查,自动完成解析器可能会非常慢。该超时时间设置可以防止"
"提交对话框被长时间挂起。若你错过了某些重要的自动完成信息,你可以延长该超时时"
"间。"

#. (term)
msgid ""
"Only use spellchecker when <literal>tsvn:projectlanguage</literal> is set"
msgstr "仅在设置了 <literal>tsvn:projectlanguage</literal> 时才进行拼写检查"

#. (para)
msgid ""
"If you don't wish to use the spellchecker for all commits, check this box. "
"The spellchecker will still be enabled where the project properties require "
"it."
msgstr ""
"若你不愿意在所有提交操作时都进行拼写检查,就选择该选项。而后拼写检查功能将在项"
"目属性做出明确要求时才生效。"

#. (term)
msgid "Max. items to keep in the log message history"
msgstr "日志中保留的最大条目数量"

#. (para)
#, fuzzy
msgid ""
"When you type in a log message in the commit dialog, TortoiseSVN stores it "
"for possible re-use later. By default it will keep the last 25 log messages "
"for each repository, but you can customize that number here. If you have many "
"different repositories, you may wish to reduce this to avoid filling your "
"registry."
msgstr ""
"TSVN可以为每个版本库保存你访问时所输入的最后25条日志信息。你可以自定义该数目。"
"若你有很多不同的版本库,你可能会希望减少该数目以防止向注册表中填入过多信息。"

#. (para)
msgid ""
"Note that this setting applies only to messages that you type in on this "
"computer. It has nothing to do with the log cache."
msgstr ""

#. (term)
msgid "Re-open commit and branch/tag dialog after a commit failed"
msgstr "如果提交失败,自动重新打开提交和分支/标签对话框"

#. (para)
msgid ""
"When a commit fails for some reason (working copy needs updating, pre-commit "
"hook rejects commit, network error, etc), you can select this option to keep "
"the commit dialog open ready to try again. However, you should be aware that "
"this can lead to problems. If the failure means you need to update your "
"working copy, and that update leads to conflicts you must resolve those first."
msgstr ""
"当一个提交操作由于某些原因(工作副本需要更新、pre-commit钩子程序拒绝了提交、网"
"络错误等等)失败了,你可以选择该选项来使提交对话框保持打开,以便重新操作。当"
"然,你应该注意到这可能会导致一些问题。若发生的错误意味着你需要更新你的工作副"
"本,而此更新操作将导致冲突,那么你必须先解决这些事情再说。"

#. (term)
msgid "Select items automatically"
msgstr "自动选择项目"

#. (para)
msgid ""
"The normal behaviour in the commit dialog is for all modified (versioned) "
"items to be selected for commit automatically. If you prefer to start with "
"nothing selected and pick the items for commit manually, uncheck this box."
msgstr ""

#. (term)
msgid "Contact the repository on startup"
msgstr "启动时连接版本库"

#. (para)
msgid ""
"The Check for Modifications dialog checks the working copy by default, and "
"only contacts the repository when you click <guibutton>Check repository</"
"guibutton>. If you always want to check the repository, you can use this "
"setting to make that action happen automatically."
msgstr ""
"“检查更新”对话框将默认检查工作副本,但仅当你点击 <guibutton>检查版本库</"
"guibutton> 时才连接你的版本库做检查。若你想总是去检查版本库,就可以使用该设置"
"来使版本库检查的动作每次都自动启动。"

#. (term)
msgid "Show Lock dialog before locking files"
msgstr "在锁定文件之前显示加锁对话框"

#. (para)
msgid ""
"When you select one or more files and then use "
"<menuchoice><guimenu>TortoiseSVN</guimenu><guimenuitem>Lock</guimenuitem></"
"menuchoice> to take out a lock on those files, on some projects it is "
"customary to write a lock message explaining why you have locked the files. "
"If you do not use lock messages, you can uncheck this box to skip that dialog "
"and lock the files immediately."
msgstr ""
"当你选择一个或多个文件,然后选择 <menuchoice><guimenu>TortoiseSVN</"
"guimenu><guimenuitem>加锁</guimenuitem></menuchoice> 后,一些项目的惯例是写加"
"锁信息,解释你为什么锁定这些文件。如果你不使用加锁信息,可以取消此选择框,从而"
"略过对话框,直接锁定文件。"

#. (para)
msgid ""
"If you use the lock command on a folder, you are always presented with the "
"lock dialog as that also gives you the option to select files for locking."
msgstr ""
"如果你在目录上使用加锁命令,一定会出现加锁对话框,因为它要让你选择加锁的文件。"

#. (para)
msgid ""
"If your project is using the <literal>tsvn:lockmsgminsize</literal> property, "
"you will see the lock dialog regardless of this setting because the project "
"<emphasis>requires</emphasis> lock messages."
msgstr ""
"如果你的项目使用了 <literal>tsvn:lockmsgminsize</literal> 属性,那么不管你如何"
"设置,都会看到加锁对话框,因为此项目<emphasis>需要</emphasis>加锁信息。"

#. (title)
msgid "TortoiseSVN Colour Settings"
msgstr "TortoiseSVN 颜色设置"

#. (title)
msgid "The Settings Dialog, Colours Page"
msgstr "设置对话框,颜色页面"

#. (para)
msgid ""
"<placeholder-1/> This dialog allows you to configure the text colours used in "
"TortoiseSVN's dialogs the way you like them."
msgstr ""
"<placeholder-1/> 此对话框允许你按照你喜欢的方式来配置TSVN对话框使用的文本颜"
"色。"

#. (term)
msgid "Possible or real conflict / obstructed"
msgstr "可能或确实有冲突/问题"

#. (para)
msgid ""
"A conflict has occurred during update, or may occur during merge. Update is "
"obstructed by an existing unversioned file/folder of the same name as a "
"versioned one."
msgstr ""
"当更新时或合并时发生了冲突。如果对应于版本控制下的文件/文件夹,存在一个同名的"
"非版本控制的文件/文件夹,此时做更新将被阻碍。"

#. (para)
msgid "This colour is also used for error messages in the progress dialogs."
msgstr "此颜色同样被用在进程对话框的错误信息中。"

#. (term)
msgid "Added files"
msgstr "添加文件"

#. (para)
msgid "Items added to the repository."
msgstr "向版本库添加的条目。"

#. (term)
msgid "Missing / deleted / replaced"
msgstr "丢失/已删除/已替换"

#. (para)
msgid ""
"Items deleted from the repository, missing from the working copy, or deleted "
"from the working copy and replaced with another file of the same name."
msgstr ""
"已从工作副本中遗失的条目;已从版本库中删除;或已经从工作副本删除并且被另一个同"
"名文件替换。"

#. (term)
msgid "Merged"
msgstr "已合并"

#. (para)
msgid ""
"Changes from the repository successfully merged into the WC without creating "
"any conflicts."
msgstr "从版本库所做的更改被成功地合并到工作副本,并无任何冲突产生。"

#. (term)
msgid "Modified / copied"
msgstr "已修改/已复制"

#. (para)
msgid ""
"Add with history, or paths copied in the repository. Also used in the log "
"dialog for entries which include copied items."
msgstr ""
"已经增加(现在只是修改),或者在版本库中复制。也在包含复制条目的日志对话框中使"
"用。"

#. (term)
msgid "Deleted node"
msgstr "删除的节点"

#. (para)
msgid "An item which has been deleted from the repository."
msgstr "一个已经从版本库中删除了的条目。"

#. (term)
msgid "Added node"
msgstr "添加的节点"

#. (para)
msgid ""
"An item which has been added to the repository, by an add, copy or move "
"operation."
msgstr "一个通过添加、复制或移动操作,已经被添加到版本库的条目。"

#. (term)
msgid "Renamed node"
msgstr "重命名的节点"

#. (para)
msgid "An item which has been renamed within the repository."
msgstr "一个在版本库中已经被重命名的条目。"

#. (term)
msgid "Replaced node"
msgstr "替换的节点"

#. (para)
msgid ""
"The original item has been deleted and a new item with the same name replaces "
"it."
msgstr "该原始条目已经被删除,且有同名条目替换了的条目。"

#. (title)
#, fuzzy
msgid "Revision Graph Settings"
msgstr "版本图节点"

#. (title)
#, fuzzy
msgid "The Settings Dialog, Revision Graph Page"
msgstr "设置对话框,常规设置页面"

#. (term)
msgid "Classification Patterns"
msgstr ""

#. (para)
msgid ""
"The revision graph attempts to show a clearer picture of your repository "
"structure by distinguishing between trunk, branches and tags. As there is no "
"such classification built into Subversion, this information is extracted from "
"the path names. The default settings assume that you use the conventional "
"English names as suggested in the Subversion documentation, but of course "
"your usage may vary."
msgstr ""

#. (para)
msgid ""
"Specify the patterns used to recognise these paths in the three boxes "
"provided. The patterns will be matched case-insensitively, but you must "
"specify them in lower case. Wild cards <literal>*</literal> and <literal>?</"
"literal> will work as usual, and you can use <literal>;</literal> to separate "
"multiple patterns. Do not include any extra white space as it will be "
"included in the matching specification."
msgstr ""

#. (term)
#, fuzzy
msgid "Modify Colors"
msgstr "颜色"

#. (para)
msgid ""
"Colors are used in the revision graph to indicate the node type, i.e. whether "
"a node is added, deleted, renamed. In order to help pick out node "
"classifications, you can allow the revision graph to blend colors to give an "
"indication of both node type and classification. If the box is checked, "
"blending is used. If the box is unchecked, color is used to indicate node "
"type only. Use the color selection dialog to allocate the specific colors "
"used."
msgstr ""

#. (title)
#, fuzzy
msgid "Revision Graph Colors"
msgstr "版本分支图"

#. (title)
#, fuzzy
msgid "The Settings Dialog, Revision Graph Colors Page"
msgstr "设置对话框,颜色页面"

#. (para)
msgid ""
"<placeholder-1/> This page allows you to configure the colors used. Note that "
"the color specified here is the solid color. Most nodes are colored using a "
"blend of the node type color, the background color and optionally the "
"classification color."
msgstr ""

#. (term)
#, fuzzy
msgid "Deleted Node"
msgstr "删除的节点"

#. (para)
msgid ""
"Items which have been deleted and not copied anywhere else in the same "
"revision."
msgstr ""

#. (term)
#, fuzzy
msgid "Added Node"
msgstr "添加的节点"

#. (para)
msgid "Items newly added, or copied (add with history)."
msgstr ""

#. (term)
#, fuzzy
msgid "Renamed Node"
msgstr "重命名的节点"

#. (para)
msgid ""
"Items deleted from one location and added in another in the same revision."
msgstr ""

#. (term)
#, fuzzy
msgid "Modified Node"
msgstr "已修改/已复制"

#. (para)
msgid "Simple modifications without any add or delete."
msgstr ""

#. (term)
#, fuzzy
msgid "Unchanged Node"
msgstr "未修改且是当前的"

#. (para)
msgid ""
"May be used to show the revision used as the source of a copy, even when no "
"change (to the item being graphed) took place in that revision."
msgstr ""

#. (term)
#, fuzzy
msgid "HEAD node"
msgstr "添加的节点"

#. (para)
#, fuzzy
msgid "Current HEAD revision in the repository."
msgstr "版本库中的最新版本"

#. (term)
msgid "WC Node"
msgstr ""

#. (para)
msgid ""
"If you opt to show an extra node for your working copy, attached to its last-"
"commit revision on the graph, use this color."
msgstr ""

#. (term)
msgid "WC Node Border"
msgstr ""

#. (para)
msgid ""
"If you opt to show whether the working copy is modified, use this color "
"border on the WC node when modifications are found."
msgstr ""

#. (term)
msgid "Tag Nodes"
msgstr ""

#. (para)
msgid ""
"Nodes classified as tags may be blended with this color. If you use tag "
"folding to save space, tags are marked on the copy source using a block in "
"this color."
msgstr ""

#. (term)
msgid "Trunk Nodes"
msgstr ""

#. (para)
msgid "Nodes classified as trunk may be blended with this color."
msgstr ""

#. (term)
msgid "Folded Tag Markers"
msgstr ""

#. (para)
msgid ""
"If you use tag folding to save space, tags are marked on the copy source "
"using a block in this color."
msgstr ""

#. (term)
#, fuzzy
msgid "Selected Node Markers"
msgstr "删除的节点"

#. (para)
msgid ""
"When you left click on a node to select it, the marker used to indicate "
"selection is a block in this color."
msgstr ""

#. (term)
msgid "Stripes"
msgstr ""

#. (para)
msgid ""
"These colors are used when the graph is split into sub-trees and the "
"background is colored in alternating stripes to help pick out the separate "
"trees."
msgstr ""

#. (title)
msgid "Icon Overlay Settings"
msgstr "图标叠加设置"

#. (title)
#, fuzzy
msgid "The Settings Dialog, Icon Overlays Page"
msgstr "设置对话框,图标集页面"

#. (para)
#, fuzzy
msgid ""
"<placeholder-1/> This page allows you to choose the items for which "
"TortoiseSVN will display icon overlays."
msgstr ""
"<placeholder-1/> 此对话框允许你按照你喜欢的方式来配置TSVN对话框使用的文本颜"
"色。"

#. (para)
#, fuzzy
msgid ""
"By default, overlay icons and context menus will appear in all open/save "
"dialogs as well as in Windows Explorer. If you want them to appear "
"<emphasis>only</emphasis> in Windows Explorer, check the <guilabel>Show "
"overlays and context menu only in explorer</guilabel> box."
msgstr ""
"默认情况下,图标重载将不止显示在Windows资源浏览器下,同样会显示在所有的打开/保"
"存对话框里。如果你想让它们 <emphasis>仅仅</emphasis> 显示在Windows资源浏览器"
"下,勾选 <guilabel>仅在资源管理器中显示图标重载</guilabel> 选项。"

#. (para)
msgid ""
"Ignored items and Unversioned items are not usually given an overlay. If you "
"want to show an overlay in these cases, just check the boxes."
msgstr ""

#. (para)
#, fuzzy
msgid ""
"You can also choose to mark folders as modified if they contain unversioned "
"items. This could be useful for reminding you that you have created new files "
"which are not yet versioned. This option is only available when you use the "
"<emphasis>default</emphasis> status cache option (see below)."
msgstr ""
"若你选择了默认选项,将同样决定如下选择: 在文件夹包含非版本控制的项目时,把文件"
"夹图标重载标记为已修改。这个有用的设置可以提醒你已经创建了非版本控制的新文件。"

#. (term)
msgid "Default"
msgstr "默认"

#. (para)
#, fuzzy
msgid ""
"Caches all status information in a separate process (<filename>TSVNCache.exe</"
"filename>). That process watches all drives for changes and fetches the "
"status again if files inside a working copy get modified. The process runs "
"with the least possible priority so other programs don't get hogged because "
"of it. That also means that the status information is not <emphasis>real "
"time</emphasis> but it can take a few seconds for the overlays to change."
msgstr ""
"把所有状态信息缓存在一个独立进程中(<filename>TSVNCache.exe</filename>)。该进程"
"监视所有驱动器的更改,并在工作副本中的文件被修改时重新获取其状态。该进程以最低"
"优先级运行,所以其他程序不会被它挤兑。这同样意味着状态信息并不是 <emphasis>实"
"时</emphasis> 的,因为它需要几秒钟时间处理图标重载的变化。"

#. (para)
#, fuzzy
msgid ""
"Advantage: the overlays show the status recursively, i.e. if a file deep "
"inside a working copy is modified, all folders up to the working copy root "
"will also show the modified overlay. And since the process can send "
"notifications to the shell, the overlays on the left tree view usually change "
"too."
msgstr ""
"优点: 图标重载递归地显示状态,就是说,如果一个处在工作副本深处的文件被修改了,"
"所有途径的文件夹包括工作副本的根目录都会显示出修改的图标重载。也因为该进程可以"
"向Windows外壳发送通知,资源管理器左面的树形图通常也会更改。"

#. (para)
msgid ""
"Disadvantage: the process runs constantly, even if you're not working on your "
"projects. It also uses around 10-50 MB of RAM depending on number and size of "
"your working copies."
msgstr ""
"缺点: 即使你已经不在项目下工作了,该进程仍然持续运行。取决于你工作副本的数量和"
"大小,它将占用10-50 MB的RAM内存空间。"

#. (term)
msgid "Shell"
msgstr "Windows 外壳"

#. (para)
msgid ""
"Caching is done directly inside the shell extension dll, but only for the "
"currently visible folder. Each time you navigate to another folder, the "
"status information is fetched again."
msgstr ""
"缓存在外壳扩展dll中直接完成,但仅仅是为那些当前可见的文件夹。每次你浏览到其他"
"文件夹,状态信息就会被重新获取。"

#. (para)
msgid ""
"Advantage: needs only very little memory (around 1 MB of RAM) and can show "
"the status in <emphasis>real time</emphasis>."
msgstr ""
"优点: 仅仅需要很少的内存(大约 1 MB),并且可以 <emphasis>实时</emphasis> 显示状"
"态。"

#. (para)
msgid ""
"Disadvantage: Since only one folder is cached, the overlays don't show the "
"status recursively. For big working copies, it can take more time to show a "
"folder in explorer than with the default cache. Also the mime-type column is "
"not available."
msgstr ""
"缺点: 因为仅有一个文件夹被缓存,图标重载不会递归地显示状态。在大一些的工作副本"
"下,它在浏览器中显示一个文件夹将比默认缓存模式花费更多时间。而且 mime-type 列"
"将无效。"

#. (term)
msgid "None"
msgstr "无"

#. (para)
msgid ""
"With this setting, the TortoiseSVN does not fetch the status at all in "
"Explorer. Because of that, files don't get an overlay and folders only get a "
"'normal' overlay if they're versioned. No other overlays are shown, and no "
"extra columns are available either."
msgstr ""
"在这种设置下,TSVN在浏览器里就完全不去获取状态了。因此,版本控制下的文件将不会"
"获得任何图标重载。文件夹也仅仅有个“正常”状态的图标重载,其他的不会显示,也不会"
"有其他额外的列可用。"

#. (para)
msgid ""
"Advantage: uses absolutely no additional memory and does not slow down the "
"Explorer at all while browsing."
msgstr "优点: 绝对不会占用任何额外的内存,也完全不会减慢浏览器的浏览速度。"

#. (para)
#, fuzzy
msgid ""
"Disadvantage: Status information of files and folders is not shown in "
"Explorer. To see if your working copies are modified, you have to use the "
"<quote>Check for modifications</quote> dialog."
msgstr ""
"缺点: 文件、文件夹的状态信息不会显示在浏览器中。要获知你的工作副本是否被修改"
"了,你需要使用“检查更新”对话框。"

#. (para)
#, fuzzy
msgid ""
"Since it takes quite a while to fetch the status of a working copy, "
"TortoiseSVN uses a cache to store the status so the explorer doesn't get "
"hogged too much when showing the overlays. You can choose which type of cache "
"TortoiseSVN should use according to your system and working copy size here: "
"<placeholder-1/>"
msgstr ""
"因为它要花费一段时间来获取工作副本的状态,TSVN将使用一个缓存来存储这些状态,从"
"而使浏览器在显示图标重载时,资源占用的不太厉害。你可以根据你的系统和工作副本的"
"大小来在这里选择让TSVN使用哪种类型的缓存: <placeholder-1/>"

#. (para)
#, fuzzy
msgid ""
"The next group allows you to select which classes of storage should show "
"overlays. By default, only hard drives are selected. You can even disable all "
"icon overlays, but where's the fun in that?"
msgstr ""
"<placeholder-1/> 此页面允许你选择TSVN为哪些条目显示图标重载。选择网络磁盘可能"
"会非常慢,所以默认情况下不为定位于网络共享中的工作副本显示图标重载。你甚至可以"
"取消所有的图标重载,但那样做还剩下什么好玩儿的呢?"

#. (para)
msgid ""
"Network drives can be very slow, so by default icons are not shown for "
"working copies located on network shares."
msgstr ""

#. (para)
msgid ""
"USB Flash drives appear to be a special case in that the drive type is "
"identified by the device itself. Some appear as fixed drives, and some as "
"removable drives."
msgstr ""
"USB闪存看上去是个特殊情况,因为驱动类型是设备自主标识的。于是有些显示为固定驱"
"动器,而有些显示为可移动磁盘。"

#. (para)
msgid ""
"The <guilabel>Exclude Paths</guilabel> are used to tell TortoiseSVN those "
"paths for which it should <emphasis>not</emphasis> show icon overlays and "
"status columns. This is useful if you have some very big working copies "
"containing only libraries which you won't change at all and therefore don't "
"need the overlays. For example:"
msgstr ""
"<guilabel>排除路径</guilabel> 是被用来告诉TSVN <emphasis>不用</emphasis> 在哪"
"些路径下显示图标重载和状态列。如果你有些很大的工作副本,而这些工作副本仅仅包含"
"你完全不想改变的库文件,从而你也不需要显示图标重载,这时该功能将会很有用。举个"
"例子: "

#. (para)
msgid ""
"<filename>f:\\development\\SVN\\Subversion</filename> will disable the "
"overlays <emphasis>only</emphasis> on that specific folder. You still can see "
"the overlays on all files and folder inside that folder."
msgstr ""
"填写 <filename>f:\\development\\SVN\\Subversion</filename> 将 <emphasis>仅仅</"
"emphasis> 在这个特殊文件夹上取消图标覆盖。 你仍然可以在该路径下的所有文件、文"
"件夹上看到图标重载。"

#. (para)
msgid ""
"<filename>f:\\development\\SVN\\Subversion*</filename> will disable the "
"overlays on <emphasis>all</emphasis> files and folders whose path starts with "
"<filename>f:\\development\\SVN\\Subversion</filename>. That means you won't "
"see overlays for any files and folders below that path."
msgstr ""
"填写 <filename>f:\\development\\SVN\\Subversion*</filename> 将在路径以 "
"<filename>f:\\development\\SVN\\Subversion</filename> 开始的 <emphasis>所有</"
"emphasis> 文件和文件夹上取消图标重载。这意味着你在该路径下的任何文件/文件夹上"
"都将看不到图标重载了。"

#. (para)
msgid ""
"The same applies to the <guilabel>Include Paths</guilabel>. Except that for "
"those paths the overlays are shown even if the overlays are disabled for that "
"specific drive type, or by an exclude path specified above."
msgstr ""
"<guilabel>包含路径</guilabel> 也使用同样的语法。除了有些反例: 即使该路径处在某"
"个取消图标重载显示的特定驱动类型下,或是处在上面的排除路径之下, 也依然会显示"
"图标重载。"

#. (para)
msgid ""
"Users sometimes ask how these three settings interact, and the definitive "
"answer is: <screen>\n"
"if (path is in include list)\n"
" show overlays\n"
"if (path is allowed drive type) AND (path is not in exclude list)\n"
" show overlays\n"
"</screen> The include list <emphasis>always</emphasis> makes the overlays "
"show. Otherwise, overlays are shown for all marked drive types "
"<emphasis>unless</emphasis> the path is excluded."
msgstr ""

#. (para)
msgid ""
"TSVNCache.exe also uses these paths to restrict its scanning. If you want it "
"to look only in particular folders, disable all drive types and include only "
"the folders you specifically want to be scanned."
msgstr ""
"TSVNCache.exe 同样使用这些路径来限制它的扫描。如果你想让它仅仅在某些特定文件夹"
"里监视,就取消所有的驱动器类型,并仅仅包含你允许被扫描的文件夹。"

#. (title)
msgid "Exclude <literal>SUBST</literal> Drives"
msgstr "排除 <literal>SUBST</literal> 磁盘"

#. (primary)
msgid "SUBST drives"
msgstr "SUBST 磁盘"

#. (para)
msgid ""
"It is often convenient to use a <literal>SUBST</literal> drive to access your "
"working copies, e.g. using the command <screen>\n"
"subst T: C:\\TortoiseSVN\\trunk\\doc\n"
"</screen> However this can cause the overlays not to update, as "
"<literal>TSVNCache</literal> will only receive one notification when a file "
"changes, and that is normally for the original path. This means that your "
"overlays on the <literal>subst</literal> path may never be updated."
msgstr ""

#. (para)
msgid ""
"An easy way to work around this is to exclude the original path from showing "
"overlays, so that the overlays show up on the <literal>subst</literal> path "
"instead."
msgstr ""

#. (para)
#, fuzzy
msgid ""
"Sometimes you will exclude areas that contain working copies, which saves "
"TSVNCache from scanning and monitoring for changes, but you still want a "
"visual indication that such folders are versioned. The <guilabel>Show "
"excluded folders as 'normal'</guilabel> checkbox allows you to do this. With "
"this option, versioned folders in any excluded area (drive type not checked, "
"or specifically excluded) will show up as normal and up-to-date, with a green "
"check mark. This reminds you that you are looking at a working copy, even "
"though the folder overlays may not be correct. Files do not get an overlay at "
"all. Note that the context menus still work, even though the overlays are not "
"shown."
msgstr ""
"有时候,你会想排除包含工作副本的区域,因为它会节约 TSVNCache 扫描和监视修改的"
"代价,但是你仍旧想让这些目录显示为受版本控制。检查框<guilabel>“正常”显示排除目"
"录</guilabel>允许你这样做。使用这个选项,被排除的区域中受版本控制的目录使用绿"
"色检查标记,正常显示为最新版本。它提醒你在察看工作副本,目录重载图标可能显示不"
"正确。文件根本不显示重载图标。尽管不显示覆盖图标,上下文菜单仍旧工作。"

#. (para)
msgid ""
"As a special exception to this, drives <literal>A:</literal> and <literal>B:</"
"literal> are never considered for the <guilabel>Show excluded folders as "
"'normal'</guilabel> option. This is because Windows is forced to look on the "
"drive, which can result in a delay of several seconds when starting Explorer, "
"even if your PC does have a floppy drive."
msgstr ""

#. (title)
msgid "Icon Set Selection"
msgstr "图标集选择"

#. (title)
msgid "The Settings Dialog, Icon Set Page"
msgstr "设置对话框,图标集页面"

#. (para)
msgid ""
"<placeholder-1/> You can change the overlay icon set to the one you like "
"best. Note that if you change overlay set, you may have to restart your "
"computer for the changes to take effect."
msgstr ""
"<placeholder-1/> 你可以选择你最喜欢的重载图标集。要注意的是,倘若改变了重载图"
"标集,你可能需要重启计算机使更改生效。"

#. (title)
msgid "Network Settings"
msgstr "网络设置"

#. (primary)
msgid "proxy server"
msgstr "代理服务器"

#. (title)
msgid "The Settings Dialog, Network Page"
msgstr "设置对话框,网络设置页面"

#. (para)
msgid ""
"<placeholder-1/> Here you can configure your proxy server, if you need one to "
"get through your company's firewall."
msgstr ""
"<placeholder-1> 如果需要穿透你公司的防火墙,在这里可以配置你的代理服务器。"

#. (para)
#, fuzzy
msgid ""
"If you need to set up per-repository proxy settings, you will need to use the "
"Subversion <filename>servers</filename> file to configure this. Use "
"<guibutton>Edit</guibutton> to get there directly. Consult the <ulink url="
"\"http://svnbook.red-bean.com/en/1.5/svn.advanced.confarea.html"
"\"><citetitle>Runtime Configuration Area</citetitle></ulink> for details on "
"how to use this file."
msgstr ""
"如果你需要对每个版本库建立一套代理设置,你必须使用Subversion<literal>服务器</"
"literal>文件来配置。使用<guibutton>编辑</guibutton>来直接访问该配置文件"
"(servers.txt)。该文件的细节和使用方法可以参考<ulink url=\"http://svnbook.red-"
"bean.com/en/1.2/svn.advanced.html\"><citetitle>运行时配置</citetitle></ulink>"

#. (para)
msgid ""
"You can also specify which program TortoiseSVN should use to establish a "
"secure connection to a svn+ssh repository. We recommend that you use "
"TortoisePlink.exe. This is a version of the popular Plink program, and is "
"included with TortoiseSVN, but it is compiled as a Windowless app, so you "
"don't get a DOS box popping up every time you authenticate."
msgstr ""
"你同样可以在此指定SSH客户端程序,用来支持TortoiseSVN同使用svn+ssh协议的版本库"
"建立安全连接。我们推荐您使用TortoisePlink.exe。这是著名的Plink程序的一个定制版"
"本, 并且业已包含在TortoiseSVN之中,但它被编译成了一个无窗口的应用,因此当你每"
"次认证的时候将不会看到弹出的DOS窗口。"

#. (para)
msgid ""
"You must specify the full path to the executable. For TortoisePlink.exe this "
"is the standard TortoiseSVN bin directory. Use the <guibutton>Browse</"
"guibutton> button to help locate it. Note that if the path contains spaces, "
"you must enclose it in quotes, e.g. <screen>\n"
"\"C:\\Program Files\\TortoiseSVN\\bin\\TortoisePlink.exe\"\n"
"</screen>"
msgstr ""

#. (para)
msgid ""
"One side-effect of not having a window is that there is nowhere for any error "
"messages to go, so if authentication fails you will simply get a message "
"saying something like <quote>Unable to write to standard output</quote>. For "
"this reason we recommend that you first set up using standard Plink. When "
"everything is working, you can use TortoisePlink with exactly the same "
"parameters."
msgstr ""
"这里有个不弹出窗口的副作用: 将没有什么错误信息可供你追踪。因此倘若认证失败你将"
"得到一个信息说: <quote>Unable to write to standard output</quote>。这样一来,"
"我们就推荐你第一次设置时使用原始的Plink程序;而当一切工作正常之时,再使用定制"
"版的TortoisePlink,并且重复利用那些相同的参数。"

#. (para)
msgid ""
"TortoisePlink does not have any documentation of its own because it is just a "
"minor variant of Plink. Find out about command line parameters from the "
"<ulink url=\"http://www.chiark.greenend.org.uk/~sgtatham/putty/"
"\"><citetitle>PuTTY website</citetitle></ulink>"
msgstr ""

#. (para)
msgid ""
"To avoid being prompted for a password repeatedly, you might also consider "
"using a password caching tool such as Pageant. This is also available for "
"download from the PuTTY website."
msgstr ""

#. (para)
msgid ""
"Finally, setting up SSH on server and clients is a non-trivial process which "
"is beyond the scope of this help file. However, you can find a guide in the "
"TortoiseSVN FAQ listed under <ulink url=\"http://tortoisesvn.net/ssh_howto"
"\"><citetitle>Subversion/TortoiseSVN SSH How-To</citetitle></ulink>."
msgstr ""

#. (title)
msgid "External Program Settings"
msgstr "外部程序设置"

#. (title)
msgid "The Settings Dialog, Diff Viewer Page"
msgstr "设置对话框,差异查看页面"

#. (para)
msgid ""
"<placeholder-1/> Here you can define your own diff/merge programs that "
"TortoiseSVN should use. The default setting is to use TortoiseMerge which is "
"installed alongside TortoiseSVN."
msgstr ""
"<placeholder-1/> 在这里你可以定义你自己的差异查看/合并工具. 默认设置是使用与"
"TortoiseSVN一同安装的TortoiseMerge。"

#. (para)
msgid ""
"Read <xref linkend=\"tsvn-dug-diff-tools\"/> for a list of some of the "
"external diff/merge programs that people are using with TortoiseSVN."
msgstr ""
"阅读 <xref linkend=\"tsvn-dug-diff-tools\"/> 来了解人们为配合TortoiseSVN工作而"
"使用的外部差异查看/合并程序列表。"

#. (title)
msgid "Diff Viewer"
msgstr "差异查看器"

#. (para)
msgid "The original file without your changes"
msgstr "没更改的原始文件"

#. (para)
#. (para)
msgid "The window title for the base file"
msgstr "原始文件的窗口标题"

#. (para)
msgid "Your own file, with your changes"
msgstr "你更改过的新文件"

#. (para)
#. (para)
msgid "The window title for your file"
msgstr "你新文件的窗口标题"

#. (para)
msgid ""
"An external diff program may be used for comparing different revisions of "
"files. The external program will need to obtain the filenames from the "
"command line, along with any other command line options. TortoiseSVN uses "
"substitution parameters prefixed with <literal>%</literal>. When it "
"encounters one of these it will substitute the appropriate value. The order "
"of the parameters will depend on the Diff program you use. <placeholder-1/>"
msgstr ""
"有时你可能需要一个外部的差异查看程序来比较不同版本的文件。在为你的命令行填写各"
"种可选参数的同时,要确保这些外部程序从中获得文件名。在TortoiseSVN编辑命令行"
"时,使用以 <literal>%</literal> 开头的替代参数。当外部程序执行至遇到这些替代参"
"数,它将从TortoiseSVN那里获取那些实际的值。参数的填写顺序将依赖于你使用的差异"
"查看程序。<placeholder-1/>"

#. (para)
msgid ""
"The window titles are not pure filenames. TortoiseSVN treats that as a name "
"to display and creates the names accordingly. So e.g. if you're doing a diff "
"from a file in revision 123 with a file in your working copy, the names will "
"be <filename>filename : revision 123</filename> and <filename>filename : "
"working copy</filename>"
msgstr ""
"窗口标题并不一定代表真正的文件名。TortoiseSVN把它伪装成一个名字用来创建和显"
"示。因此,倘若你在对比一个版本为123的文件和你当前工作副本中的文件,名字将显示"
"为 <filename>文件名 : 版本 123</filename> 和 <filename>文件名 : 工作副本</"
"filename>"

#. (para)
#, fuzzy
msgid ""
"For example, with ExamDiff Pro: <screen>\n"
"C:\\Path-To\\ExamDiff.exe %base %mine --left_display_name:%bname\n"
" --right_display_name:%yname\n"
"</screen> or with KDiff3: <screen>\n"
"C:\\Path-To\\kdiff3.exe %base %mine --L1 %bname --L2 %yname\n"
"</screen> or with WinMerge: <screen>\n"
"C:\\Path-To\\WinMerge.exe -e -ub -dl %bname -dr %yname %base %mine\n"
"</screen> or with Araxis: <screen>\n"
"C:\\Path-To\\compare.exe /max /wait /title1:%bname /title2:%yname\n"
" %base %mine\n"
"</screen>"
msgstr ""
"例如,使用 ExamDiff Pro:<screen>\n"
"C:\\Path-To\\ExamDiff.exe %base %mine\n"
"</screen> 或者使用 KDiff3:<screen>\n"
"C:\\Path-To\\kdiff3.exe %base %mine --L1 %bname --L2 %yname\n"
"</screen> 或者使用 WinMerge:<screen>\n"
"C:\\Path-To\\WinMerge.exe -e -ub -dl %bname -dr %yname %base %mine\n"
"</screen> 或者使用 Araxis:<screen>\n"
"C:\\Path-To\\compare.exe /max /wait /title1:%bname /title2:%yname\n"
" %base %mine\n"
"</screen>"

#. (para)
#, fuzzy
msgid ""
"If you use the <literal>svn:keywords</literal> property to expand keywords, "
"and in particular the <emphasis>revision</emphasis> of a file, then there may "
"be a difference between files which is purely due to the current value of the "
"keyword. Also if you use <literal>svn:eol-style = native</literal> the BASE "
"file will have pure <literal>LF</literal> line endings whereas your file will "
"have <literal>CR-LF</literal> line endings. TortoiseSVN will normally hide "
"these differences automatically by first parsing the BASE file to expand "
"keywords and line endings before doing the diff operation. However, this can "
"take a long time with large files. If <guilabel>Convert files when diffing "
"against BASE</guilabel> is unchecked then TortoiseSVN will skip pre-"
"processing the files."
msgstr ""
"如果你使用了 <literal>svn:keywords</literal> 属性来扩展关键词,特别是那些 "
"<literal>revision</literal> 版本关键词,那么在那些纯粹在关键词上取值不同的文件"
"之间对比将有一些不同。同样如果你使用 <literal>svn:eol-style = native</"
"literal>,那么在工作基础版本文件只有纯粹的 <literal>LF</literal> (换行)结束符"
"的地方,你的文件将有完整的 <literal>CR-LF</literal> (回车-换行)结束符。TSVN在"
"做差异对比操作之前,通常会先行对那些扩展关键词和结束符等格式进行解析转换,从而"
"自动隐藏这些差异。无论如何,在遇到大文件时这样做无疑会经过一个很长的处理时间。"
"如果取消对 <guilabel>与基础版本比较时转换文件</guilabel> 的勾选,那么TSVN将忽"
"略这些对文件的预处理。"

#. (para)
msgid ""
"You can also specify a different diff tool to use on Subversion properties. "
"Since these tend to be short simple text strings, you may want to use a "
"simpler more compact viewer."
msgstr ""
"你也可以使用 Subversion 属性来指定其它的比较工具。既然这些是简短的文本,你可能"
"想要使用简单的查看器。"

#. (para)
#, fuzzy
msgid ""
"If you have configured an alternate diff tool, you can access TortoiseMerge "
"<emphasis>and</emphasis> the third party tool from the context menus. "
"<menuchoice><guimenu>Context menu</guimenu><guimenuitem>Diff</guimenuitem></"
"menuchoice> uses the primary diff tool, and <keycap>Shift</keycap>+ "
"<menuchoice><guimenu>Context menu</guimenu><guimenuitem>Diff</guimenuitem></"
"menuchoice> uses the secondary diff tool."
msgstr ""
"在对话框的上下文菜单中你可以显示改变的差异。使用 <menuchoice><guimenu>上下文菜"
"单</guimenu><guimenuitem>与基础版本比较</guimenuitem></menuchoice>检查"
"<emphasis>你</emphasis>所作的本地修改。使用<menuchoice><guimenu>上下文菜单</"
"guimenu><guimenuitem>使用标准差异格式显示差异</guimenuitem></menuchoice>检查版"
"本库中别人作的修改。"

#. (title)
msgid "Merge Tool"
msgstr "合并工具"

#. (para)
msgid "the original file without your or the others changes"
msgstr "没有被你或他人更改的原始文件"

#. (para)
msgid "your own file, with your changes"
msgstr "你更改过的新文件"

#. (para)
msgid "the file as it is in the repository"
msgstr "档案库中存放的文件"

#. (para)
msgid "The window title for the file in the repository"
msgstr "档案库中文件的窗口标题"

#. (para)
msgid "the conflicted file, the result of the merge operation"
msgstr "发生冲突的文件,同时将被合并后的文件替换"

#. (para)
msgid "The window title for the merged file"
msgstr "合并文件的窗口标题"

#. (para)
msgid ""
"An external merge program used to resolve conflicted files. Parameter "
"substitution is used in the same way as with the Diff Program. <placeholder-1/"
">"
msgstr ""
"外部合并程序被用来解决文件冲突。像差异查看程序那样,替代参数同样被用在命令行"
"中。<placeholder-1/>"

#. (para)
#, fuzzy
msgid ""
"For example, with Perforce Merge: <screen>\n"
"C:\\Path-To\\P4Merge.exe %base %theirs %mine %merged\n"
"</screen> or with KDiff3: <screen>\n"
"C:\\Path-To\\kdiff3.exe %base %mine %theirs -o %merged\n"
" --L1 %bname --L2 %yname --L3 %tname\n"
"</screen> or with Araxis: <screen>\n"
"C:\\Path-To\\compare.exe /max /wait /3 /title1:%tname /title2:%bname\n"
" /title3:%yname %theirs %base %mine %merged /a2\n"
"</screen> or with WinMerge (2.8 or later): <screen>\n"
"C:\\Path-To\\WinMerge.exe %merged\n"
"</screen>"
msgstr ""
"例如,使用 Perforce Merge:<screen>\n"
"C:\\Path-To\\P4Merge.exe %base %theirs %mine %merged\n"
"</screen> 或者使用 KDiff3:<screen>\n"
"C:\\Path-To\\kdiff3.exe %base %mine %theirs -o %merged\n"
" --L1 %bname --L2 %yname --L3 %tname\n"
"</screen> 或者使用 Araxis:<screen>\n"
"C:\\Path-To\\compare.exe /max /wait /3 /title1:%tname /title2:%bname\n"
" /title3:%yname %theirs %base %mine %merged /a2\n"
"</screen>"

#. (title)
msgid "Diff/Merge Advanced Settings"
msgstr "差异查看/合并工具的高级设置"

#. (title)
msgid "The Settings Dialog, Diff/Merge Advanced Dialog"
msgstr "高级差异比较设置/高级合并设置的对话框"

#. (para)
#, fuzzy
msgid ""
"<placeholder-1/> In the advanced settings, you can define a different diff "
"and merge program for every file extension. For instance you could associate "
"Photoshop as the <quote>Diff</quote> Program for <filename>.jpg</filename> "
"files :-) You can also associate the <literal>svn:mime-type</literal> "
"property with a diff or merge program."
msgstr ""
"<placeholder-1/> 在高级设置中,你可以为每种文件类型都定义一个不同的差异比较/合"
"并程序。例如,你可以指定Photoshop作为.jpg文件的 <quote>比较</quote> 程序 :-) "
"也可以按照 <literal>svn:mime-type</literal> 属性指定差异/合并程序。"

#. (para)
msgid ""
"To associate using a file extension, you need to specify the extension. Use "
"<literal>.bmp</literal> to describe Windows bitmap files. To associate using "
"the <literal>svn:mime-type</literal> property, specify the mime type, "
"including a slash, for example <literal>text/xml</literal>."
msgstr ""
"为了使用文件扩展,你需要指定扩展。使用 <literal>.BMP</literal> 来描述 Windows "
"位图文件。如果使用<literal>svn:mime-type</literal>属性,要指定多媒体文件类型,"
"包含斜线,例如<literal>text/xml</literal>。"

#. (title)
msgid "Unified Diff Viewer"
msgstr "统一的差异查看器"

#. (para)
msgid ""
"A viewer program for unified-diff files (patch files). No parameters are "
"required. The <guilabel>Default</guilabel> option is to check for a file "
"association for <filename>.diff</filename> files, and then for <filename>."
"txt</filename> files. If you don't have a viewer for <filename>.diff</"
"filename> files, you will most likely get NotePad."
msgstr ""
"一个统一差异文件(补丁文件)的查看程序。不需要任何参数。<guilabel>默认</"
"guilabel> 选项遵循先检查 <filename>.diff</filename> 文件,再检查 <filename>."
"txt</filename> 文件的顺序。如果你没有 <filename>.diff</filename> 文件的查看"
"器,就需要用记事本来查看了。"

#. (para)
msgid ""
"The original Windows NotePad program does not behave well on files which do "
"not have standard CR-LF line-endings. Since most unified diff files have pure "
"LF line-endings, they do not view well in NotePad. However, you can download "
"a free NotePad replacement <ulink url=\"http://www.flos-freeware.ch/notepad2."
"html\"><citetitle>Notepad2</citetitle></ulink> which not only displays the "
"line-endings correctly, but also colour codes the added and removed lines."
msgstr ""
"原始Windows记事本程序对未使用标准“回车-换行”结束符的文件支持的并不好。而很多统"
"一差异文件都仅仅使用“换行”结束符,因此他们的格式在记事本中显示的并不好。无论如"
"何,你可以下载一个免费的记事本2 <ulink url=\"http://www.flos-freeware.ch/"
"notepad2.html\"><citetitle>Notepad2</citetitle></ulink>,它不但可以正确地显示"
"结束符,更可以为差异文件中添加和删除的那些行做颜色标记。"

#. (title)
msgid "Saved Data Settings"
msgstr "已保存数据的设置"

#. (title)
msgid "The Settings Dialog, Saved Data Page"
msgstr "设置对话框,已保存数据设置页面"

#. (para)
msgid ""
"<placeholder-1/> For your convenience, TortoiseSVN saves many of the settings "
"you use, and remembers where you have been lately. If you want to clear out "
"that cache of data, you can do it here."
msgstr ""
"<placeholder-1/> 为您方便着想,TortoiseSVN保存了很多你用过的设置,并记录你最近"
"浏览过的地址。如果你想清空这些数据缓存,就在这里操作。"

#. (term)
msgid "URL history"
msgstr "URL历史记录"

#. (para)
msgid ""
"Whenever you checkout a working copy, merge changes or use the repository "
"browser, TortoiseSVN keeps a record of recently used URLs and offers them in "
"a combo box. Sometimes that list gets cluttered with outdated URLs so it is "
"useful to flush it out periodically."
msgstr ""
"每次你检出一个工作副本,合并那些更改的文件,或仅仅是在使用版本库浏览器时,"
"TortoiseSVN都将保存一个记录,记录那些最近使用过的URL,并在一个下拉列表框中显示"
"出来。有时列表会被逐渐增多的过期URL弄得乱糟糟的,所以有定期清理一下的必要。"

#. (para)
#, fuzzy
msgid ""
"If you want to remove a single item from one of the combo boxes you can do "
"that in-place. Just click on the arrow to drop the combo box down, move the "
"mouse over the item you want to remove and type <keycap>Shift+Del</keycap>."
msgstr ""
"如果你希望从列表中删除单独的条目,可以点击下拉列表,移动鼠标到你要删除的项上,"
"然后按组合键<action>SHIFT+DELETE</action>。"

#. (term)
msgid "Log messages (Input dialog)"
msgstr "日志信息(输入对话框)"

#. (para)
msgid ""
"TortoiseSVN stores recent commit log messages that you enter. These are "
"stored per repository, so if you access many repositories this list can grow "
"quite large."
msgstr ""
"TortoiseSVN同时也储存你最近提交时填写的日志信息。对应每个版本库都要储存这些信"
"息,所以如果你访问过很多版本库,这个列表将变得非常大。"

#. (term)
msgid "Log messages (Show log dialog)"
msgstr "日志信息(显示日志对话框)"

#. (para)
msgid ""
"TortoiseSVN caches log messages fetched by the Show Log dialog to save time "
"when you next show the log. If someone else edits a log message and you "
"already have that message cached, you will not see the change until you clear "
"the cache. Log message caching is enabled on the <guilabel>Log Cache</"
"guilabel> tab."
msgstr ""

#. (term)
msgid "Dialog sizes and positions"
msgstr "窗口大小及位置"

#. (para)
msgid "Many dialogs remember the size and screen position that you last used."
msgstr "许多对话框都可以记录你最后一次使用时的窗口大小和位置。"

#. (term)
msgid "Authentication data"
msgstr "认证数据"

#. (para)
msgid ""
"When you authenticate with a Subversion server, the username and password are "
"cached locally so you don't have to keep entering them. You may want to clear "
"this for security reasons, or because you want to access the repository under "
"a different username ... does John know you are using his PC?"
msgstr ""
"当你在登陆某个Subversion服务器,填写认证信息时,用户名和密码也可以被保存在本"
"地,你也就不用每次都输入了。但考虑到一些安全因素,你可能会有清除这些认证信息的"
"愿望,或者你仅仅是想换个不同的用户名登陆...John知道你正在用他的机器么?(规范点"
"儿,用你自己的用户名登陆版本库吧,伙计 *by Jax)"

#. (para)
#, fuzzy
msgid ""
"If you want to clear authentication data for one particular server only, read "
"<xref linkend=\"tsvn-dug-general-auth\"/> for instructions on how to find the "
"cached data."
msgstr ""
"如果你仅想清除某个特定版本库的认证数据,读一下 <xref linkend=\"tsvn-dug-"
"general-auth\"/> 有关怎样寻找缓存数据的说明。"

#. (term)
msgid "Action log"
msgstr "动作日志"

#. (para)
msgid ""
"TortoiseSVN keeps a log of everything written to its progress dialogs. This "
"can be useful when, for example, you want to check what happened in a recent "
"update command."
msgstr ""

#. (para)
msgid ""
"The log file is limited in length and when it grows too big the oldest "
"content is discarded. By default 4000 lines are kept, but you can customize "
"that number."
msgstr ""

#. (para)
msgid "From here you can view the log file content, and also clear it."
msgstr ""

#. (title)
msgid "Log Caching"
msgstr "日志缓存"

#. (primary)
msgid "log cache"
msgstr "日志缓存"

#. (title)
msgid "The Settings Dialog, Log Cache Page"
msgstr "设置对话框,日志缓存页面"

#. (para)
msgid ""
"<placeholder-1/> This dialog allows you to configure the log caching feature "
"of TortoiseSVN, which retains a local copy of log messages and changed paths "
"to avoid time-consuming downloads from the server. Using the log cache can "
"dramatically speed up the log dialog and the revision graph. Another useful "
"feature is that the log messages can still be accessed when offline."
msgstr ""

#. (term)
msgid "Enable log caching"
msgstr "启用日志缓存"

#. (para)
msgid ""
"Enables log caching whenever log data is requested. If checked, data will be "
"retrieved from the cache when available, and any messages not in the cache "
"will be retrieved from the server and added to the cache."
msgstr ""

#. (para)
msgid ""
"If caching is disabled, data will always be retrieved directly from the "
"server and not stored locally."
msgstr ""

#. (term)
msgid "Allow ambiguous URLs"
msgstr ""

#. (para)
msgid ""
"Occasionally you may have to connect to a server which uses the same URL for "
"all repositories. Older versions of <literal>svnbridge</literal> would do "
"this. If you need to access such repositories you will have to check this "
"option. If you don't, leave it unchecked to improve performance."
msgstr ""

#. (term)
msgid "Allow ambiguous UUIDs"
msgstr ""

#. (para)
msgid ""
"Some hosting services give all their repositories the same UUID. You may even "
"have done this yourself by copying a repository folder to create a new one. "
"For all sorts of reasons this is a bad idea - a UUID should be "
"<emphasis>unique</emphasis>. However, the log cache will still work in this "
"situation if you check this box. If you don't need it, leave it unchecked to "
"improve performance."
msgstr ""

#. (term)
msgid "If the repository cannot be contacted"
msgstr "如果不能连接版本库"

#. (para)
msgid ""
"If you are working offline, or if the repository server is down, the log "
"cache can still be used to supply log messages already held in the cache. Of "
"course the cache may not be up-to-date, so there are options to allow you to "
"select whether this feature should be used."
msgstr ""

#. (para)
msgid ""
"When log data is being taken from the cache without contacting the server, "
"the dialog using those message will show the offline state in its title bar."
msgstr ""

#. (term)
msgid "Timeout before updating the HEAD revision"
msgstr ""

#. (para)
msgid ""
"When you invoke the log dialog you will normally want to contact the server "
"to check for any newer log messages. If the timeout set here is non-zero then "
"the server will only be contacted when the timeout has elapsed since the last "
"time contact. This can reduce server round-trips if you open the log dialog "
"frequently and the server is slow, but the data shown may not be completely "
"up-to-date. If you want to use this feature we suggest using a value of 300 "
"(5 minutes) as a compromise."
msgstr ""

#. (term)
msgid "Days of inactivity until small caches get removed"
msgstr ""

#. (para)
msgid ""
"If you browse around a lot of repositories you will accumulate a lot of log "
"caches. If you're not actively using them, the cache will not grow very big, "
"so TortoiseSVN purges them after a set time by default. Use this item to "
"control cache purging."
msgstr ""

#. (term)
msgid "Maximum size of removed inactive caches"
msgstr ""

#. (para)
msgid ""
"Larger caches are more expensive to reacquire, so TortoiseSVN only purges "
"small caches. Fine tune the threshold with this value."
msgstr ""

#. (term)
msgid "Maximum number of tool failures before cache removal"
msgstr ""

#. (para)
msgid ""
"Occasionally something goes wrong with the caching and causes a crash. If "
"this happens the cache is normally deleted automatically to prevent a "
"recurrence of the problem. If you use the less stable nightly build you may "
"opt to keep the cache anyway."
msgstr ""

#. (title)
#, fuzzy
msgid "Cached Repositories"
msgstr "版本库"

#. (para)
msgid ""
"On this page you can see a list of the repositories that are cached locally, "
"and the space used for the cache. If you select one of the repositories you "
"can then use the buttons underneath."
msgstr ""

#. (title)
msgid "Log Cache Statistics"
msgstr "日志缓存统计"

#. (title)
msgid "The Settings Dialog, Log Cache Statistics"
msgstr "设置对话框,日志缓存统计"

#. (term)
msgid "RAM"
msgstr "RAM"

#. (para)
msgid "The amount of memory required to service this cache."
msgstr ""

#. (term)
msgid "Disk"
msgstr "磁盘"

#. (para)
msgid ""
"The amount of disk space used for the cache. Data is compressed, so disk "
"usage is generally fairly modest."
msgstr ""

#. (term)
msgid "Connection"
msgstr "连接"

#. (para)
msgid "Shows whether the repository was available last time the cache was used."
msgstr ""

#. (term)
msgid "Last update"
msgstr "最近更新"

#. (para)
#, fuzzy
msgid "The last time the cache content was changed."
msgstr "服务器的IP地址已更改。"

#. (term)
msgid "Last head update"
msgstr ""

#. (para)
msgid "The last time we requested the HEAD revision from the server."
msgstr ""

#. (term)
msgid "Authors"
msgstr "作者"

#. (para)
msgid "The number of different authors with messages recorded in the cache."
msgstr ""

#. (term)
msgid "Paths"
msgstr "路径"

#. (para)
msgid ""
"The number of paths listed, as you would see using <literal>svn log -v</"
"literal>."
msgstr ""

#. (term)
msgid "Skip ranges"
msgstr ""

#. (para)
msgid ""
"The number of revision ranges which we have not fetched, simply because they "
"haven't been requested. This is a measure of the number of holes in the cache."
msgstr ""

#. (term)
msgid "Max revision"
msgstr "最大版本号"

#. (para)
msgid "The highest revision number stored in the cache."
msgstr ""

#. (term)
msgid "Revision count"
msgstr "版本计数"

#. (para)
msgid ""
"The number of revisions stored in the cache. This is another measure of cache "
"completeness."
msgstr ""

#. (para)
msgid ""
"<placeholder-1/> Click on the <guibutton>Details</guibutton> button to see "
"detailed statistics for a particular cache. Many of the fields shown here are "
"mainly of interest to the developers of TortoiseSVN, so they are not all "
"described in detail. <placeholder-2/>"
msgstr ""

#. (para)
msgid ""
"Click on the <guibutton>Update</guibutton> to completely refresh the cache "
"and fill in any holes. For a large repository this could be very time "
"consuming, but useful if you are about to go offline and want the best "
"available cache."
msgstr ""

#. (para)
msgid ""
"Click on the <guibutton>Export</guibutton> button to export the entire cache "
"as a set of CSV files. This could be useful if you want to process the log "
"data using an external program, although it is mainly useful to the "
"developers."
msgstr ""

#. (para)
msgid ""
"Click on <guibutton>Delete</guibutton> to remove all cached data for the "
"selected repositories. This does not disable caching for the repository so "
"the next time you request log data, a new cache will be created."
msgstr ""

#. (title)
msgid "Client Side Hook Scripts"
msgstr "客户端钩子脚本"

#. (primary)
msgid "client hooks"
msgstr "客户端钩子"

#. (title)
msgid "The Settings Dialog, Hook Scripts Page"
msgstr "设置对话框,钩子脚本页"

#. (para)
msgid ""
"<placeholder-1/> This dialog allows you to set up hook scripts which will be "
"executed automatically when certain Subversion actions are performed. As "
"opposed to the hook scripts explained in <xref linkend=\"tsvn-repository-hooks"
"\"/>, these scripts are executed locally on the client."
msgstr ""
"<placeholder-1/> 这个对话框允许你指定当特定 Subversion 动作执行时,自动执行的"
"钩子脚本。与 <xref linkend=\"tsvn-repository-hooks\"/> 中说明的钩子脚本相反,"
"这些脚本在客户端本地执行。"

#. (para)
msgid ""
"One application for such hooks might be to call a program like "
"<literal>SubWCRev.exe</literal> to update version numbers after a commit, and "
"perhaps to trigger a rebuild."
msgstr ""
"应用程序,例如钩子,可能调用如<literal>SubWCRev.exe</literal>这样的程序,来更"
"新提交后的版本号,可能还会出发重新构建。"

#. (para)
msgid ""
"For various security and implementation reasons, hook scripts are defined "
"locally on a machine, rather than as project properties. You define what "
"happens, no matter what someone else commits to the repository. Of course you "
"can always choose to call a script which is itself under version control."
msgstr ""
"由于各种安全理由和实现问题,钩子脚本在本地机器定义,而不是象工程属性那样。不管"
"是谁提交,都可以定义它做什么事情。当然,你也可以选择调用一个受版本控制的脚本。"

#. (title)
msgid "The Settings Dialog, Configure Hook Scripts"
msgstr "设置对话框,配置钩子脚本页面"

#. (para)
msgid ""
"<placeholder-1/> To add a new hook script, simply click <guibutton>Add</"
"guibutton> and fill in the details."
msgstr ""
"<placeholder-1/> 要增加钩子脚本,直接点击 <guibutton>增加</guibutton> ,然后输"
"入脚本即可。"

#. (term)
#. (term)
msgid "Start-commit"
msgstr "开始提交"

#. (para)
#, fuzzy
msgid ""
"Called before the commit dialog is shown. You might want to use this if the "
"hook modifies a versioned file and affects the list of files that need to be "
"committed and/or commit message. However you should note that because the "
"hook is called at an early stage, the full list of objects selected for "
"commit is not available."
msgstr ""
"在提交对话框之前调用。当钩子修改受版本控制的文件,影响了提交的文件列表的时候适"
"用。"

#. (term)
#. (term)
msgid "Pre-commit"
msgstr "提交之前"

#. (para)
#, fuzzy
msgid ""
"Called after the user clicks <guibutton>OK</guibutton> in the commit dialog, "
"and before the actual commit begins. This hook has a list of exactly what "
"will be committed."
msgstr "在提交对话框点击<guibutton>确认</guibutton>之后,实际提交之前调用。"

#. (term)
#. (term)
msgid "Post-commit"
msgstr "提交之后"

#. (para)
msgid "Called after the commit finishes (whether successful or not)."
msgstr "在提交结束后调用(无论成功或失败)"

#. (term)
#. (term)
msgid "Start-update"
msgstr "开始更新"

#. (para)
msgid "Called before the update-to-revision dialog is shown."
msgstr "在更新到版本对话框显示之前调用"

#. (term)
#. (term)
msgid "Pre-update"
msgstr "更新之前"

#. (para)
msgid "Called before the actual Subversion update begins."
msgstr "在 Subversion 更新实际开始之前调用"

#. (term)
#. (term)
msgid "Post-update"
msgstr "更新之后"

#. (para)
msgid "Called after the update finishes (whether successful or not)."
msgstr "在更新之后调用(无论成功或失败)"

#. (para)
msgid "There are currently six types of hook script available <placeholder-1/>"
msgstr "现在有六种钩子脚本类型可用 <placeholder-1/>"

#. (para)
msgid ""
"A hook is defined for a particular working copy path. You only need to "
"specify the top level path; if you perform an operation in a sub-folder, "
"TortoiseSVN will automatically search upwards for a matching path."
msgstr ""
"为特定工作目录定义的钩子。你只要指定顶级路径;如果在子目录内执行提交,"
"TortoiseSVN 会自动向上搜索匹配路径。"

#. (para)
msgid ""
"Next you must specify the command line to execute, starting with the path to "
"the hook script or executable. This could be a batch file, an executable file "
"or any other file which has a valid windows file association, eg. a perl "
"script."
msgstr ""
"然后你要指定要执行的命令行,以钩子脚本或可执行文件的路径开始。它可以是批处理文"
"件,可执行文件,或者有效的windows关联的其它文件类型,例如perl文件。"

#. (para)
#, fuzzy
msgid ""
"The command line includes several parameters which get filled in by "
"TortoiseSVN. The parameters passed depend upon which hook is called. Each "
"hook has its own parameters which are passed in the following order: "
"<placeholder-1/>"
msgstr ""
"命令行可以包含被TortoiseSVN填写的几个参数。这些参数依赖于调用了什么脚本。"
"<placeholder-1/>"

#. (para)
msgid ""
"A path to a temporary file which contains all the paths for which the "
"operation was started. Each path is on a separate line in the temp file."
msgstr ""
"指向临时文件的路径,此文件包含了操作开始时的所有路径。在临时文件中,每个路径占"
"一行。"

#. (para)
msgid "The depth with which the commit/update is done."
msgstr "提交/更新的深度。"

#. (literal)
msgid "svn_depth_unknown"
msgstr "svn_depth_unknown"

#. (literal)
msgid "svn_depth_exclude"
msgstr "svn_depth_exclude"

#. (literal)
msgid "svn_depth_empty"
msgstr "svn_depth_empty"

#. (literal)
msgid "svn_depth_files"
msgstr "svn_depth_files"

#. (literal)
msgid "svn_depth_immediates"
msgstr "svn_depth_immediates"

#. (literal)
msgid "svn_depth_infinity"
msgstr "svn_depth_infinity"

#. (para)
msgid "Possible values are: <placeholder-1/>"
msgstr "可能的取值是:<placeholder-1/>"

#. (para)
#, fuzzy
msgid ""
"Path to a file containing the log message for the commit. The file contains "
"the text in UTF-8 encoding. After successful execution of the start-commit "
"hook, the log message is read back, giving the hook a chance to modify it."
msgstr "指向包含提交日志文件的路径。此文件使用 UTF8 编码。"

#. (para)
msgid ""
"The repository revision to which the update should be done or after a commit "
"completes."
msgstr "更新或提交完成后的版本库的版本"

#. (para)
msgid ""
"Path to a file containing the error message. If there was no error, the file "
"will be empty."
msgstr ""

#. (para)
msgid ""
"The current working directory with which the script is run. This is set to "
"the common root directory of all affected paths."
msgstr ""

#. (para)
#, fuzzy
msgid ""
"The meaning of each of these parameters is described here: <placeholder-1/>"
msgstr "每个变量的含义如下: <placeholder-1/>"

#. (para)
msgid ""
"Note that although we have given these parameters names for convenience, you "
"do not have to refer to those names in the hook settings. All parameters "
"listed for a particular hook are always passed, whether you want them or "
"not ;-)"
msgstr ""

#. (para)
msgid ""
"If you want the Subversion operation to hold off until the hook has "
"completed, check <guilabel>Wait for the script to finish</guilabel>."
msgstr ""
"如果你想Subversion 操作直到钩子完成才结束,就选择<guilabel>等待脚本结束</"
"guilabel>。"

#. (para)
#, fuzzy
msgid ""
"Normally you will want to hide ugly DOS boxes when the script runs, so "
"<guilabel>Hide the script while running</guilabel> is checked by default."
msgstr ""
"通常脚本运行时,你会想隐藏丑陋的控制台窗口,所以默认选择<guilabel>运行时隐藏脚"
"本</guilabel>。为了调试,你可能想观察控制台窗口的输出。"

#. (para)
msgid ""
"Sample client hook scripts can be found in the <literal>contrib</literal> "
"folder in the <ulink url=\"http://tortoisesvn.tigris.org/svn/tortoisesvn/"
"trunk/contrib/hook-scripts\"><citetitle>TortoiseSVN repository</citetitle></"
"ulink>. (<xref linkend=\"tsvn-preface-source\"/> explains how to access the "
"repository)."
msgstr ""

#. (title)
msgid "Issue Tracker Integration"
msgstr ""

#. (para)
msgid ""
"TortoiseSVN can use a COM plugin to query issue trackers when in the commit "
"dialog. The use of such plugins is described in <xref linkend=\"tsvn-dug-"
"bugtracker-ref\"/>. If your system administrator has provided you with a "
"plugin, which you have already installed and registered, this is the place to "
"specify how it integrates with your working copy."
msgstr ""

#. (title)
#, fuzzy
msgid "The Settings Dialog, Issue Tracker Integration Page"
msgstr "设置对话框,常规设置页面"

#. (para)
msgid ""
"<placeholder-1/> Click on <guibutton>Add...</guibutton> to use the plugin "
"with a particular working copy. Here you can specify the working copy path, "
"choose which plugin to use from a drop down list of all registered issue "
"tracker plugins, and any parameters to pass. The parameters will be specific "
"to the plugin, but might include your user name on the issue tracker so that "
"the plugin can query for issues which are assigned to you."
msgstr ""

#. (para)
msgid ""
"This property specifies the COM UUID of the IBugTraqProvider, for example "
"<literal>{91974081-2DC7-4FB1-B3BE-0DE1C8D6CE4E}</literal>. (this example is "
"the UUID of the <ulink url=\"http://code.google.com/p/gurtle/"
"\"><citetitle>Gurtle bugtraq provider</citetitle></ulink>, which is a "
"provider for the <ulink url=\"http://code.google.com/hosting/"
"\"><citetitle>Google Code</citetitle></ulink> issue tracker)."
msgstr ""

#. (para)
msgid "This property specifies the parameters passed to the IBugTraqProvider."
msgstr ""

#. (para)
msgid ""
"If you want all users to use the same COM plugin for your project, you can "
"specify the plugin also with the properties <literal>bugtraq:provideruuid</"
"literal> and <literal>bugtraq:providerparams</literal>. <placeholder-1/> "
"Please check the documentation of your IBugTraqProvider plugin to find out "
"what to specify in these two properties."
msgstr ""

#. (title)
msgid "TortoiseBlame Settings"
msgstr "TortoiseBlame 的设置"

#. (title)
msgid "The Settings Dialog, TortoiseBlame Page"
msgstr "设置对话框,TortoiseBlame 页面"

#. (para)
msgid ""
"<placeholder-1/> The settings used by TortoiseBlame are controlled from the "
"main context menu, not directly with TortoiseBlame itself."
msgstr ""
"<placeholder-1/> TortoiseBlame 使用的配置被主上下文菜单控制,不是被 "
"TortoiseBlame 自己直接控制。"

#. (term)
msgid "Colors"
msgstr "颜色"

#. (para)
msgid ""
"TortoiseBlame can use the background colour to indicate the age of lines in a "
"file. You set the endpoints by specifying the colours for the newest and "
"oldest revisions, and TortoiseBlame uses a linear interpolation between these "
"colours according to the repository revision indicated for each line."
msgstr ""
"TortoiseBlame 可以使用背景色指示文件中行的年龄。你设置最新和最旧版本的颜色后,"
"TortoiseBlame 使用线性插补算法根据每行的版本设置其颜色。"

#. (term)
msgid "Font"
msgstr "字体"

#. (para)
msgid ""
"You can select the font used to display the text, and the point size to use. "
"This applies both to the file content, and to the author and revision "
"information shown in the left pane."
msgstr ""
"你可以选择显示文本的字体和大小。它同时对文件内容,在左窗格显示的作者和版本信息"
"等生效。"

#. (term)
msgid "Tabs"
msgstr "制表"

#. (para)
msgid ""
"Defines how many spaces to use for expansion when a tab character is found in "
"the file content."
msgstr "定义在文件中出现的制表字符用多少空格扩展。"

#. (title)
msgid "Registry Settings"
msgstr "注册表设置"

#. (primary)
msgid "registry"
msgstr "注册表"

#. (para)
#, fuzzy
msgid ""
"A few infrequently used settings are available only by editing the registry "
"directly. It goes without saying that you should only edit registry values if "
"you know what you are doing."
msgstr "一些极不常用的设置只有通过直接修改注册表的方式才能生效。"

#. (para)
msgid ""
"You can specify a different location for the Subversion configuration file "
"using registry location <literal>HKCU\\Software\\TortoiseSVN\\ConfigDir</"
"literal>. This will affect all TortoiseSVN operations."
msgstr ""
"通过编辑注册表 <literal>HKCU\\Software\\TortoiseSVN\\ConfigDir</literal>,你可"
"以为Subversion的配置文件指定一个不同位置。这将影响到TSVN的所有操作。"

#. (term)
msgid "Cache tray icon"
msgstr "缓存托盘图标"

#. (para)
msgid ""
"To add a cache tray icon for the TSVNCache program, create a <literal>DWORD</"
"literal> key with a value of 1 at <literal>HKCU\\Software\\TortoiseSVN"
"\\CacheTrayIcon</literal>. This is really only useful for developers as it "
"allows you to terminate the program gracefully."
msgstr ""
"要为TSVNCache程序添加一个缓存托盘图标,先在 <literal>HKCU\\Software"
"\\TortoiseSVN\\CacheTrayIcon</literal> 的位置,创建一个 <literal>DWORD</"
"literal> 值,取值为1。这确实只对开发者才有点用处,因为它允许你来优雅地关闭"
"TSVNCache,而不是在进程列表里kill掉它。(托盘图标可以显示当前已缓存了的文件夹数"
"目 *by Jax)"

#. (term)
msgid "Debug"
msgstr ""

#. (para)
msgid ""
"To show the command line parameters passed from the shell extension to "
"TortoiseProc.exe create a <literal>DWORD</literal> key with a value of 1 at "
"<literal>HKCU\\Software\\TortoiseSVN\\Debug</literal>."
msgstr ""

#. (term)
msgid "Owner-Drawn Menus"
msgstr ""

#. (para)
msgid ""
"This can be useful if you use something other than the windows explorer or if "
"you get problems with the context menu displaying correctly. create a "
"<literal>DWORD</literal> key with a value of 0 at <literal>HKCU\\Software"
"\\TortoiseSVN\\OwnerdrawnMenus</literal> if you don't want TortoiseSVN to use "
"owner-draw menu items in the shell context menu. Set this value to 2 if you "
"don't want TortoiseSVN to use icons in the context menu at all."
msgstr ""

#. (term)
#, fuzzy
msgid "Block Overlay Status"
msgstr "图标叠加设置"

#. (para)
msgid ""
"If you don't want the explorer to update the status overlays while another "
"TortoiseSVN command is running (e.g. Update, Commit, ...) then create a "
"<literal>DWORD</literal> key with a value of 1 at <literal>HKCU\\Software"
"\\TortoiseSVN\\BlockStatus</literal>."
msgstr ""

#. (term)
#, fuzzy
msgid "Update Check URL"
msgstr "缺省检出URL"

#. (para)
msgid ""
"<literal>HKCU\\Software\\TortoiseSVN\\UpdateCheckURL</literal> contains the "
"URL from which TortoiseSVN tries to download a text file to find out if there "
"are updates available. You can also set this under <literal>HKLM</literal> "
"instead of <literal>HKCU</literal> if you want, but <literal>HKCU</literal> "
"overwrites the setting in <literal>HKLM</literal>. This might be useful for "
"company admins who don't want their users to update TortoiseSVN until they "
"approve it."
msgstr ""

#. (term)
msgid "Filenames without extensions in auto-completion list"
msgstr "在自动完成列表的文件名称没有扩展名"

#. (para)
msgid ""
"The auto-completion list shown in the commit message editor displays the "
"names of files listed for commit. To also include these names with extensions "
"removed, create a <literal>DWORD</literal> key with a value of 1 at "
"<literal>HKCU\\Software\\TortoiseSVN\\AutocompleteRemovesExtensions</literal>."
msgstr ""

#. (term)
#, fuzzy
msgid "Explorer columns everywhere"
msgstr "资源管理器的列"

#. (para)
msgid ""
"The extra columns the TortoiseSVN adds to the details view in Windows "
"Explorer are normally only active in a working copy. If you want those to be "
"accessible everywhere, not just in working copies, create a <literal>DWORD</"
"literal> key with a value of 1 at <literal>HKCU\\Software\\TortoiseSVN"
"\\ColumnsEveryWhere</literal>."
msgstr ""

#. (term)
msgid "Merge log separator"
msgstr "合并日志分隔符"

#. (para)
msgid ""
"When you merge revisions from another branch, and merge tracking information "
"is available, the log messages from the revisions you merge will be collected "
"to make up a commit log message. A pre-defined string is used to separate the "
"individual log messages of the merged revisions. If you prefer, you can "
"create a <literal>SZ</literal> key at <literal>HKCU\\Software\\TortoiseSVN"
"\\MergeLogSeparator</literal> containing a separator string of your choice."
msgstr ""

#. (term)
msgid "Always blame changes with TortoiseMerge"
msgstr "始终用 TortoiseMerge 追溯改变"

#. (para)
msgid ""
"TortoiseSVN allows you to assign external diff viewer. Most such viewers, "
"however, are not suited for change blaming (<xref linkend=\"tsvn-dug-blame-"
"diffs\"/>), so you might wish to fall back to TortoiseMerge in this case. To "
"do so, create a <literal>DWORD</literal> key with a value of 1 at "
"<literal>HKCU\\Software\\TortoiseSVN\\DiffBlamesWithTortoiseMerge</literal>."
msgstr ""

#. (term)
msgid "Current revision highlighting for folders in log dialog"
msgstr ""

#. (para)
msgid ""
"The log dialog highlights the current working copy revision when the log is "
"shown for a file. To do the same thing for a folder requires a working copy "
"crawl, which can be a slow operation for large working copies. If you want to "
"enable this feature you must create a <literal>DWORD</literal> registry key "
"at <literal>HKCU\\Software\\TortoiseSVN\\RecursiveLogRev</literal>. A value "
"of 0 disables the feature (no highlighting for folders), a value of 1 "
"(default) will fetch the status recursively (find the highest revision in the "
"working copy tree), and a value of 2 will check the revision of the selected "
"folder itself, but will not check any child items."
msgstr ""

#. (term)
msgid "Make checkout fail if an item of the same name exists"
msgstr ""

#. (para)
msgid ""
"By default, if you checkout a working copy over an existing unversioned "
"folder structure, as you might do after import, then any existing which "
"differ from the repository content will be left unchanged and marked as "
"modified. When you come to commit, it is your local copy which will then be "
"sent back to the repository. Some people would prefer the checkout to fail if "
"the existing content differs, so that if two people add the same file the "
"second person's version does not overwrite the original version by mistake. "
"If you want to force checkouts to fail in this instance you must create a "
"<literal>DWORD</literal> registry key with value 0 at <literal>HKCU\\Software"
"\\TortoiseSVN\\AllowUnversionedObstruction</literal>."
msgstr ""

#. (title)
msgid "Subversion Working Folders"
msgstr "Subversion 的工作文件夹"

#. (primary)
msgid ".svn folder"
msgstr "名为 .svn 的文件夹"

#. (primary)
msgid "_svn folder"
msgstr "名为 _svn 的文件夹"

#. (para)
#, fuzzy
msgid ""
"VS.NET 2003 when used with web projects can't handle the <literal>.svn</"
"literal> folders that Subversion uses to store its internal information. This "
"is not a bug in Subversion. The bug is in VS.NET 2003 and the frontpage "
"extensions it uses."
msgstr ""
"在使用VS.NET环境做web工程时,遇到.svn文件夹会出问题,但Subversion是要用这些文"
"件夹来储存自己的内部信息的。这可不是Subversion的bug,这bug是VS.NET和它使用的"
"frontpage扩展带来的。"

#. (para)
msgid "Note that the bug is fixed in VS2005 and later versions."
msgstr ""

#. (para)
#, fuzzy
msgid ""
"As of Version 1.3.0 of Subversion and TortoiseSVN, you can set the "
"environment variable <literal>SVN_ASP_DOT_NET_HACK</literal>. If that "
"variable is set, then Subversion will use <literal>_svn</literal> folders "
"instead of <literal>.svn</literal> folders. You must restart your shell for "
"that environment variable to take effect. Normally that means rebooting your "
"PC. To make this easier, you can now do this from the general settings page "
"using a simple checkbox - refer to <xref linkend=\"tsvn-dug-settings-main\"/>."
msgstr ""
"在Subversion 1.3.0和TSVN 1.3.0里,你可以设置环境变量 "
"<literal>SVN_ASP_DOT_NET_HACK</literal>,来通知Subversion用 <literal>_svn</"
"literal> 文件夹替代 <literal>.svn</literal> 文件夹。你必须重启你系统的外壳程序"
"来使环境变量生效,一般意味着你要重启PC。在1.4.0里这项替代工作就变得非常简单,"
"你只需从常规设置页面选择一个单选框: 使用“_svn”目录替代“.svn”目录。——参考 "
"<xref linkend=\"tsvn-dug-settings-main\"/>"

#. (para)
#, fuzzy
msgid ""
"For more information, and other ways to avoid this problem in the first "
"place, check out the article about this in our <ulink url=\"http://"
"tortoisesvn.net/aspdotnethack\"><citetitle>FAQ</citetitle></ulink>."
msgstr ""
"若想获得更多信息,了解避免该问题的其他方法,请读读我们 <ulink url=\"http://"
"tortoisesvn.net/node/aspdotnethack\"><citetitle>FAQ</citetitle></ulink> 里的文"
"章。"

#. (title)
msgid "Final Step"
msgstr "最后步骤"

#. (title)
msgid "Donate!"
msgstr "捐赠!"

#. (para)
msgid ""
"Even though TortoiseSVN and TortoiseMerge are free, you can support the "
"developers by sending in patches and play an active role in the development. "
"You can also help to cheer us up during the endless hours we spend in front "
"of our computers."
msgstr ""
"尽管TSVN和TortoiseMerge是免费的,你也可以通过提交补丁和在项目开发中扮演一些积"
"极角色,来支持我们的开发人员。你同样也可以给点鼓励,它们会让每天在计算机前没日"
"没夜拼命工作的我们感到非常的振奋。"

#. (para)
#, fuzzy
msgid ""
"While working on TortoiseSVN we love to listen to music. And since we spend "
"many hours on the project we need a <emphasis>lot</emphasis> of music. "
"Therefore we have set up some wish-lists with our favourite music CDs and "
"DVDs: <ulink url=\"http://tortoisesvn.tigris.org/donate.html"
"\"><citetitle>http://tortoisesvn.tigris.org/donate.html</citetitle></ulink> "
"Please also have a look at the list of people who contributed to the project "
"by sending in patches or translations."
msgstr ""
"我们很爱在做TSVN开发工作时听听音乐。也因为花了不少时候忙这个项目,我们就需要 "
"<emphasis>非常多</emphasis> 的音乐。因此我们写了一些愿望表,把我们喜欢的音乐CD"
"和DVD列在 <ulink url=\"http://tortoisesvn.tigris.org/donate.html"
"\"><citetitle>http://tortoisesvn.tigris.org/donate.html</citetitle></ulink>。"
"同时也请关注一下那些为项目提交补丁和翻译的贡献者们的愿望: )"

#. (title)
msgid "The SubWCRev Program"
msgstr "SubWCRev 程序"

#. (primary)
msgid "version extraction"
msgstr "版本抽取"

#. (primary)
msgid "SubWCRev"
msgstr "SubWCRev"

#. (primary)
msgid "COM"
msgstr "COM"

#. (primary)
#, fuzzy
msgid "version number in files"
msgstr "Subversion配置文件"

#. (para)
msgid ""
"SubWCRev is Windows console program which can be used to read the status of a "
"Subversion working copy and optionally perform keyword substitution in a "
"template file. This is often used as part of the build process as a means of "
"incorporating working copy information into the object you are building. "
"Typically it might be used to include the revision number in an <quote>About</"
"quote> box."
msgstr ""
"SubWCRev是Windows的命令行工具,可以阅读Subversion工作副本的状态,可以在模版中"
"随意执行关键字替换。这通常是构建过程的一部分,将工作副本信息结合到创建的对象当"
"中。通常情况下,可能是用来将修订版本号存入<quote>关于</quote>窗口。"

#. (title)
msgid "The SubWCRev Command Line"
msgstr "SubWCRev 命令行"

#. (para)
msgid ""
"SubWCRev reads the Subversion status of all files in a working copy, "
"excluding externals by default. It records the highest commit revision number "
"found, and the commit timestamp of that revision, It also records whether "
"there are local modifications in the working copy, or mixed update revisions. "
"The revision number, update revision range and modification status are "
"displayed on stdout."
msgstr ""
"SubWCRev阅读工作副本中所有文件的状态,缺省会忽略外部引用。它记录找到的最高修订"
"版本号,以及那个修订版本的提交时间戳,它也会记录在本地工作副本是否有修改,或混"
"合的修订版本。修订版本号码,更新修订版本范围和修改状态会显示在标准输出。"

#. (para)
msgid ""
"SubWCRev.exe is called from the command line or a script, and is controlled "
"using the command line parameters. <screen>\n"
"SubWCRev WorkingCopyPath [SrcVersionFile DstVersionFile] [-nmdfe]\n"
"</screen>"
msgstr ""
"SubWCRev.exe从命令行或脚本中运行,使用命令行参数控制。<screen>\n"
"SubWCRev WorkingCopyPath [SrcVersionFile DstVersionFile] [-nmdfe]\n"
"</screen>"

#. (para)
msgid ""
"<literal>WorkingCopyPath</literal> is the path to the working copy being "
"checked. You can only use SubWCRev on working copies, not directly on the "
"repository. The path may be absolute or relative to the current working "
"directory."
msgstr ""
"<literal>WorkingCopyPath</literal>是要检查的工作副本路径,你可以只对工作副本使"
"用SubWCRev,而不是直接对版本库,这个路径可以是绝对路径,也可以是工作目录的相对"
"路径。"

#. (para)
msgid ""
"If you want SubWCRev to perform keyword substitution, so that fields like "
"repository revision and URL are saved to a text file, you need to supply a "
"template file <literal>SrcVersionFile</literal> and an output file "
"<literal>DstVersionFile</literal> which contains the substituted version of "
"the template."
msgstr ""
"如果你想让SubWCRev执行关键字替换,象版本库版本,地址等字段保存到文本文件,就需"
"要提供一个模版文件<literal>SrcVersionFile</literal>,输出文件"
"<literal>DstVersionFile</literal>就是模版替换之后的版本。"

#. (title)
#. (title)
msgid "List of available command line switches"
msgstr "列出可用的命令行开关"

#. (entry)
#. (entry)
#. (title)
#. (glossterm)
msgid "Switch"
msgstr "切换"

#. (entry)
#. (entry)
#. (entry)
#. (entry)
#. (entry)
msgid "Description"
msgstr "描述"

#. (literal)
msgid "ERRORLEVEL 7"
msgstr "ERRORLEVEL 7"

#. (entry)
#, fuzzy
msgid ""
"If this switch is given, SubWCRev will exit with <placeholder-1/> if the "
"working copy contains local modifications. This may be used to prevent "
"building with uncommitted changes present."
msgstr ""
"如果给出这个开关,当工作副本包含本地修改时,SubWCRev 就会以ERRORLEVEL 7退出。"
"它可以用来在有未提交的修改时阻止构建。"

#. (literal)
msgid "ERRORLEVEL 8"
msgstr "ERRORLEVEL 8"

#. (entry)
#, fuzzy
msgid ""
"If this switch is given, SubWCRev will exit with <placeholder-1/> if the "
"working copy contains mixed revisions. This may be used to prevent building "
"with a partially updated working copy."
msgstr ""
"如果给出这个开关,当工作副本包含混合版本时,SubWCRev 就会以ERRORLEVEL 8退出。"
"它可以用来在部分更新本地目录时阻止构建。"

#. (literal)
msgid "ERRORLEVEL 9"
msgstr "ERRORLEVEL 9"

#. (entry)
#, fuzzy
msgid ""
"If this switch is given, SubWCRev will exit with <placeholder-1/> if the "
"destination file already exists."
msgstr "如果给出这个开关,当目的文件存在时时,SubWCRev 就会以ERRORLEVEL 9退出。"

#. (entry)
msgid ""
"If this switch is given, SubWCRev will include the last-changed revision of "
"folders. The default behaviour is to use only files when getting the revision "
"numbers."
msgstr ""
"如果给出这个开关,SubWCRev 就会包含文件夹的最后修改版本。默认行为是取得版本号"
"时只考虑文件。"

#. (literal)
msgid "svn:externals"
msgstr "svn:externals"

#. (entry)
#, fuzzy
msgid ""
"If this switch is given, SubWCRev will examine directories which are included "
"with <placeholder-1/>, but only if they are from the same repository. The "
"default behaviour is to ignore externals."
msgstr ""
"如果给出这个开关,SubWCRev 就会检查包含svn:externals的目录,但是只限于在同一版"
"本库。默认行为是忽略外部引用。"

#. (entry)
#, fuzzy
msgid ""
"If this switch is given, SubWCRev will output the revision numbers in HEX."
msgstr "如果给出这个开关,当目的文件存在时时,SubWCRev 就会以ERRORLEVEL 9退出。"

#. (entry)
#, fuzzy
msgid ""
"If this switch is given, SubWCRev will output the revision numbers in HEX, "
"with '0X' prepended."
msgstr "如果给出这个开关,当目的文件存在时时,SubWCRev 就会以ERRORLEVEL 9退出。"

#. (para)
msgid ""
"There are a number of optional switches which affect the way SubWCRev works. "
"If you use more than one, they must be specified as a single group, eg. "
"<literal>-nm</literal>, not <literal>-n -m</literal>. <placeholder-1/>"
msgstr ""
"有几个开关影响 SubWCRev工作。如果使用多个,必须用单个组指定,例如要用"
"<literal>-nm</literal>,不能用<literal>-n -m</literal>。<placeholder-1/>"

#. (title)
msgid "Keyword Substitution"
msgstr "关键字替换"

#. (entry)
msgid "Keyword"
msgstr "关键字"

#. (entry)
msgid "Replaced with the highest commit revision in the working copy."
msgstr "用工作副本中最高的提交版本来替换"

#. (literal)
msgid "yyyy-mm-dd hh:mm:ss"
msgstr "yyyy-mm-dd hh:mm:ss"

#. (literal)
msgid "strftime()"
msgstr "strftime()"

#. (literal)
msgid "$WCDATE=%a %b %d %I:%M:%S %p$"
msgstr "$WCDATE=%a %b %d %I:%M:%S %p$"

#. (citetitle)
msgid "online reference"
msgstr "在线引用"

#. (entry)
msgid ""
"Replaced with the commit date/time of the highest commit revision. By "
"default, international format is used: <placeholder-1/>. Alternatively, you "
"can specify a custom format which will be used with <placeholder-2/>, for "
"example: <placeholder-3/>. For a list of available formatting characters, "
"look at the <ulink url=\"http://www.cppreference.com/stddate/strftime.html"
"\"><placeholder-4/></ulink>."
msgstr ""
"用最高提交版本的日期/时间替换。默认使用国际化格式:<placeholder-1/>。作为选"
"择,你可以指定 <placeholder-2/> 使用自定义格式,例如:<placeholder-3/>。格式字"
"符的列表参见 <ulink url=\"http://www.cppreference.com/stddate/strftime.html"
"\"><placeholder-4/></ulink>。"

#. (literal)
#. (literal)
#. (literal)
msgid "$WCDATE$"
msgstr "$WCDATE$"

#. (entry)
#, fuzzy
msgid ""
"Replaced with the current system date/time. This can be used to indicate the "
"build time. Time formatting can be used as described for <placeholder-1/>."
msgstr ""
"用当前的系统日期/时间替换。它用来指出构建时间。同样为了避免混淆,使用国际化格"
"式。"

#. (entry)
msgid ""
"Replaced with the update revision range in the working copy. If the working "
"copy is in a consistent state, this will be a single revision. If the working "
"copy contains mixed revisions, either due to being out of date, or due to a "
"deliberate update-to-revision, then the range will be shown in the form "
"100:200"
msgstr ""
"在工作目录用更新版本范围替换。如果工作目录处于一致的状态,它是一个单一版本。如"
"果工作目录包含混合版本,或者是过时,或者是故意更新到版本,那么这个范围会用象"
"100:200这样的格式来显示。"

#. (literal)
msgid "$WCMIXED?TText:FText$"
msgstr "$WCMIXED?TText:FText$"

#. (literal)
#. (literal)
#. (literal)
#. (literal)
#. (literal)
msgid "TText"
msgstr "TText"

#. (literal)
#. (literal)
#. (literal)
#. (literal)
#. (literal)
msgid "FText"
msgstr "FText"

#. (entry)
msgid ""
"<placeholder-1/> is replaced with <placeholder-2/> if there are mixed update "
"revisions, or <placeholder-3/> if not."
msgstr ""
"当有混合版本时用 <placeholder-2/> 替换 <placeholder-1/>,否则用 <placeholder-"
"3/> 替换。"

#. (literal)
msgid "$WCMODS?TText:FText$"
msgstr "$WCMODS?TText:FText$"

#. (entry)
msgid ""
"<placeholder-1/> is replaced with <placeholder-2/> if there are local "
"modifications, or <placeholder-3/> if not."
msgstr ""
"若本地存在修改,就用 <placeholder-2/> 替换 <placeholder-1/>,否则用 "
"<placeholder-3/> 替换。"

#. (entry)
msgid ""
"Replaced with the repository URL of the working copy path passed to SubWCRev."
msgstr "用传递给SubWCRev的工作目录的版本库地址替换。"

#. (literal)
msgid "$WCINSVN?TText:FText$"
msgstr "$WCINSVN?TText:FText$"

#. (entry)
#, fuzzy
msgid ""
"<placeholder-1/> is replaced with <placeholder-2/> if the entry is versioned, "
"or <placeholder-3/> if not."
msgstr ""
"当有混合版本时用 <placeholder-2/> 替换 <placeholder-1/>,否则用 <placeholder-"
"3/> 替换。"

#. (literal)
msgid "$WCNEEDSLOCK?TText:FText$"
msgstr "$WCNEEDSLOCK?TText:FText$"

#. (literal)
#. (literal)
msgid "svn:needs-lock"
msgstr ""

#. (entry)
#, fuzzy
msgid ""
"<placeholder-1/> is replaced with <placeholder-2/> if the entry has the "
"<placeholder-3/> property set, or <placeholder-4/> if not."
msgstr ""
"若本地存在修改,就用 <placeholder-2/> 替换 <placeholder-1/>,否则用 "
"<placeholder-3/> 替换。"

#. (literal)
msgid "$WCISLOCKED?TText:FText$"
msgstr "$WCISLOCKED?TText:FText$"

#. (entry)
#, fuzzy
msgid ""
"<placeholder-1/> is replaced with <placeholder-2/> if the entry is locked, or "
"<placeholder-3/> if not."
msgstr ""
"若本地存在修改,就用 <placeholder-2/> 替换 <placeholder-1/>,否则用 "
"<placeholder-3/> 替换。"

#. (entry)
msgid ""
"Replaced with the lock date. Time formatting can be used as described for "
"<placeholder-1/>."
msgstr ""

#. (entry)
#, fuzzy
msgid "Replaced with the name of the lock owner."
msgstr "用工作副本中最高的提交版本来替换"

#. (entry)
#, fuzzy
msgid "Replaced with the comment of the lock."
msgstr "用工作副本中最高的提交版本来替换"

#. (para)
msgid ""
"If a source and destination files are supplied, SubWCRev copies source to "
"destination, performing keyword substitution as follows: <placeholder-1/>"
msgstr ""
"如果提供了源文件和目的文件,SubWCRev 会复制源文件到目标文件,执行如下所属的关"
"键字替换: <placeholder-1/>"

#. (title)
msgid "Keyword Example"
msgstr "关键字例子"

#. (para)
msgid ""
"The example below shows how keywords in a template file are substituted in "
"the output file."
msgstr "下面的例子显示了模版文件中的关键字是如何在输出文件中被替换的。"

#. (programlisting)
#, no-wrap
msgid ""
"\n"
"// Test file for SubWCRev: testfile.tmpl\n"
"\n"
"char *Revision = \"$WCREV$\";\n"
"char *Modified = \"$WCMODS?Modified:Not modified$\";\n"
"char *Date = \"$WCDATE$\";\n"
"char *Range = \"$WCRANGE$\";\n"
"char *Mixed = \"$WCMIXED?Mixed revision WC:Not mixed$\";\n"
"char *URL = \"$WCURL$\";\n"
"\n"
"#if $WCMODS?1:0$\n"
"#error Source is modified\n"
"#endif\n"
"\n"
"// End of file\n"
msgstr ""
"\n"
"// Test file for SubWCRev: testfile.tmpl\n"
"\n"
"char *Revision = \"$WCREV$\";\n"
"char *Modified = \"$WCMODS?Modified:Not modified$\";\n"
"char *Date = \"$WCDATE$\";\n"
"char *Range = \"$WCRANGE$\";\n"
"char *Mixed = \"$WCMIXED?Mixed revision WC:Not mixed$\";\n"
"char *URL = \"$WCURL$\";\n"
"\n"
"#if $WCMODS?1:0$\n"
"#error Source is modified\n"
"#endif\n"
"\n"
"// End of file\n"

#. (para)
msgid ""
"After running <literal>SubWCRev.exe path\\to\\workingcopy testfile.tmpl "
"testfile.txt</literal>, the output file <literal>testfile.txt</literal> would "
"looks like this:"
msgstr ""

#. (programlisting)
#, fuzzy, no-wrap
msgid ""
"\n"
"// Test file for SubWCRev: testfile.txt\n"
"\n"
"char *Revision = \"3701\";\n"
"char *Modified = \"Modified\";\n"
"char *Date = \"2005/06/15 11:15:12\";\n"
"char *Range = \"3699:3701\";\n"
"char *Mixed = \"Mixed revision WC\";\n"
"char *URL = \"http://project.domain.org/svn/trunk/src\";\n"
"\n"
"#if 1\n"
"#error Source is modified\n"
"#endif\n"
"\n"
"// End of file\n"
msgstr ""
"\n"
"// Test file for SubWCRev: testfile.txt\n"
"\n"
"char *Revision = \"3701\";\n"
"char *Modified = \"Modified\";\n"
"char *Date = \"2005/06/15 11:15:12\";\n"
"char *Range = \"3699:3701\";\n"
"char *Mixed = \"Mixed revision WC\";\n"
"char *URL = \"http://tortoisesvn.tigris.org/svn/tortoisesvn/...\n"
"trunk/src/SubWCRev\";\n"
"\n"
"#if 1\n"
"#error Source is modified\n"
"#endif\n"
"\n"
"// End of file\n"

#. (para)
msgid ""
"A file like this will be included in the build so you would expect it to be "
"versioned. Be sure to version the template file, not the generated file, "
"otherwise each time you regenerate the version file you need to commit the "
"change, which in turn means the version file needs to be updated."
msgstr ""

#. (title)
msgid "COM interface"
msgstr "COM 接口"

#. (primary)
msgid "COM SubWCRev interface"
msgstr "SubWCRev 的 COM 接口"

#. (title)
msgid "COM/automation methods supported"
msgstr "支持 COM/自动化 方法"

#. (entry)
msgid "Method"
msgstr "方法"

#. (literal)
msgid "-f"
msgstr "-f"

#. (literal)
msgid "-e"
msgstr "-e"

#. (entry)
msgid ""
"This method traverses the working copy gathering the revision information. "
"Naturally you must call this before you can access the information using the "
"remaining methods. The first parameter is the path. The second parameter "
"should be true if you want to include folder revisions. Equivalent to the "
"<placeholder-1/> command line switch. The third parameter should be true if "
"you want to include svn:externals. Equivalent to the <placeholder-2/> command "
"line switch."
msgstr ""

#. (literal)
msgid "$WCREV$"
msgstr "$WCREV$"

#. (entry)
msgid ""
"The highest commit revision in the working copy. Equivalent to <placeholder-1/"
">"
msgstr "工作副本中的最高提交版本。等价于 <placeholder-1/>"

#. (entry)
msgid ""
"The commit date/time of the highest commit revision. Equivalent to "
"<placeholder-1/>"
msgstr "最高提交版本的提交日期/时间。等价于 <placeholder-1/>"

#. (entry)
msgid ""
"The author of the highest commit revision, that is, the last person to commit "
"changes to the working copy."
msgstr "最高提交版本的作者,也就是工作副本中最后提交修改的人。"

#. (literal)
#. (literal)
msgid "$WCRANGE$"
msgstr "$WCRANGE$"

#. (entry)
msgid "The minimum update revision, as shown in <placeholder-1/>"
msgstr "最小的更新版本,在 <placeholder-1/> 中描述"

#. (entry)
msgid "The maximum update revision, as shown in <placeholder-1/>"
msgstr "最大的更新版本,在 <placeholder-1/> 中描述"

#. (entry)
msgid "True if there are local modifications"
msgstr "若本地存在修改,就为真"

#. (literal)
msgid "GetWCInfo"
msgstr "GetWCInfo"

#. (literal)
msgid "$WCURL$"
msgstr "$WCURL$"

#. (entry)
msgid ""
"Replaced with the repository URL of the working copy path used in "
"<placeholder-1/>. Equivalent to <placeholder-2/>"
msgstr ""
"在 <placeholder-1/> 中使用,用工作副本的版本库之 URL 替换。等价于 "
"<placeholder-2/>"

#. (entry)
msgid "True if the item is versioned."
msgstr ""

#. (entry)
#, fuzzy
msgid "True if the item has the <placeholder-1/> property set."
msgstr "将<placeholder-1/>的文件添加到版本控制 。"

#. (entry)
msgid "True if the item is locked."
msgstr ""

#. (entry)
msgid ""
"String representing the date when the lock was created, or an empty string if "
"the item is not locked."
msgstr ""

#. (entry)
msgid ""
"String representing the lock owner, or an empty string if the item is not "
"locked."
msgstr ""

#. (entry)
msgid "The message entered when the lock was created."
msgstr ""

#. (para)
msgid ""
"If you need to access Subversion revision information from other programs, "
"you can use the COM interface of SubWCRev. The object to create is "
"<literal>SubWCRev.object</literal>, and the following methods are supported: "
"<placeholder-1/>"
msgstr ""
"如果你需要在其它程序中访问 Subversion 版本信息,可以使用 SubWCRev 的 COM 接"
"口。创建的对象名称是 <literal>SubWCRev.object</literal>,支持下述方法:"
"<placeholder-1/>"

#. (programlisting)
#, fuzzy, no-wrap
msgid ""
"\n"
"// testCOM.js - javascript file\n"
"// test script for the SubWCRev COM/Automation-object\n"
"\n"
"filesystem = new ActiveXObject(\"Scripting.FileSystemObject\");\n"
"\n"
"revObject1 = new ActiveXObject(\"SubWCRev.object\");\n"
"revObject2 = new ActiveXObject(\"SubWCRev.object\");\n"
"revObject3 = new ActiveXObject(\"SubWCRev.object\");\n"
"revObject4 = new ActiveXObject(\"SubWCRev.object\");\n"
"\n"
"revObject1.GetWCInfo(\n"
" filesystem.GetAbsolutePathName(\".\"), 1, 1);\n"
"revObject2.GetWCInfo(\n"
" filesystem.GetAbsolutePathName(\"..\"), 1, 1);\n"
"revObject3.GetWCInfo(\n"
" filesystem.GetAbsolutePathName(\"SubWCRev.cpp\"), 1, 1);\n"
"revObject4.GetWCInfo(\n"
" filesystem.GetAbsolutePathName(\"..\\\\..\"), 1, 1);\n"
"\n"
"wcInfoString1 = \"Revision = \" + revObject1.Revision + \n"
"\t\t\t\t\"\\nMin Revision = \" + revObject1.MinRev + \n"
"\t\t\t\t\"\\nMax Revision = \" + revObject1.MaxRev + \n"
"\t\t\t\t\"\\nDate = \" + revObject1.Date + \n"
"\t\t\t\t\"\\nURL = \" + revObject1.Url + \"\\nAuthor = \" + \n"
"\t\t\t\trevObject1.Author + \"\\nHasMods = \" + \n"
"\t\t\t\trevObject1.HasModifications + \"\\nIsSvnItem = \" + \n"
"\t\t\t\trevObject1.IsSvnItem + \"\\nNeedsLocking = \" + \n"
"\t\t\t\trevObject1.NeedsLocking + \"\\nIsLocked = \" + \n"
"\t\t\t\trevObject1.IsLocked + \"\\nLockCreationDate = \" + \n"
"\t\t\t\trevObject1.LockCreationDate + \"\\nLockOwner = \" + \n"
"\t\t\t\trevObject1.LockOwner + \"\\nLockComment = \" + \n"
"\t\t\t\trevObject1.LockComment;\n"
"wcInfoString2 = \"Revision = \" + revObject2.Revision + \n"
"\t\t\t\t\"\\nMin Revision = \" + revObject2.MinRev + \n"
"\t\t\t\t\"\\nMax Revision = \" + revObject2.MaxRev + \n"
"\t\t\t\t\"\\nDate = \" + revObject2.Date + \n"
"\t\t\t\t\"\\nURL = \" + revObject2.Url + \"\\nAuthor = \" + \n"
"\t\t\t\trevObject2.Author + \"\\nHasMods = \" + \n"
"\t\t\t\trevObject2.HasModifications + \"\\nIsSvnItem = \" + \n"
"\t\t\t\trevObject2.IsSvnItem + \"\\nNeedsLocking = \" + \n"
"\t\t\t\trevObject2.NeedsLocking + \"\\nIsLocked = \" + \n"
"\t\t\t\trevObject2.IsLocked + \"\\nLockCreationDate = \" + \n"
"\t\t\t\trevObject2.LockCreationDate + \"\\nLockOwner = \" + \n"
"\t\t\t\trevObject2.LockOwner + \"\\nLockComment = \" + \n"
"\t\t\t\trevObject2.LockComment;\n"
"wcInfoString3 = \"Revision = \" + revObject3.Revision + \n"
"\t\t\t\t\"\\nMin Revision = \" + revObject3.MinRev + \n"
"\t\t\t\t\"\\nMax Revision = \" + revObject3.MaxRev + \n"
"\t\t\t\t\"\\nDate = \" + revObject3.Date + \n"
"\t\t\t\t\"\\nURL = \" + revObject3.Url + \"\\nAuthor = \" + \n"
"\t\t\t\trevObject3.Author + \"\\nHasMods = \" + \n"
"\t\t\t\trevObject3.HasModifications + \"\\nIsSvnItem = \" + \n"
"\t\t\t\trevObject3.IsSvnItem + \"\\nNeedsLocking = \" + \n"
"\t\t\t\trevObject3.NeedsLocking + \"\\nIsLocked = \" + \n"
"\t\t\t\trevObject3.IsLocked + \"\\nLockCreationDate = \" + \n"
"\t\t\t\trevObject3.LockCreationDate + \"\\nLockOwner = \" + \n"
"\t\t\t\trevObject3.LockOwner + \"\\nLockComment = \" + \n"
"\t\t\t\trevObject3.LockComment;\n"
"wcInfoString4 = \"Revision = \" + revObject4.Revision + \n"
"\t\t\t\t\"\\nMin Revision = \" + revObject4.MinRev + \n"
"\t\t\t\t\"\\nMax Revision = \" + revObject4.MaxRev + \n"
"\t\t\t\t\"\\nDate = \" + revObject4.Date + \n"
"\t\t\t\t\"\\nURL = \" + revObject4.Url + \"\\nAuthor = \" + \n"
"\t\t\t\trevObject4.Author + \"\\nHasMods = \" + \n"
"\t\t\t\trevObject4.HasModifications + \"\\nIsSvnItem = \" + \n"
"\t\t\t\trevObject4.IsSvnItem + \"\\nNeedsLocking = \" + \n"
"\t\t\t\trevObject4.NeedsLocking + \"\\nIsLocked = \" + \n"
"\t\t\t\trevObject4.IsLocked + \"\\nLockCreationDate = \" + \n"
"\t\t\t\trevObject4.LockCreationDate + \"\\nLockOwner = \" + \n"
"\t\t\t\trevObject4.LockOwner + \"\\nLockComment = \" + \n"
"\t\t\t\trevObject4.LockComment;\n"
"\n"
"WScript.Echo(wcInfoString1);\n"
"WScript.Echo(wcInfoString2);\n"
"WScript.Echo(wcInfoString3);\n"
"WScript.Echo(wcInfoString4);\n"
"\n"
msgstr ""
"\n"
"// testCOM.js - javascript file\n"
"// test script for the SubWCRev COM/Automation-object\n"
"\n"
"filesystem = new ActiveXObject(\"Scripting.FileSystemObject\");\n"
"\n"
"subwcrevObject1 = new ActiveXObject(\"SubWCRev.object\");\n"
"subwcrevObject2 = new ActiveXObject(\"SubWCRev.object\");\n"
"subwcrevObject3 = new ActiveXObject(\"SubWCRev.object\");\n"
"subwcrevObject4 = new ActiveXObject(\"SubWCRev.object\");\n"
"\n"
"subwcrevObject1.GetWCInfo(filesystem.GetAbsolutePathName(\".\"), 1, 1);\n"
"subwcrevObject2.GetWCInfo(filesystem.GetAbsolutePathName(\"..\"), 1, 1);\n"
"subwcrevObject3.GetWCInfo(filesystem.GetAbsolutePathName(\"SubWCRev.cpp\"), 1, 1);\n"
"subwcrevObject4.GetWCInfo(filesystem.GetAbsolutePathName(\"..\\\\..\"), 1, 1);\n"
"\n"
"wcInfoString1 = \"Revision = \" + subwcrevObject1.Revision + \n"
"\t\t\t\t\"\\nMin Revision = \" + subwcrevObject1.MinRev + \n"
"\t\t\t\t\"\\nMax Revision = \" + subwcrevObject1.MaxRev + \n"
"\t\t\t\t\"\\nDate = \" + subwcrevObject1.Date + \n"
"\t\t\t\t\"\\nURL = \" + subwcrevObject1.Url + \"\\nAuthor = \" + \n"
"\t\t\t\tsubwcrevObject1.Author + \"\\nHasMods = \" + \n"
"\t\t\t\tsubwcrevObject1.HasModifications + \"\\nIsSvnItem = \" + \n"
"\t\t\t\tsubwcrevObject1.IsSvnItem + \"\\nNeedsLocking = \" + \n"
"\t\t\t\tsubwcrevObject1.NeedsLocking + \"\\nIsLocked = \" + \n"
"\t\t\t\tsubwcrevObject1.IsLocked + \"\\nLockCreationDate = \" + \n"
"\t\t\t\tsubwcrevObject1.LockCreationDate + \"\\nLockOwner = \" + \n"
"\t\t\t\tsubwcrevObject1.LockOwner + \"\\nLockComment = \" + \n"
"\t\t\t\tsubwcrevObject1.LockComment;\n"
"wcInfoString2 = \"Revision = \" + subwcrevObject2.Revision + \n"
"\t\t\t\t\"\\nMin Revision = \" + subwcrevObject2.MinRev + \n"
"\t\t\t\t\"\\nMax Revision = \" + subwcrevObject2.MaxRev + \n"
"\t\t\t\t\"\\nDate = \" + subwcrevObject2.Date + \n"
"\t\t\t\t\"\\nURL = \" + subwcrevObject2.Url + \"\\nAuthor = \" + \n"
"\t\t\t\tsubwcrevObject2.Author + \"\\nHasMods = \" + \n"
"\t\t\t\tsubwcrevObject2.HasModifications + \"\\nIsSvnItem = \" + \n"
"\t\t\t\tsubwcrevObject2.IsSvnItem + \"\\nNeedsLocking = \" + \n"
"\t\t\t\tsubwcrevObject2.NeedsLocking + \"\\nIsLocked = \" + \n"
"\t\t\t\tsubwcrevObject2.IsLocked + \"\\nLockCreationDate = \" + \n"
"\t\t\t\tsubwcrevObject2.LockCreationDate + \"\\nLockOwner = \" + \n"
"\t\t\t\tsubwcrevObject2.LockOwner + \"\\nLockComment = \" + \n"
"\t\t\t\tsubwcrevObject2.LockComment;\n"
"wcInfoString3 = \"Revision = \" + subwcrevObject3.Revision + \n"
"\t\t\t\t\"\\nMin Revision = \" + subwcrevObject3.MinRev + \n"
"\t\t\t\t\"\\nMax Revision = \" + subwcrevObject3.MaxRev + \n"
"\t\t\t\t\"\\nDate = \" + subwcrevObject3.Date + \n"
"\t\t\t\t\"\\nURL = \" + subwcrevObject3.Url + \"\\nAuthor = \" + \n"
"\t\t\t\tsubwcrevObject3.Author + \"\\nHasMods = \" + \n"
"\t\t\t\tsubwcrevObject3.HasModifications + \"\\nIsSvnItem = \" + \n"
"\t\t\t\tsubwcrevObject3.IsSvnItem + \"\\nNeedsLocking = \" + \n"
"\t\t\t\tsubwcrevObject3.NeedsLocking + \"\\nIsLocked = \" + \n"
"\t\t\t\tsubwcrevObject3.IsLocked + \"\\nLockCreationDate = \" + \n"
"\t\t\t\tsubwcrevObject3.LockCreationDate + \"\\nLockOwner = \" + \n"
"\t\t\t\tsubwcrevObject3.LockOwner + \"\\nLockComment = \" + \n"
"\t\t\t\tsubwcrevObject3.LockComment;\n"
"wcInfoString4 = \"Revision = \" + subwcrevObject4.Revision + \n"
"\t\t\t\t\"\\nMin Revision = \" + subwcrevObject4.MinRev + \n"
"\t\t\t\t\"\\nMax Revision = \" + subwcrevObject4.MaxRev + \n"
"\t\t\t\t\"\\nDate = \" + subwcrevObject4.Date + \n"
"\t\t\t\t\"\\nURL = \" + subwcrevObject4.Url + \"\\nAuthor = \" + \n"
"\t\t\t\tsubwcrevObject4.Author + \"\\nHasMods = \" + \n"
"\t\t\t\tsubwcrevObject4.HasModifications + \"\\nIsSvnItem = \" + \n"
"\t\t\t\tsubwcrevObject4.IsSvnItem + \"\\nNeedsLocking = \" + \n"
"\t\t\t\tsubwcrevObject4.NeedsLocking + \"\\nIsLocked = \" + \n"
"\t\t\t\tsubwcrevObject4.IsLocked + \"\\nLockCreationDate = \" + \n"
"\t\t\t\tsubwcrevObject4.LockCreationDate + \"\\nLockOwner = \" + \n"
"\t\t\t\tsubwcrevObject4.LockOwner + \"\\nLockComment = \" + \n"
"\t\t\t\tsubwcrevObject4.LockComment;\n"
"\n"
"WScript.Echo(wcInfoString1);\n"
"WScript.Echo(wcInfoString2);\n"
"WScript.Echo(wcInfoString3);\n"
"WScript.Echo(wcInfoString4);\n"
"\n"

#. (para)
msgid ""
"The following example shows how the interface might be used. <placeholder-1/>"
msgstr "下述例子显示了如何使用接口。<placeholder-1/>"

#. (title)
msgid "Frequently Asked Questions (FAQ)"
msgstr "常见问题(FAQ)"

#. (primary)
msgid "FAQ"
msgstr "常见问题解答"

#. (para)
#, fuzzy
msgid ""
"Because TortoiseSVN is being developed all the time it is sometimes hard to "
"keep the documentation completely up to date. We maintain an <ulink url="
"\"http://tortoisesvn.tigris.org/faq.html\"><citetitle>online FAQ</citetitle></"
"ulink> which contains a selection of the questions we are asked the most on "
"the TortoiseSVN mailing lists <email>dev_at_tortoisesvn.tigris.org</email> and "
"<email>users_at_tortoisesvn.tigris.org</email>."
msgstr ""
"因为TortoiseSVN一直处于开发状态,所以有时很难保持文档完全是最新的。我们在"
"<ulink url=\"http://tortoisesvn.net/faq\">维护了一份<citetitle>交互式的在线"
"FAQ</citetitle></ulink>。那里面包括了TortoiseSVN邮件列表"
"<email>dev_at_tortoisesvn.tigris.org</email>里最常被问到的问题。"

#. (para)
#, fuzzy
msgid ""
"We also maintain a project <ulink url=\"http://issues.tortoisesvn.net"
"\"><citetitle>Issue Tracker</citetitle></ulink> which tells you about some of "
"the things we have on our To-Do list, and bugs which have already been fixed. "
"If you think you have found a bug, or want to request a new feature, check "
"here first to see if someone else got there before you."
msgstr ""
"我们还在<ulink url=\"http://issues.tortoisesvn.net\">维护了一个<citetitle>项目"
"问题跟踪系统</citetitle></ulink>。在那里面可以查到哪些功能已经被加到了我们的"
"To Do列表里,哪些错误已经被修正了。如果你认为发现了一个错误,或者需要一个新功"
"能,请先到那里看看是否其他人已经在你之前提出过相同的内容了。"

#. (para)
msgid ""
"If you have a question which is not answered anywhere else, the best place to "
"ask it is on one of the mailing lists. <email>users_at_tortoisesvn.tigris.org</"
"email> is the one to use if you have questions about using TortoiseSVN. If "
"you want to help out with the development of TortoiseSVN, then you should "
"take part in discussions on <email>dev_at_tortoisesvn.tigris.org</email>."
msgstr ""

#. (title)
msgid "How Do I..."
msgstr "如何实现 …"

#. (para)
msgid ""
"This appendix contains solutions to problems/questions you might have when "
"using TortoiseSVN."
msgstr "这个附录包括了 TortoiseSVN 使用中可能碰到的一些困难或疑问的解决方法。"

#. (title)
msgid "Move/copy a lot of files at once"
msgstr "一次移动或复制多个文件"

#. (primary)
msgid "moving"
msgstr "移动"

#. (primary)
msgid "reorganize"
msgstr ""

#. (para)
msgid ""
"Moving/Copying single files can be done by using "
"<menuchoice><guimenu>TortoiseSVN</guimenu><guimenuitem>Rename...</"
"guimenuitem></menuchoice>. But if you want to move/copy a lot of files, this "
"way is just too slow and too much work."
msgstr ""
"移动或复制单个文件可以通过 <menuchoice><guimenu>TortoiseSVN</"
"guimenu><guimenuitem> 重命名…</guimenuitem></menuchoice>实现。但是如果想移动或"
"复制很多文件,这种方法就显得太慢而且工作量太大了。"

#. (para)
#, fuzzy
msgid ""
"The recommended way is by <action>right-dragging</action> the files to the "
"new location. Simply <action>right-click</action> on the files you want to "
"move/copy without releasing the mouse button. Then drag the files to the new "
"location and release the mouse button. A context menu will appear where you "
"can either choose <menuchoice><guimenu>Context Menu</guimenu><guimenuitem>SVN "
"Copy versioned files here</guimenuitem></menuchoice>. or "
"<menuchoice><guimenu>Context Menu</guimenu><guimenuitem>SVN Move versioned "
"files here</guimenuitem></menuchoice>."
msgstr ""
"推荐的方法是: 用鼠标<action>右键拖拽</action>这些文件到新的位置。就是用鼠标"
"<action>右键选中</action>想要移动或复制的文件,不要释放鼠标右键。把选中的文件"
"拖拽到新的位置后释放鼠标右键。在出现的右键菜单里可以选择<menuchoice><guimenu>"
"右键菜单</guimenu><guimenuitem>SVN 复制版本控制文件到当前位置</guimenuitem></"
"menuchoice>或<menuchoice><guimenu>右键菜单</guimenu><guimenuitem>SVN 移动版本"
"控制文件到当前位置</guimenuitem></menuchoice>。"

#. (title)
msgid "Force users to enter a log message"
msgstr "强制用户写日志"

#. (primary)
msgid "log message"
msgstr "日志信息"

#. (primary)
msgid "commit message"
msgstr "提交信息"

#. (primary)
msgid "empty message"
msgstr "空信息"

#. (para)
msgid ""
"There are two ways to prevent users from committing with an empty log "
"message. One is specific to TortoiseSVN, the other works for all Subversion "
"clients, but requires access to the server directly."
msgstr ""
"有两种方法可以防止用户在不写日志的情况下进行提交操作。一种方式只对TortoiseSVN"
"有效,另外一种方法对任何Subversion的客户端都有效,但是需要直接访问服务器。"

#. (title)
msgid "Hook-script on the server"
msgstr "服务器端的钩子脚本(Hook-script)"

#. (para)
msgid ""
"If you have direct access to the repository server, you can install a pre-"
"commit hook script which rejects all commits with an empty or too short log "
"message."
msgstr ""
"如果能够直接访问服务器,可以安装一个pre-commit钩子脚本,通过这个脚本可以阻止所"
"有空白日志或者日志太简短的提交操作。"

#. (para)
#, fuzzy
msgid ""
"In the repository folder on the server, there's a sub-folder <filename>hooks</"
"filename> which contains some example hook scripts you can use. The file "
"<filename>pre-commit.tmpl</filename> contains a sample script which will "
"reject commits if no log message is supplied, or the message is too short. "
"The file also contains comments on how to install/use this script. Just "
"follow the instructions in that file."
msgstr ""
"在服务器端的版本库目录下有一个<filename>hooks</filename>子目录,这个子目录下有"
"一些钩子脚本的例子。在 <filename>pre-commit.tmpl</filename> 这个例子里,示范了"
"当日志是空白或者过于简短的时候如何拒绝提交。这个例子的注释里包括了安装和使用这"
"个脚本的说明,按照那里面的指示做就能够使用了。"

#. (para)
msgid ""
"This method is the recommended way if your users also use other Subversion "
"clients than TortoiseSVN. The drawback is that the commit is rejected by the "
"server and therefore users will get an error message. The client can't know "
"before the commit that it will be rejected. If you want to make TortoiseSVN "
"have the <guibutton>OK</guibutton> button disabled until the log message is "
"long enough then please use the method described below."
msgstr ""
"除了TortoiseSVN,如果还要同时使用其他的Subversion客户端,推荐使用这种方法。缺"
"点是提交是被服务器端拒绝的,因此用户会看到一个错误消息。客户端无法在提交之前就"
"知道会被拒绝。如果希望在日志的内容达到足够长之前,TortoiseSVN 的 "
"<guibutton>OK</guibutton> 按钮处于无效的状态,请使用下面的方法。"

#. (title)
msgid "Project properties"
msgstr "工程(Project)属性"

#. (para)
msgid ""
"TortoiseSVN uses properties to control some of its features. One of those "
"properties is the <literal>tsvn:logminsize</literal> property."
msgstr ""
"TortoiseSVN 使用属性来控制它的一些特性。这其中有一个 <literal>tsvn:"
"logminsize</literal> 属性。"

#. (para)
msgid ""
"If you set that property on a folder, then TortoiseSVN will disable the "
"<guibutton>OK</guibutton> button in all commit dialogs until the user has "
"entered a log message with at least the length specified in the property."
msgstr ""
"如果给一个文件夹设置了这个属性,在提交对话框里的日志信息达到属性里定义的长度之"
"前,提交对话框的 <guibutton>OK</guibutton> 按钮会处于无效状态。"

#. (para)
msgid ""
"For detailed information on those project properties, please refer to <xref "
"linkend=\"tsvn-dug-propertypage\"/>"
msgstr ""
"关于工程属性的具体信息,请参照 <xref linkend=\"tsvn-dug-propertypage\"/>"

#. (title)
msgid "Update selected files from the repository"
msgstr "从版本库里更新选定的文件到本地"

#. (para)
msgid ""
"Normally you update your working copy using <menuchoice><guimenu>TortoiseSVN</"
"guimenu><guimenuitem>Update</guimenuitem></menuchoice>. But if you only want "
"to pick up some new files that a colleague has added without merging in any "
"changes to other files at the same time, you need a different approach."
msgstr ""
"通常,我们可以使用<menuchoice><guimenu>TortoiseSVN</guimenu><guimenuitem>更新"
"</guimenuitem></menuchoice>把工作副本更新到最新版。但是,如果只想更新某位同事"
"添加的文件,而保留工作副本里其他文件的状态,就必须使用其它的方法。"

#. (para)
msgid ""
"Use <menuchoice><guimenu>TortoiseSVN</guimenu><guimenuitem>Check for "
"Modifications</guimenuitem></menuchoice>. and click on <guibutton>Check "
"repository</guibutton> to see what has changed in the repository. Select the "
"files you want to update locally, then use the context menu to update just "
"those files."
msgstr ""
"选择<menuchoice><guimenu>TortoiseSVN</guimenu><guimenuitem>查看更新</"
"guimenuitem></menuchoice>,然后点击<guibutton>查看版本库</guibutton>按钮,就能"
"够看到上次更新以后版本库里发生了哪些变化。选中想更新到本地的文件,然后用右键菜"
"单更新这些文件。"

#. (title)
#, fuzzy
msgid "Roll back (Undo) revisions in the repository"
msgstr "回滚版本库里的版本"

#. (primary)
msgid "rollback"
msgstr "回滚"

#. (primary)
msgid "undo commit"
msgstr "撤销提交"

#. (primary)
msgid "undo change"
msgstr "撤消更改"

#. (title)
msgid "Use the revision log dialog"
msgstr "使用版本日志对话框"

#. (para)
msgid ""
"The easiest way to revert the changes from a single revision, or from a range "
"of revisions, is to use the revision log dialog. This is also the method to "
"use of you want to discard recent changes and make an earlier revision the "
"new HEAD."
msgstr ""
"如果想恢复某个版本或者版本范围的变更,最简单的方法是使用版本日志对话框。这种方"
"法也可以用来撤销最近的若干次变更,把以前的某个版本变成最新版。"

#. (para)
msgid ""
"Select the file or folder in which you need to revert the changes. If you "
"want to revert all changes, this should be the top level folder."
msgstr ""
"选中想要恢复变更的文件或者文件夹。如果想要恢复所有的变更,需要选中最顶层的文件"
"夹。"

#. (para)
#, fuzzy
msgid ""
"Select <menuchoice><guimenu>TortoiseSVN</guimenu><guimenuitem>Show Log</"
"guimenuitem></menuchoice> to display a list of revisions. You may need to use "
"<guibutton>Show All</guibutton> or <guibutton>Next 100</guibutton> to show "
"the revision(s) you are interested in."
msgstr ""
"选择<menuchoice><guimenu>TortoiseSVN</guimenu><guimenuitem>显示日志</"
"guimenuitem></menuchoice>,显示出版本列表。有可能需要使用<guibutton>全部显示</"
"guibutton>或者<guibutton>下100</guibutton> 按钮,把想要恢复的版本显示出来。"

#. (para)
#, fuzzy
msgid ""
"Select the revision you wish to revert. If you want to undo a range of "
"revisions, select the first one and hold the <keycap>Shift</keycap> key while "
"selecting the last one. Note that for multiple revisions, the range must be "
"unbroken with no gaps. <action>Right click</action> on the selected revision"
"(s), then select <menuchoice><guimenu>Context Menu</"
"guimenu><guimenuitem>Revert changes from this revision</guimenuitem></"
"menuchoice>."
msgstr ""
"选中想要恢复的版本。如果想要恢复一个版本范围,选中想要恢复的第一个版本,按住"
"shift键,然后选中想要恢复的最后一个版本。注意,当恢复多个版本的时候,这些版本"
"必须在列表中是连续的。用鼠标<action>右键点击</action>选中的版本(段),然后选择"
"<menuchoice><guimenu>右键菜单</guimenu><guimenuitem>恢复这些版本的变更</"
"guimenuitem></menuchoice>。"

#. (para)
#, fuzzy
msgid ""
"Or if you want to make an earlier revision the new HEAD revision, "
"<action>right click</action> on the selected revision, then select "
"<menuchoice><guimenu>Context Menu</guimenu><guimenuitem>Revert to this "
"revision</guimenuitem></menuchoice>. This will discard <emphasis>all</"
"emphasis> changes after the selected revision."
msgstr ""
"如果想要把以前的某个版本变成最新版本,<action>右键点击</action>选中的版本(范"
"围),然后选择<menuchoice><guimenu>右键菜单</guimenu><guimenuitem>恢复到此版本"
"</guimenuitem></menuchoice>。就能够撤销被选中版本后面<emphasis>所有</emphasis>"
"的变更。"

#. (para)
#. (para)
msgid ""
"You have reverted the changes within your working copy. Check the results, "
"then commit the changes."
msgstr "工作副本已经恢复到了变更以前的状态。检查恢复后的结果,然后提交变更。"

#. (title)
msgid "Use the merge dialog"
msgstr "使用合并对话框"

#. (para)
msgid ""
"To undo a larger range of revisions, you can use the Merge dialog. The "
"previous method uses merging behind the scenes; this method uses it "
"explicitly."
msgstr ""
"如果要撤销更大版本范围的变更,可以使用合并对话框。上一个方法在后台使用了合并的"
"机制,在这个方法里我们直接使用合并功能。"

#. (para)
msgid ""
"In your working copy select <menuchoice><guimenu>TortoiseSVN</"
"guimenu><guimenuitem>Merge</guimenuitem></menuchoice>."
msgstr ""
"在工作副本上选择<menuchoice><guimenu>TortoiseSVN</guimenu><guimenuitem>合并</"
"guimenuitem></menuchoice>。"

#. (para)
#, fuzzy
msgid ""
"In the <guilabel>From:</guilabel> field enter the full folder URL of the "
"branch or tag containing the changes you want to revert in your working copy. "
"This should come up as the default URL."
msgstr ""
"在<guilabel>起始: </guilabel>文本框里输入想要恢复的变更所在的分支或标签的URL。"
"它也将作为默认URL。"

#. (para)
msgid ""
"In the <guilabel>From Revision</guilabel> field enter the revision number "
"that you are currently at. If you are sure there is no-one else making "
"changes, you can use the HEAD revision."
msgstr ""
"在<guilabel>起始版本</guilabel>文本框里输入当前工作副本的版本号。如果能够保证"
"没有其他人会提交变更,可以使用<guilabel>最新版本</guilabel>。"

#. (para)
msgid ""
"make sure the <guilabel>Use \"From:\" URL</guilabel> checkbox is checked."
msgstr "确认<guilabel>使用“起始: ”的 URL</guilabel>检查框处于被选中的状态。"

#. (para)
#, fuzzy
msgid ""
"In the <guilabel>To Revision</guilabel> field enter the revision number that "
"you want to revert to, namely the one <emphasis>before</emphasis> the first "
"revision to be reverted."
msgstr ""
"在<guilabel>结束版本</guilabel>里输入想要恢复到的版本号。比如,想要恢复的最小"
"版本号的<emphasis>前</emphasis>一个版本号。"

#. (para)
msgid "Click <guibutton>OK</guibutton> to complete the merge."
msgstr "点击<guibutton>合并</guibutton>按钮完成合并。"

#. (title)
msgid "Use <literal>svndumpfilter</literal>"
msgstr "使用 <literal>svndumpfilter</literal>"

#. (para)
msgid ""
"Since TortoiseSVN never loses data, your <quote>rolled back</quote> revisions "
"still exist as intermediate revisions in the repository. Only the HEAD "
"revision was changed to a previous state. If you want to make revisions "
"disappear completely from your repository, erasing all trace that they ever "
"existed, you have to use more extreme measures. Unless there is a really good "
"reason to do this, it is <emphasis>not recommended</emphasis>. One possible "
"reason would be that someone committed a confidential document to a public "
"repository."
msgstr ""
"因为TortoiseSVN绝不会丢弃数据,所以那些被回滚的版本仍然以中间版本的形式被保留"
"在版本库里。只是最新版本已经回到了以前的状态。如果想让版本库里的某些版本彻底消"
"失,擦去这些版本曾经存在过的所有痕迹,就必须采取更极端的手段。<emphasis>不推荐"
"</emphasis>使用这种方法,除非有很好的理由。比如某人向一个公开的版本库里提交了"
"一份机密文件。"

#. (para)
#, fuzzy
msgid ""
"The only way to remove data from the repository is to use the Subversion "
"command line tool <literal>svnadmin</literal>. You can find a description of "
"how this works in the <ulink url=\"http://svnbook.red-bean.com/en/1.5/svn."
"reposadmin.maint.html\"><citetitle>Repository Maintenance</citetitle></ulink>."
msgstr ""
"从版本库里删除数据的唯一方法就是使用<literal>svnadmin</literal>这个Subversion"
"命令行工具。具体如何实现请参考<ulink url=\"svnbook.red-bean.com/en/1.2/svn."
"reposadmin.maint.html\"><citetitle>版本库维护</citetitle></ulink>。"

#. (title)
#, fuzzy
msgid "Compare two revisions of a file or folder"
msgstr "比较一个文件的两个版本"

#. (primary)
msgid "compare files"
msgstr "比较文件"

#. (primary)
#, fuzzy
msgid "compare folders"
msgstr "比较文件"

#. (primary)
msgid "changes"
msgstr "修改"

#. (para)
#, fuzzy
msgid ""
"If you want to compare two revisions in an item's history, for example "
"revisions 100 and 200 of the same file, just use "
"<menuchoice><guimenu>TortoiseSVN</guimenu><guimenuitem>Show Log</"
"guimenuitem></menuchoice> to list the revision history for that file. Pick "
"the two revisions you want to compare then use <menuchoice><guimenu>Context "
"Menu</guimenu><guimenuitem>Compare Revisions</guimenuitem></menuchoice>."
msgstr ""
"如果希望比较某个文件的两个历史版本,比如同一个文件修订版本100和200,可以用"
"<menuchoice><guimenu>TortoiseSVN</guimenu><guimenuitem>显示日志</"
"guimenuitem></menuchoice>列出这个文件的历史版本纪录,选择希望比较的两个版本,"
"然后使用<menuchoice><guimenu>右键菜单</guimenu><guimenuitem>比较版本差异</"
"guimenuitem></menuchoice>。"

#. (para)
#, fuzzy
msgid ""
"If you want to compare the same item in two different trees, for example the "
"trunk and a branch, you can use the repository browser to open up both trees, "
"select the file in both places, then use <menuchoice><guimenu>Context Menu</"
"guimenu><guimenuitem>Compare Revisions</guimenuitem></menuchoice>."
msgstr ""
"如果希望比较两个不同目录树下的同一个文件,比如主干和分支,可以使用版本库浏览器"
"打开两个目录树,在两个目录树下选择同一个文件,然后使用 <menuchoice><guimenu>右"
"键菜单</guimenu><guimenuitem>比较版本差异</guimenuitem></menuchoice>。"

#. (para)
#, fuzzy
msgid ""
"If you want to compare two trees to see what has changed, for example the "
"trunk and a tagged release, you can use <menuchoice><guimenu>TortoiseSVN</"
"guimenu><guimenuitem>Revision Graph</guimenuitem></menuchoice> Select the two "
"nodes to compare, then use <menuchoice><guimenu>Context Menu</"
"guimenu><guimenuitem>Compare HEAD Revisions</guimenuitem></menuchoice>. This "
"will show a list of changed files, and you can then select individual files "
"to view the changes in detail. You can also export a tree structure "
"containing all the changed files, or simply a list of all changed files. Read "
"<xref linkend=\"tsvn-dug-compare-revs\"/> for more information. Alternatively "
"use <menuchoice><guimenu>Context Menu</guimenu><guimenuitem>Unified Diff of "
"HEAD Revisions</guimenuitem></menuchoice> to see a summary of all "
"differences, with minimal context."
msgstr ""
"如果希望比较两个目录树下的所有变化,比如主干和某个发布标签,可以使用"
"<menuchoice><guimenu>TortoiseSVN</guimenu><guimenuitem>版本分支图</"
"guimenuitem></menuchoice>。选择两个想要比较的节点,然后使用"
"<menuchoice><guimenu>右键菜单</guimenu><guimenuitem>比较最新版本</"
"guimenuitem></menuchoice>,就会列出一个变更文件列表。在列表上选择单个文件就能"
"够浏览该文件的具体变更内容。另外一个方法是使用<menuchoice><guimenu>右键菜单</"
"guimenu><guimenuitem>最新版本的标准差异(Unified diff)</guimenuitem></"
"menuchoice>显示所有变更的汇总和最少限度的上下文。"

#. (title)
msgid "Include a common sub-project"
msgstr "包含一个普通的子项目"

#. (primary)
msgid "common projects"
msgstr "普通项目"

#. (primary)
#, fuzzy
msgid "vendor projects"
msgstr "项目索引"

#. (para)
msgid ""
"Sometimes you will want to include another project within your working copy, "
"perhaps some library code. You don't want to make a duplicate of this code in "
"your repository because then you would lose connection with the original (and "
"maintained) code. Or maybe you have several projects which share core code. "
"There are at least 3 ways of dealing with this."
msgstr ""
"有时候你希望在你的工作副本中引入另一个项目,或许是一些库代码,你不必在你的版本"
"库复制一份,因为你会失去与原始(且维护的)代码的联系,或者你可能有多个项目共享同"
"一份核心代码,有至少三种方法处理这个问题。"

#. (title)
msgid "Use svn:externals"
msgstr "使用 svn:externals"

#. (para)
#, fuzzy
msgid ""
"Set the <literal>svn:externals</literal> property for a folder in your "
"project. This property consists of one or more lines; each line has the name "
"of a sub-folder which you want to use as the checkout folder for common code, "
"and the repository URL that you want to be checked out there. For full "
"details refer to <xref linkend=\"tsvn-dug-externals\"/>."
msgstr ""
"在你的项目的一个目录设置<literal>svn:externals</literal>属性,这个属性包含一到"
"多行;每一行都有一个用作检出的子目录的名字,和一个你希望检出的版本库URL,细节"
"请参考<xref linkend=\"tsvn-dug-import-4\"/>。"

#. (para)
#, fuzzy
msgid ""
"Commit the new folder. Now when you update, Subversion will pull a copy of "
"that project from its repository into your working copy. The sub-folders will "
"be created automatically if required. Each time you update your main working "
"copy, you will also receive the latest version of all external projects."
msgstr ""
"提交新的目录,然后当你更新时,Subversion会将那个项目的一个副本从它的版本库检出"
"到工作目录,如果需要,子目录会自动创建,每当你更新你的工作副本,你会得到所有外"
"部项目的最新版本。"

#. (para)
msgid ""
"Of the three methods described, this is the only one which needs no setup on "
"the client side. Once externals are specified in the folder properties, all "
"clients will get populated folders when they update."
msgstr ""
"在已述的三种方法中,这是唯一不需要在客户端设置的方法。一旦在目录属性中指定了外"
"部资源,所有客户端在更新时都会创建相应的目录。"

#. (title)
msgid "Use a nested working copy"
msgstr "使用嵌套工作副本"

#. (para)
msgid ""
"Create a new folder within your project to contain the common code, but do "
"not add it to Subversion"
msgstr "在你的项目创建一个包含普通代码的新目录,但不将其添加到Subversion"

#. (para)
msgid ""
"Select <menuchoice><guimenu>TortoiseSVN</guimenu><guimenuitem>Checkout</"
"guimenuitem></menuchoice> for the new folder and checkout a copy of the "
"common code into it. You now have a separate working copy nested within your "
"main working copy."
msgstr ""
"在新目录下选择<menuchoice><guimenu>TortoiseSVN</guimenu><guimenuitem>检出</"
"guimenuitem></menuchoice>,在其中检出普通代码的副本,现在你在主要的工作副本有"
"了一个独立的嵌套的工作副本。"

#. (para)
msgid ""
"The two working copies are independent. When you commit changes to the "
"parent, changes to the nested WC are ignored. Likewise when you update the "
"parent, the nested WC is not updated."
msgstr ""
"两个工作副本是独立的,当你在父目录提交修改,嵌套的工作副本会被忽略,同样当你更"
"新你的父目录,嵌套的工作副本不会被更新。"

#. (title)
msgid "Use a relative location"
msgstr "使用相对位置"

#. (para)
msgid ""
"If you use the same common core code in several projects, and you do not want "
"to keep multiple working copies of it for every project that uses it, you can "
"just check it out to a separate location which is related to all the other "
"projects which use it. For example: <screen>\n"
"C:\\Projects\\Proj1\n"
"C:\\Projects\\Proj2\n"
"C:\\Projects\\Proj3\n"
"C:\\Projects\\Common\n"
"</screen> and refer to the common code using a relative path, eg. <filename>.."
"\\..\\Common\\DSPcore</filename>."
msgstr ""
"如果你在多个项目中使用共同的代码,而你不想为每个项目保存一份副本,你可以将其检"
"出到一个单独的位置,与其他项目关联,例如: <screen>\n"
"C:\\Projects\\Proj1\n"
"C:\\Projects\\Proj2\n"
"C:\\Projects\\Proj3\n"
"C:\\Projects\\Common\n"
"</screen>然后使用相对路径例如<filename>..\\..\\Common\\DSPcore</filename>引用"
"通用代码。"

#. (para)
msgid ""
"If your projects are scattered in unrelated locations you can use a variant "
"of this, which is to put the common code in one location and use drive letter "
"substitution to map that location to something you can hard code in your "
"projects, eg. Checkout the common code to <filename>D:\\Documents\\Framework</"
"filename> or <filename>C:\\Documents and Settings\\{login}\\My Documents"
"\\framework</filename> then use <screen>\n"
"SUBST X: \"D:\\Documents\\framework\"\n"
"</screen> to create the drive mapping used in your source code. Your code can "
"then use absolute locations. <screen>\n"
"#include \"X:\\superio\\superio.h\"\n"
"</screen>"
msgstr ""
"如果你的项目分散到不相关的位置,你可以使用一个变种方式,可以将通用代码放到一个"
"位置,且使用盘符映射到你可以在项目硬编码的内容,例如将通用代码检出到"
"<filename>D:\\Documents\\Framework</filename>或<filename>C:\\Documents and "
"Settings\\{login}\\My Documents\\framework</filename>,然后使用<screen>\n"
"SUBST X: \"D:\\Documents\\framework\"\n"
"</screen>在你的源代码创建磁盘映射,你的代码可以使用绝对位置。<screen>\n"
"#include \"X:\\superio\\superio.h\"\n"
"</screen>"

#. (para)
msgid ""
"This method will only work in an all-PC environment, and you will need to "
"document the required drive mappings so your team know where these mysterious "
"files are. This method is strictly for use in closed development "
"environments, and not recommended for general use."
msgstr ""
"这个方法职能工作在完全PC的环境,你所做的就是记录必须的磁盘映射,所以你的团队知"
"道这些神秘文件的位置,这个方法只能用于紧密地开发环境,在普通的使用中并不推荐。"

#. (title)
msgid "Create a shortcut to a repository"
msgstr "创建到版本库的快捷方式"

#. (primary)
msgid "shortcut"
msgstr "快捷方式"

#. (para)
msgid ""
"If you frequently need to open the repository browser at a particular "
"location, you can create a desktop shortcut using the automation interface to "
"TortoiseProc. Just create a new shortcut and set the target to: <screen>\n"
"TortoiseProc.exe /command:repobrowser /path:\"url/to/repository\"\n"
"</screen> Of course you need to include the real repository URL."
msgstr ""
"如果你经常需要从某个位置打开版本库浏览器,你可以使用 TortoiseProc 自动化接口创"
"建一个快捷方式。只需要创建一个新的快捷方式,将目标设置为: <screen>\n"
"TortoiseProc.exe /command:repobrowser /path:\"url/to/repository\"\n"
"</screen> 当然你需要包含真实的版本库 URL。"

#. (title)
msgid "Ignore files which are already versioned"
msgstr "忽略已经版本控制的文件"

#. (primary)
#, fuzzy
msgid "remove versioning"
msgstr "目录版本控制"

#. (primary)
#, fuzzy
msgid "detach from repository"
msgstr "版本库"

#. (para)
msgid ""
"If you accidentally added some files which should have been ignored, how do "
"you get them out of version control without losing them? Maybe you have your "
"own IDE configuration file which is not part of the project, but which took "
"you a long time to set up just the way you like it."
msgstr ""
"如果你不小心添加了一些应该被忽略的文件,你如何将它们从版本控制中去除而不会丢失"
"它们?或许你有自己的IDE配置文件,不是项目的一部分,但将会花费很多时间使之按照"
"自己的方式工作。"

#. (para)
msgid ""
"If you have not yet committed the add, then all you have to do is use "
"<menuchoice><guimenu>TortoiseSVN</guimenu><guimenuitem>Revert...</"
"guimenuitem></menuchoice> to undo the add. You should then add the file(s) to "
"the ignore list so they don't get added again later by mistake."
msgstr ""
"如果你还没有提交,你只需要<menuchoice><guimenu>TortoiseSVN</"
"guimenu><guimenuitem>Revert...</guimenuitem></menuchoice>来取消添加,你需要将"
"这个文件添加到忽略列表,这样它们才不会被再次误添加近来。"

#. (para)
msgid ""
"Hold the <keycap>Shift</keycap> key to get the extended context menu and use "
"<menuchoice><guimenu>TortoiseSVN</guimenu><guimenuitem>Delete (keep local)</"
"guimenuitem></menuchoice> to mark the file/folder for deletion from the "
"repository without losing the local copy."
msgstr ""
"用 <keycap>Shift</keycap> 键获得扩展上下文菜单,使用 "
"<menuchoice><guimenu>TortoiseSVN</guimenu><guimenuitem>删除(保留版本副本)</"
"guimenuitem></menuchoice> 标记文件/目录从版本库删除,但是保留版本副本。"

#. (para)
msgid ""
"<menuchoice><guimenu>TortoiseSVN</guimenu><guimenuitem>Commit</guimenuitem></"
"menuchoice> the parent folder."
msgstr ""
"<menuchoice><guimenu>TortoiseSVN</guimenu><guimenuitem>提交</guimenuitem></"
"menuchoice>父目录。"

#. (para)
msgid ""
"Add the file/folder to the ignore list so you don't get into the same trouble "
"again."
msgstr "将文件/目录增加到忽略列表,所以你不会再遇到同样的麻烦。"

#. (para)
msgid ""
"If the files are already in the repository, you have to do a little more "
"work. <placeholder-1/>"
msgstr "如果文件已经存在于版本库,你需要做更多的工作。<placeholder-1/>"

#. (title)
msgid "Unversion a working copy"
msgstr "从工作副本删除版本信息"

#. (para)
#, fuzzy
msgid ""
"If you have a working copy which you want to convert back to a plain folder "
"tree without the <literal>.svn</literal> directories, you can simply export "
"it to itself. Read <xref linkend=\"tsvn-dug-export-unversion\"/> to find out "
"how."
msgstr ""
"有时你可能想要建立一个没有<filename>.svn</filename>目录的本地的副本,比如建立"
"一个源代码压缩包。要达到这个目的,请参考<xref linkend=\"tsvn-dug-export\"/>。"

#. (title)
msgid "Remove a working copy"
msgstr "删除工作副本"

#. (para)
msgid ""
"If you have a working copy which you no longer need, how do you get rid of it "
"cleanly? Easy - just delete it in Windows Explorer! Working copies are "
"private local entities, and they are self-contained."
msgstr ""

#. (title)
#, fuzzy
msgid "Useful Tips For Administrators"
msgstr "管理员"

#. (para)
msgid ""
"This appendix contains solutions to problems/questions you might have when "
"you are responsible for deploying TortoiseSVN to multiple client computers."
msgstr "附录包含了将TortoiseSVN部署到多个客户端电脑时可能发生问题的解决方案。"

#. (title)
msgid "Deploy TortoiseSVN via group policies"
msgstr "通过组策略部署 TortoiseSVN"

#. (primary)
#. (primary)
msgid "group policies"
msgstr "组策略"

#. (primary)
#. (glossterm)
msgid "GPO"
msgstr "GPO"

#. (primary)
msgid "msi"
msgstr "msi"

#. (primary)
msgid "domain controller"
msgstr "域控制器"

#. (primary)
msgid "deploy"
msgstr "部署"

#. (para)
#, fuzzy
msgid ""
"The TortoiseSVN installer comes as an MSI file, which means you should have "
"no problems adding that MSI file to the group policies of your domain "
"controller."
msgstr ""
"TortoiseSVN安装程序使用msi文件,意味着你必须能够将msi文件添加到你的域控制器的"
"组策略中。"

#. (para)
#, fuzzy
msgid ""
"A good walk-through on how to do that can be found in the knowledge base "
"article 314934 from Microsoft: <ulink url=\"http://support.microsoft.com/?"
"kbid=314934\"><citetitle>http://support.microsoft.com/?kbid=314934</"
"citetitle></ulink>."
msgstr ""
"你可以从微软的知识库文章314934中看到如何做的方法: <ulink url=\"http://support."
"microsoft.com/?kbid=314934\"><citetitle>http://support.microsoft.com/?"
"kbid=314934</citetitle></ulink>。"

#. (para)
#, fuzzy
msgid ""
"Versions 1.3.0 and later of TortoiseSVN must be installed under "
"<emphasis>Computer Configuration</emphasis> and not under <emphasis>User "
"Configuration</emphasis>. This is because those versions need the new CRT and "
"MFC DLLs, which can only be deployed <emphasis>per computer</emphasis> and "
"not <emphasis>per user</emphasis>. If you really must install TortoiseSVN on "
"a per user basis, then you must first install the MFC and CRT package version "
"8 from Microsoft on each computer you want to install TortoiseSVN as per user."
msgstr ""
"TortoiseSVN的1.3和之后的版本,必须安装在<emphasis>电脑配置</emphasis>下,而不"
"是<emphasis>用户配置</emphasis>。这是因为那些版本需要新的CRT和MFC的dll,只能部"
"署在<emphasis>每电脑</emphasis>,而不是<emphasis>每用户</emphasis>。如果你必须"
"以每用户防是安装TortoiseSVN,你必须在每个需要安装TortoiseSVN电脑上为每个用户安"
"装MFC和CRT包。"

#. (title)
msgid "Redirect the upgrade check"
msgstr "重定向升级检查"

#. (primary)
msgid "upgrade check"
msgstr "升级检查"

#. (primary)
msgid "check new version"
msgstr "检查新版本"

#. (primary)
msgid "version"
msgstr "版本"

#. (para)
msgid ""
"TortoiseSVN checks if there's a new version available every few days. If "
"there is a newer version available, a dialog shows up informing the user "
"about that."
msgstr ""
"TortoiseSVN会每隔几天检查是否有新版本可以下载,如果有新版本存在,会给用户显示"
"相关信息的对话框。"

#. (title)
msgid "The upgrade dialog"
msgstr "升级对话框"

#. (para)
msgid ""
"If you're responsible for a lot of users in your domain, you might want your "
"users to use only versions you have approved and not have them install always "
"the latest version. You probably don't want that upgrade dialog to show up so "
"your users don't go and upgrade immediately."
msgstr ""
"如果你为你的域中的许多用户负责,你或许希望所有的用户使用你允许的版本,而不是最"
"新的版本,你可能不希望显示升级对话框而使得用户立刻升级。"

#. (para)
#, fuzzy
msgid ""
"Versions 1.4.0 and later of TortoiseSVN allow you to redirect that upgrade "
"check to your intranet server. You can set the registry key <filename>HKCU"
"\\Software\\TortoiseSVN\\UpdateCheckURL</filename> (string value) to an URL "
"pointing to a text file in your intranet. That text file must have the "
"following format: <screen>\n"
"1.4.1.6000\n"
"A new version of TortoiseSVN is available for you to download!\n"
"http://192.168.2.1/downloads/TortoiseSVN-1.4.1.6000-svn-1.4.0.msi\n"
"</screen> The first line in that file is the version string. You must make "
"sure that it matches the exact version string of the TortoiseSVN installation "
"package. The second line is a custom text, shown in the upgrade dialog. You "
"can write there whatever you want. Just note that the space in the upgrade "
"dialog is limited. Too long messages will get truncated! The third line is "
"the URL to the new installation package. This URL is opened when the user "
"clicks on the custom message label in the upgrade dialog. You can also just "
"point the user to a web page instead of the MSI file directly. The URL is "
"opened with the default web browser, so if you specify a web page, that page "
"is opened and shown to the user. If you specify the MSI package, the browser "
"will ask the user to save the MSI file locally."
msgstr ""
"Versions 1.4.0和之后的TortoiseSVN允许你重定向你的升级检查到本地服务器,你可以"
"设置注册表<filename>HKCU\\Software\\TortoiseSVN\\UpdateCheckURL</filename>(字"
"符串值)指向本地网的文本文件。这个文本文件必须是下面的格式: <screen>\n"
"1.4.1.6000\n"
"A new version of TortoiseSVN is available for you to download!\n"
"http://192.168.2.1/downloads/TortoiseSVN-1.4.1.6000-svn-1.4.0.msi\n"
"</screen>文件的第一行是版本串,你必须确定这与TortoiseSVN安装包的信息完全一致。"
"第二行是自定义字符,显示在省级对话框,你可以在里面写任何信息,只是要注意升级对"
"话框中的数据长度是有限制的,过长的信息会被截断。第三行是最新安装包的位置,当用"
"户选择升级时就会打开这个URL。你可以将文件指向网页,而不是msi文件,如果你指向了"
"msi包,浏览器会询问用户在本地保存msi文件。"

#. (title)
msgid "Setting the <literal>SVN_ASP_DOT_NET_HACK</literal> environment variable"
msgstr "设置 <literal>SVN_ASP_DOT_NET_HACK</literal> 环境变量"

#. (primary)
msgid "SVN_ASP_DOT_NET_HACK"
msgstr "SVN_ASP_DOT_NET_HACK"

#. (primary)
msgid "VS2003"
msgstr "VS2003"

#. (primary)
msgid "ASP projects"
msgstr "ASP 工程"

#. (para)
#, fuzzy
msgid ""
"As of version 1.4.0 and later, the TortoiseSVN installer doesn't provide the "
"user with the option to set the <literal>SVN_ASP_DOT_NET_HACK</literal> "
"environment variable anymore, since that caused many problems and confusions "
"with users which always install <emphasis>everything</emphasis> no matter if "
"they know what it is for."
msgstr ""
"1.4及之后的版本,TortoiseSVN安装包不会支持用户在环境变量中使用"
"SVN_ASP_DOT_NET_HACK,因为这样导致许多问题,也会使一直安装<emphasis>任何事情</"
"emphasis>,而不管是什么的用户感到迷惑。"

#. (para)
#, fuzzy
msgid ""
"But that option is only hidden for the user. You still can force the "
"TortoiseSVN installer to set that environment variable by setting the "
"<literal>ASPDOTNETHACK</literal> property to TRUE. For example, you can start "
"the installer like this: <screen>\n"
"msiexec /i TortoiseSVN-1.4.0.msi ASPDOTNETHACK=TRUE\n"
"</screen>"
msgstr ""
"但是这个选项只是对用户隐藏了,你仍然可以通过设置ASPDOTNETHACK属性为TRUE强制"
"TortoiseSVN安装程序设置这个环境变量。例如,你可以这样启动安装脚本: <screen>\n"
"msiexec /i TortoiseSVN-1.4.0.msi ASPDOTNETHACK=TRUE\n"
"</screen>"

#. (title)
msgid "Disable context menu entries"
msgstr "禁用上下文菜单"

#. (primary)
msgid "context menu entries"
msgstr "上下文菜单"

#. (primary)
msgid "disable functions"
msgstr "禁用功能"

#. (para)
msgid ""
"As of version 1.5.0 and later, TortoiseSVN allows you to disable (actually, "
"hide) context menu entries. Since this is a feature which should not be used "
"lightly but only if there is a compelling reason, there is no GUI for this "
"and it has to be done directly in the registry. This can be used to disable "
"certain commands for users who should not use them. But please note that only "
"the context menu entries in the <emphasis>explorer</emphasis> are hidden, and "
"the commands are still available through other means, e.g. the command line "
"or even other dialogs in TortoiseSVN itself!"
msgstr ""

#. (para)
msgid ""
"The registry keys which hold the information on which context menus to show "
"are <filename>HKEY_CURRENT_USER\\Software\\TortoiseSVN"
"\\ContextMenuEntriesMaskLow</filename> and <filename>HKEY_CURRENT_USER"
"\\Software\\TortoiseSVN\\ContextMenuEntriesMaskHigh</filename>."
msgstr ""
"控制上下文菜单显示的注册表键是<filename>HKEY_CURRENT_USER\\Software"
"\\TortoiseSVN\\ContextMenuEntriesMaskLow</filename> 和 "
"<filename>HKEY_CURRENT_USER\\Software\\TortoiseSVN"
"\\ContextMenuEntriesMaskHigh</filename>。"

#. (para)
msgid ""
"Each of these registry entries is a <literal>DWORD</literal> value, with each "
"bit corresponding to a specific menu entry. A set bit means the corresponding "
"menu entry is deactivated."
msgstr ""
"每个注册表条目都是 <literal>DWORD</literal> 类型,每位对应一个指定的菜单项。置"
"位意味着对应的菜单项禁用。"

#. (title)
msgid "Menu entries and their values"
msgstr "菜单入口和取值"

#. (entry)
msgid "Value"
msgstr "取值"

#. (entry)
msgid "Menu entry"
msgstr "菜单入口"

#. (entry)
#. (title)
#. (glossterm)
msgid "Checkout"
msgstr "检出"

#. (entry)
#. (title)
#. (glossterm)
msgid "Update"
msgstr "更新"

#. (entry)
#. (title)
#. (glossterm)
msgid "Commit"
msgstr "提交"

#. (entry)
#. (title)
#. (glossterm)
msgid "Add"
msgstr "添加"

#. (entry)
#. (title)
#. (glossterm)
msgid "Revert"
msgstr "恢复"

#. (entry)
#. (glossterm)
msgid "Resolve"
msgstr "解决"

#. (entry)
#. (title)
#. (glossterm)
msgid "Export"
msgstr "输出"

#. (entry)
msgid "Create Repository here"
msgstr "在当前位置创建版本库"

#. (entry)
#. (title)
msgid "Branch/Tag"
msgstr "分支/标记"

#. (entry)
#. (title)
#. (glossterm)
msgid "Merge"
msgstr "合并"

#. (entry)
#. (title)
#. (glossterm)
msgid "Delete"
msgstr "删除"

#. (entry)
#. (title)
msgid "Rename"
msgstr "改名"

#. (entry)
msgid "Update to revision"
msgstr "更新到版本"

#. (entry)
#. (title)
#. (glossterm)
msgid "Diff"
msgstr "差异"

#. (entry)
#. (title)
msgid "Show Log"
msgstr "显示日志"

#. (entry)
#. (title)
msgid "Edit Conflicts"
msgstr "编辑冲突"

#. (entry)
#. (title)
#. (glossterm)
msgid "Relocate"
msgstr "重新定位"

#. (entry)
msgid "Check for modifications"
msgstr "检查修改"

#. (entry)
msgid "Ignore"
msgstr "忽略"

#. (entry)
msgid "Repository Browser"
msgstr "版本库浏览器"

#. (entry)
#. (title)
#. (glossterm)
msgid "Blame"
msgstr "追溯"

#. (entry)
#. (title)
msgid "Create Patch"
msgstr "创建补丁"

#. (entry)
#. (title)
msgid "Apply Patch"
msgstr "应用补丁(Apply Patch)"

#. (entry)
msgid "Revision graph"
msgstr "版本图"

#. (entry)
#. (glossterm)
msgid "Lock"
msgstr "锁"

#. (entry)
msgid "Remove Lock"
msgstr "删除锁"

#. (entry)
msgid "Properties"
msgstr "属性"

#. (entry)
msgid "Diff with URL"
msgstr "与 URL 比较"

#. (entry)
msgid "Delete unversioned items"
msgstr "删除未版本控制的项目"

#. (entry)
msgid "Settings"
msgstr "设置"

#. (entry)
msgid "Help"
msgstr "帮助"

#. (entry)
msgid "About"
msgstr "关于"

#. (para)
#, fuzzy
msgid ""
"Example: to disable the <quote>Relocate</quote> the <quote>Delete unversioned "
"items</quote> and the <quote>Settings</quote> menu entries, add the values "
"assigned to the entries like this: <screen>\n"
" 0x0000000000080000\n"
"+ 0x0000000080000000\n"
"+ 0x2000000000000000\n"
"= 0x2000000080080000\n"
"</screen> The lower <literal>DWORD</literal> value (<literal>0x80080000</"
"literal>) must then be stored in <filename>HKEY_CURRENT_USER\\Software"
"\\TortoiseSVN\\ContextMenuEntriesMaskLow</filename>, the higher "
"<literal>DWORD</literal> value (<literal>0x20000000</literal>) in "
"<filename>HKEY_CURRENT_USER\\Software\\TortoiseSVN"
"\\ContextMenuEntriesMaskHigh</filename>."
msgstr ""
"例如,为了禁用“重新定位”,“删除未版本控制条目”和“配置”菜单项,如下增加这些条目"
"的分配值:<screen>\n"
" 0x0000000000080000\n"
"+ 0x0000000080000000\n"
"+ 0x2000000000000000\n"
"= 0x2000000080080000\n"
"</screen><literal>DWORD</literal> 的较小值(<literal>0x80080000</literal>)必须"
"保存到 <filename>HKEY_CURRENT_USER\\Software\\TortoiseSVN"
"\\ContextMenuEntriesMaskLow</filename>,<literal>DWORD</literal> 的较大值"
"(<literal>0x20000000</literal>)必须保存到<filename>HKEY_CURRENT_USER\\Software"
"\\TortoiseSVN\\ContextMenuEntriesMaskHigh</filename>。"

#. (para)
msgid "To enable the menu entries again, simply delete the two registry keys."
msgstr "简单删除这两个注册键,即可重新激活菜单项。"

#. (title)
msgid "Automating TortoiseSVN"
msgstr "TortoiseSVN 操作"

#. (para)
msgid ""
"Since all commands for TortoiseSVN are controlled through command line "
"parameters, you can automate it with batch scripts or start specific commands "
"and dialogs from other programs (e.g. your favourite text editor)."
msgstr ""
"因为所有的命令使用命令行参数控制,你可以使用特定的批处理脚本或从其它程序(例如"
"你喜欢的文本编辑器)启动。"

#. (para)
msgid ""
"Remember that TortoiseSVN is a GUI client, and this automation guide shows "
"you how to make the TortoiseSVN dialogs appear to collect user input. If you "
"want to write a script which requires no input, you should use the official "
"Subversion command line client instead."
msgstr ""
"请记住TortoiseSVN是一个GUI客户端,这个自动化指导为你展示了让TortoiseSVN对话框"
"显示并收集客户输入,如果你希望编写不需要输入的脚本,你应该使用官方的Subversion"
"命令行客户端。"

#. (title)
#. (title)
msgid "TortoiseSVN Commands"
msgstr "TortoiseSVN 命令"

#. (primary)
#. (primary)
msgid "automation"
msgstr "自动化"

#. (primary)
#. (primary)
msgid "command line"
msgstr "命令行"

#. (para)
msgid ""
"The TortoiseSVN GUI program is called <literal>TortoiseProc.exe</literal>. "
"All commands are specified with the parameter <option>/command:abcd</option> "
"where <literal>abcd</literal> is the required command name. Most of these "
"commands need at least one path argument, which is given with <option>/path:"
"\"some\\path\"</option>. In the following table the command refers to the "
"<option>/command:abcd</option> parameter and the path refers to the <option>/"
"path:\"some\\path\"</option> parameter."
msgstr ""
"TortoiseSVN的GUI程序叫做<literal>TortoiseProc.exe</literal>。所有的命令通过参"
"数<option>/command:abcd</option>指定,其中<literal>abcd</literal>是必须的命令"
"名。大多数此类命令至少需要一个路径参数,使用<option>/path:\"some\\path\"</"
"option>指定。在下面的命令表格中,命令引用的是<option>/command:abcd</option>参"
"数,余下的代表了<option>/path:\"some\\path\"</option>参数。"

#. (para)
msgid ""
"Since some of the commands can take a list of target paths (e.g. committing "
"several specific files) the <option>/path</option> parameter can take several "
"paths, separated by a <literal>*</literal> character."
msgstr ""
"因为一些命令需要一个目标路径的列表(例如提交一些特定的文件),<option>/path</"
"option>参数可以接收多个路径,使用<literal>*</literal>分割。"

#. (para)
msgid ""
"TortoiseSVN uses temporary files to pass multiple arguments between the shell "
"extension and the main program. From TortoiseSVN 1.5.0 on and later, <option>/"
"notempfile</option> parameter is obsolete and there is no need to add it "
"anymore."
msgstr ""
"TortoiseSVN 使用临时文件在 shell 扩展和主程序之间传递多个参数。从 TortoiseSVN "
"1.5.0 开始,废弃<option>/notempfile</option>参数,不再需要增加此参数。"

#. (para)
#, fuzzy
msgid ""
"The progress dialog which is used for commits, updates and many more commands "
"usually stays open after the command has finished until the user presses the "
"<guibutton>OK</guibutton> button. This can be changed by checking the "
"corresponding option in the settings dialog. But using that setting will "
"close the progress dialog, no matter if you start the command from your batch "
"file or from the TortoiseSVN context menu."
msgstr ""
"进度对话框用来显示提交,更新等命令,结束后通常需要用户点<guibutton>确认</"
"guibutton>按钮才退出,这个可以通过检查对应的对话框选项中设置。但是使用那个设置"
"会关闭进度窗口,无论你是使用批处理文件还是用TortoiseSVN右键菜单。"

#. (para)
#, fuzzy
msgid ""
"To specify a different location of the configuration file, use the parameter "
"<option>/configdir:\"path\\to\\config\\directory\"</option>. This will "
"override the default path, including any registry setting."
msgstr ""
"为了指定另外一个的配置文件,可以使用<option>/configdir:\"path\\to\\config\\dir"
"\"</option>参数,这将会覆盖默认的路径和注册表设置。"

#. (para)
msgid "<option>/closeonend:0</option> don't close the dialog automatically"
msgstr "<option>/closeonend:0</option> 不自动关闭对话框"

#. (para)
msgid "<option>/closeonend:1</option> auto close if no errors"
msgstr "<option>/closeonend:1</option> 如果没发生错误则自动关闭对话框"

#. (para)
msgid "<option>/closeonend:2</option> auto close if no errors and conflicts"
msgstr "<option>/closeonend:2</option> 如果没发生错误和冲突则自动关闭对话框"

#. (para)
msgid ""
"<option>/closeonend:3</option> auto close if no errors, conflicts and merges"
msgstr "<option>/closeonend:3</option>如果没有错误、冲突和合并,会自动关闭"

#. (para)
msgid ""
"<option>/closeonend:4</option> auto close if no errors, conflicts and merges "
"for local operations"
msgstr "<option>/closeonend:4</option>如果没有错误、冲突和合并,会自动关闭"

#. (para)
msgid ""
"To close the progress dialog at the end of a command automatically without "
"using the permanent setting you can pass the <option>/closeonend</option> "
"parameter. <placeholder-1/>"
msgstr ""
"如果想在进度对话框执行完毕后自动关闭,而又不必设置永久性的参数,可以传递"
"<option>/closeonend</option>参数。<placeholder-1/>"

#. (para)
msgid ""
"The table below lists all the commands which can be accessed using the "
"TortoiseProc.exe command line. As described above, these should be used in "
"the form <literal>/command:abcd</literal>. In the table, the <literal>/"
"command</literal> prefix is omitted to save space."
msgstr ""
"下面的列表列出了所有可以使用TortoiseProc.exe访问的命令,就像上面的描述,必须使"
"用<literal>/command:abcd</literal>的形式,在列表中,因为节省空间的关系省略了"
"<literal>/command</literal>的前缀。"

#. (title)
msgid "List of available commands and options"
msgstr "有效命令及选项列表"

#. (entry)
msgid "Command"
msgstr "命令"

#. (entry)
msgid "Shows the about dialog. This is also shown if no command is given."
msgstr "显示关于对话框。如果没有给命令也会显示。"

#. (option)
#. (option)
#. (option)
#. (option)
#. (option)
#. (option)
#. (option)
#. (option)
#. (option)
#. (option)
#. (option)
#. (option)
#. (option)
#. (option)
#. (option)
#. (option)
#. (option)
#. (option)
#. (option)
#. (option)
#. (option)
#. (option)
#. (option)
#. (option)
#. (option)
#. (option)
#. (option)
#. (option)
#. (option)
#. (option)
#. (option)
#. (option)
#. (option)
#. (option)
msgid "/path"
msgstr "/path"

#. (option)
#. (option)
msgid "/startrev:xxx"
msgstr "/startrev:xxx"

#. (option)
#. (option)
msgid "/endrev:xxx"
msgstr "/endrev:xxx"

#. (option)
msgid "/strict"
msgstr "/strict"

#. (entry)
msgid ""
"Opens the log dialog. The <placeholder-1/> specifies the file or folder for "
"which the log should be shown. Three additional options can be set: "
"<placeholder-2/>, <placeholder-3/> and <placeholder-4/>"
msgstr ""
"打开日志对话框,<placeholder-1/> 指定了显示日志的文件或目录,另外还有三个选项"
"可以设置: <placeholder-2/>、<placeholder-3/>和<placeholder-4/>"

#. (option)
#. (option)
msgid "/url"
msgstr "/url"

#. (entry)
msgid ""
"Opens the checkout dialog. The <placeholder-1/> specifies the target "
"directory and the <placeholder-2/> specifies the URL to checkout from."
msgstr ""
"打开检出对话框,<placeholder-1/>指定了目标路径,而<placeholder-2/>制定了检出的"
"URL。"

#. (entry)
msgid ""
"Opens the import dialog. The <placeholder-1/> specifies the directory with "
"the data to import."
msgstr "打开导入对话框,<placeholder-1/> 指定了数据导入路径。"

#. (option)
msgid "/rev"
msgstr "/rev"

#. (option)
msgid "/rev:1234"
msgstr "/rev:1234"

#. (option)
msgid "/nonrecursive"
msgstr "/nonrecursive"

#. (option)
msgid "/ignoreexternals"
msgstr "/ignoreexternals"

#. (entry)
msgid ""
"Updates the working copy in <placeholder-1/> to HEAD. If the option "
"<placeholder-2/> is given then a dialog is shown to ask the user to which "
"revision the update should go. To avoid the dialog specify a revision number "
"<placeholder-3/>. Other options are <placeholder-4/> and <placeholder-5/>."
msgstr ""
"将工作副本的<placeholder-1/>更新到HEAD,如果给定参数<placeholder-2/>,就会弹出"
"一个对话框询问用户需要更新到哪个修订版本。为了防止指定修订版本号<placeholder-"
"3/>的对话框,需要选项<placeholder-4/>和<placeholder-5/>。"

#. (option)
#. (option)
msgid "/logmsg"
msgstr "/logmsg"

#. (option)
#. (option)
msgid "/logmsgfile:path"
msgstr "/logmsgfile:path"

#. (option)
#. (option)
msgid "path"
msgstr "path"

#. (option)
msgid "/bugid:\"the bug id here\""
msgstr "/bugid:\"the bug id here\""

#. (entry)
msgid ""
"Opens the commit dialog. The <placeholder-1/> specifies the target directory "
"or the list of files to commit. You can also specify the <placeholder-2/> "
"switch to pass a predefined log message to the commit dialog. Or, if you "
"don't want to pass the log message on the command line, use <placeholder-3/>, "
"where <placeholder-4/> points to a file containing the log message. To pre-"
"fill the bug ID box (in case you've set up integration with bug trackers "
"properly), you can use the <placeholder-5/> to do that."
msgstr ""
"打开提交对话框,<placeholder-1/> 指定了目标路径或需要提交的文件列表,你也可以"
"使用参数 <placeholder-2/> 给提交窗口传递预定义的日志信息,或者你不希望将日志传"
"递给命令行,你也可以使用 <placeholder-3/>,<placeholder-4/> 指向了保存日志信息"
"的文件。为了预先填入bug的ID(如果你设置了集成bug追踪属性),你可以使用"
"<placeholder-5/>完成这个任务。"

#. (entry)
msgid "Adds the files in <placeholder-1/> to version control."
msgstr "将<placeholder-1/>的文件添加到版本控制 。"

#. (entry)
msgid ""
"Reverts local modifications of a working copy. The <placeholder-1/> tells "
"which items to revert."
msgstr "恢复工作副本的本地修改,<placeholder-1/>说明恢复哪些条目。"

#. (entry)
msgid ""
"Cleans up interrupted or aborted operations and unlocks the working copy in "
"<placeholder-1/>."
msgstr "清理中断和终止的操作,将工作副本的<placeholder-1/>解锁。"

#. (option)
#. (option)
#. (option)
msgid "/noquestion"
msgstr "/noquestion"

#. (entry)
msgid ""
"Marks a conflicted file specified in <placeholder-1/> as resolved. If "
"<placeholder-2/> is given, then resolving is done without asking the user "
"first if it really should be done."
msgstr ""
"将<placeholder-1/>指定文件的冲突标示为解决,如果给定<placeholder-2/>,解决不会"
"向用户确认操作。"

#. (entry)
msgid "Creates a repository in <placeholder-1/>"
msgstr "在<placeholder-1/>创建一个版本库。"

#. (entry)
msgid ""
"Opens the switch dialog. The <placeholder-1/> specifies the target directory."
msgstr "打开选项对话框。<placeholder-1/> 指定目标目录。"

#. (entry)
msgid ""
"Exports the working copy in <placeholder-1/> to another directory. If the "
"<placeholder-2/> points to an unversioned directory, a dialog will ask for an "
"URL to export to the directory in <placeholder-3/>."
msgstr ""
"将<placeholder-1/>的工作副本导出到另一个目录,如果<placeholder-2/>指向另一个未"
"版本控制目录,对话框会询问要导出到<placeholder-3/>的URL。"

#. (option)
#. (option)
msgid "/fromurl:URL"
msgstr "/fromurl:URL"

#. (option)
msgid "/revrange:string"
msgstr "/revrange:string"

#. (option)
msgid "/tourl:URL"
msgstr "/tourl:URL"

#. (option)
msgid "/fromrev:xxx"
msgstr "/fromrev:xxx"

#. (option)
msgid "/torev:xxx"
msgstr "/torev:xxx"

#. (entry)
#, fuzzy
msgid ""
"Opens the merge dialog. The <placeholder-1/> specifies the target directory. "
"For merging a revision range, the following options are available: "
"<placeholder-2/>, <placeholder-3/>. For merging two repository trees, the "
"following options are available: <placeholder-4/>, <placeholder-5/>, "
"<placeholder-6/> and <placeholder-7/>. These pre-fill the relevant fields in "
"the merge dialog."
msgstr ""
"打开合并对话框,<placeholder-1/> 指定了目标目录,可以设置另外三个参数: "
"<placeholder-2/>、<placeholder-3/>和<placeholder-4/>,这些值将会预先填入相关的"
"字段。"

#. (entry)
#, fuzzy
msgid ""
"Opens the merge all dialog. The <placeholder-1/> specifies the target "
"directory."
msgstr "打开选项对话框。<placeholder-1/> 指定目标目录。"

#. (entry)
#, fuzzy
msgid ""
"Brings up the branch/tag dialog. The <placeholder-1/> is the working copy to "
"branch/tag from. And the <placeholder-2/> is the target URL. You can also "
"specify the <placeholder-3/> switch to pass a predefined log message to the "
"branch/tag dialog. Or, if you don't want to pass the log message on the "
"command line, use <placeholder-4/>, where <placeholder-5/> points to a file "
"containing the log message."
msgstr ""
"打开提交对话框,<placeholder-1/> 指定了目标路径或需要提交的文件列表,你也可以"
"使用参数 <placeholder-2/> 给提交窗口传递预定义的日志信息,或者你不希望将日志传"
"递给命令行,你也可以使用 <placeholder-3/>,<placeholder-4/> 指向了保存日志信息"
"的文件。为了预先填入bug的ID(如果你设置了集成bug追踪属性),你可以使用"
"<placeholder-5/>完成这个任务。"

#. (entry)
msgid "Opens the settings dialog."
msgstr "打开设置对话框。"

#. (entry)
msgid "Removes the file(s) in <placeholder-1/> from version control."
msgstr "从版本控制里移除<placeholder-1/>中的文件。"

#. (entry)
msgid ""
"Renames the file in <placeholder-1/>. The new name for the file is asked with "
"a dialog. To avoid the question about renaming similar files in one step, "
"pass <placeholder-2/>."
msgstr ""
"重命名<placeholder-1/>的文件,会在对话框中询问新文件,为了防止一个步骤中询问相"
"似文件,传递<placeholder-2/>。"

#. (option)
#. (option)
#. (option)
msgid "/path2"
msgstr "/path2"

#. (option)
msgid "/blame"
msgstr "/blame"

#. (entry)
#, fuzzy
msgid ""
"Starts the external diff program specified in the TortoiseSVN settings. The "
"<placeholder-1/> specifies the first file. If the option <placeholder-2/> is "
"set, then the diff program is started with those two files. If <placeholder-3/"
"> is omitted, then the diff is done between the file in <placeholder-4/> and "
"its BASE. To explicitly set the revision numbers use <placeholder-5/> and "
"<placeholder-6/>. If <placeholder-7/> is set and <placeholder-8/> is not set, "
"then the diff is done by first blaming the files with the given revisions."
msgstr ""
"启动 TortoiseSVN 设置的外置比较程序,<placeholder-1/>指定了第一个文件,如果设"
"置了<placeholder-2/>选项,比较程序会用这两个文件启动,如果省略<placeholder-3/"
">,比较程序会比较<placeholder-4/>和它的 BASE。"

#. (para)
msgid ""
"Depending on the URLs and revisions to compare, this either shows a unified "
"diff (if the option <option>unified</option> is set), a dialog with a list of "
"files that have changed or if the URLs point to files starts the diff viewer "
"for those two files."
msgstr ""

#. (para)
msgid ""
"The options <option>url1</option>, <option>url2</option>, <option>revision1</"
"option> and <option>revision2</option> must be specified. The options "
"<option>pegrevision</option>, <option>ignoreancestry</option>, <option>blame</"
"option> and <option>unified</option> are optional."
msgstr ""

#. (entry)
#, fuzzy
msgid ""
"Starts the conflict editor specified in the TortoiseSVN settings with the "
"correct files for the conflicted file in <placeholder-1/>."
msgstr ""
"打开TortoiseSVN设置的冲突工具,在<placeholder-1/>中需要设置冲突文件的正确文"
"件。"

#. (entry)
msgid ""
"Opens the relocate dialog. The <placeholder-1/> specifies the working copy "
"path to relocate."
msgstr "打开重定位对话框,<placeholder-1/>指定了重定位的工作副本路径。"

#. (entry)
msgid "Opens the help file."
msgstr "打开帮助文件"

#. (entry)
msgid ""
"Opens the check-for-modifications dialog. The <placeholder-1/> specifies the "
"working copy directory."
msgstr "打开为修改检出对话框,<placeholder-1/> 指定了工作副本目录。"

#. (option)
#. (option)
msgid "/rev:xxx"
msgstr "/rev:xxx"

#. (option)
msgid "/projectpropertiespath:path/to/wc"
msgstr "/projectpropertiespath:path/to/wc"

#. (entry)
#, fuzzy
msgid ""
"Starts the repository browser dialog, pointing to the URL of the working copy "
"given in <placeholder-1/> or <placeholder-2/> points directly to an URL. An "
"additional option <placeholder-3/> can be used to specify the revision which "
"the repository browser should show. If the <placeholder-4/> is omitted, it "
"defaults to HEAD. If <placeholder-5/> points to an URL, the <placeholder-6/> "
"specifies the path from where to read and use the project properties."
msgstr ""
"打开版本库浏览对话框,URL为工作副本<placeholder-1/>指向的或<placeholder-2/>直"
"接指出的,另外一个选项是<placeholder-3/>,可以用来指定要显示的修订版本号,如果"
"省略<placeholder-4/>,缺省是HEAD。"

#. (literal)
msgid "svn:ignore"
msgstr "svn:ignore"

#. (entry)
msgid ""
"Adds all targets in <placeholder-1/> to the ignore list, i.e. adds the "
"<placeholder-2/> property to those files."
msgstr ""
"将<placeholder-1/>中的对象加入到忽略列表,也就是将这些文件添加到 <placeholder-"
"2/> 属性。"

#. (para)
msgid "Opens the blame dialog for the file specified in <option>/path</option>."
msgstr "为 <option>/path</option> 选项指定的文件打开追溯对话框。"

#. (para)
msgid ""
"If the options <option>/startrev</option> and <option>/endrev</option> are "
"set, then the dialog asking for the blame range is not shown but the revision "
"values of those options are used instead."
msgstr ""
"如果设置了 <option>/startrev</option> 和 <option>/endrev</option> 选项,不会显"
"示询问追溯范围对话框,直接使用这些选项中的版本号。"

#. (para)
msgid ""
"If the option <option>/line:nnn</option> is set, TortoiseBlame will open with "
"the specified line number showing."
msgstr ""
"如果设置了 <option>/line:nnn</option> 选项,TortoiseBlame 会显示指定行数。"

#. (para)
msgid ""
"The options <option>/ignoreeol</option>, <option>/ignorespaces</option> and "
"<option>/ignoreallspaces</option> are also supported."
msgstr ""
"也支持 <option>/ignoreeol</option>,<option>/ignorespaces</option> 和 "
"<option>/ignoreallspaces</option> 选项。"

#. (option)
msgid "/savepath:path"
msgstr "/savepath:path"

#. (option)
msgid "/revision:xxx"
msgstr "/revision:xxx"

#. (entry)
msgid ""
"Saves a file from an URL or working copy path given in <placeholder-1/> to "
"the location given in <placeholder-2/>. The revision is given in <placeholder-"
"3/>. This can be used to get a file with a specific revision."
msgstr ""
"将<placeholder-1/>指定的工作副本或URL的文件保存到<placeholder-2/>,修订版本号"
"在<placeholder-3/>,这样可以得到特定修订版本的文件。"

#. (entry)
msgid "Creates a patch file for the path given in <placeholder-1/>."
msgstr "创建<placeholder-1/>下的补丁文件。"

#. (entry)
msgid "Shows the revision graph for the path given in <placeholder-1/>."
msgstr "显示<placeholder-1/>目录下的版本变化图。"

#. (entry)
#, fuzzy
msgid ""
"Locks a file or all files in a directory given in <placeholder-1/>. The "
"'lock' dialog is shown so the user can enter a comment for the lock."
msgstr ""
"锁定一个文件或一个目录内的所有文件。它会显示‘锁定’对话框,所以用户可以为锁定输"
"入注释。<placeholder-1/>"

#. (entry)
#, fuzzy
msgid "Unlocks a file or all files in a directory given in <placeholder-1/>."
msgstr "解锁一个文件或一个目录内的所有文件... <placeholder-1/>"

#. (entry)
#, fuzzy
msgid ""
"Rebuilds the windows icon cache. Only use this in case the windows icons are "
"corrupted. A side effect of this (which can't be avoided) is that the icons "
"on the desktop get rearranged. To suppress the message box, pass <placeholder-"
"1/>."
msgstr ""
"重建windows的图标缓存,只有windows的图标缓存出了问题才需要这样做,一个副作用就"
"是(不可避免)桌面的图标会重新组织。<placeholder-1/>"

#. (entry)
msgid "Shows the properties dialog for the path given in <placeholder-1/>."
msgstr "显示 <placeholder-1/> 给出的路径之属性对话框。"

#. (para)
#, fuzzy
msgid ""
"Examples (which should be entered on one line): <screen>\n"
"TortoiseProc.exe /command:commit\n"
" /path:\"c:\\svn_wc\\file1.txt*c:\\svn_wc\\file2.txt\"\n"
" /logmsg:\"test log message\" /closeonend:0\n"
"\n"
"TortoiseProc.exe /command:update /path:\"c:\\svn_wc\\\" /closeonend:0\n"
"\n"
"TortoiseProc.exe /command:log /path:\"c:\\svn_wc\\file1.txt\"\n"
" /startrev:50 /endrev:60 /closeonend:0\n"
"</screen>"
msgstr ""
"例子(必须在一行输入): <screen>\n"
"TortoiseProc.exe /command:commit /path:\"c:\\svn_wc\\file1.txt*c:\\svn_wc"
"\\file2.txt\"\n"
" /logmsg:\"test log message\" /closeonend\n"
"\n"
"TortoiseProc.exe /command:update /path:\"c:\\svn_wc\\\" /closeonend\n"
"\n"
"TortoiseProc.exe /command:log /path:\"c:\\svn_wc\\file1.txt\"\n"
" /startrev:50 /endrev:60 /closeonend\n"
"</screen>"

#. (title)
msgid "TortoiseIDiff Commands"
msgstr "TortoiseIDiff 命令"

#. (para)
msgid ""
"The image diff tool has a few command line options which you can use to "
"control how the tool is started. The program is called <literal>TortoiseIDiff."
"exe</literal>."
msgstr ""
"图形比较工具有几个用于控制启动的命令行选项。程序名称是<literal>TortoiseIDiff."
"exe</literal>。"

#. (para)
msgid ""
"The table below lists all the options which can be passed to the image diff "
"tool on the command line."
msgstr "下表列出可以在命令行传递给图形比较工具的所有选项。"

#. (title)
msgid "List of available options"
msgstr "可用选项列表"

#. (entry)
msgid "Option"
msgstr "选项"

#. (entry)
msgid "Path to the file shown on the left."
msgstr "显示在左边的文件路径。"

#. (entry)
#. (entry)
msgid ""
"A title string. This string is used in the image view title instead of the "
"full path to the image file."
msgstr "标题字符串。此字符串用于图形视图标题,替换图形文件的全路径名称。"

#. (entry)
msgid "Path to the file shown on the right."
msgstr "显示在右边的文件路径。"

#. (entry)
msgid ""
"If specified, the image diff tool switches to the overlay mode (alpha blend)."
msgstr "如果指定,图形比较工具切换到重载模式(alpha 混合)。"

#. (entry)
msgid "If specified, the image diff tool fits both images together."
msgstr "如果指定,图形比较工具最大化所有图形。"

#. (entry)
msgid "Shows the image info box."
msgstr "显示图片信息框。"

#. (para)
msgid ""
"Example (which should be entered on one line): <screen>\n"
"TortoiseIDiff.exe /left:\"c:\\images\\img1.jpg\" /lefttitle:\"image 1\"\n"
" /right:\"c:\\images\\img2.jpg\" /righttitle:\"image 2\"\n"
" /fit /overlay\n"
"</screen>"
msgstr ""
"样例(应该在同一行输入): <screen>\n"
"TortoiseIDiff.exe /left:\"c:\\images\\img1.jpg\" /lefttitle:\"image 1\"\n"
" /right:\"c:\\images\\img2.jpg\" /righttitle:\"image 2\"\n"
" /fit /overlay\n"
"</screen>"

#. (title)
msgid "Command Line Interface Cross Reference"
msgstr "命令行交叉索引"

#. (primary)
msgid "command line client"
msgstr "命令行客户端"

#. (primary)
msgid "CLI"
msgstr "CLI"

#. (para)
msgid ""
"Sometimes this manual refers you to the main Subversion documentation, which "
"describes Subversion in terms of the Command Line Interface (CLI). To help "
"you understand what TortoiseSVN is doing behind the scenes, we have compiled "
"a list showing the equivalent CLI commands for each of TortoiseSVN's GUI "
"operations."
msgstr ""
"有时候,本手册会参考Subversion的文档,会以命令行方式(CLI)描述Subversion术语,"
"为了理解TortoiseSVN后台的操作,我们编辑了一份列表,用来展示命令行命令和对应的"
"TortoiseSVN的GUI操作的关系。"

#. (para)
msgid ""
"Even though there are CLI equivalents to what TortoiseSVN does, remember that "
"TortoiseSVN does <emphasis>not</emphasis> call the CLI but uses the "
"Subversion library directly."
msgstr ""
"即使有命令行对应TortoiseSVN的操作,请记住TortoiseSVN<emphasis>没有</emphasis>"
"调用命令行,而是直接使用了Subversion库。"

#. (para)
#, fuzzy
msgid ""
"If you think you have found a bug in TortoiseSVN, we may ask you to try to "
"reproduce it using the CLI, so that we can distinguish TortoiseSVN issues "
"from Subversion issues. This reference tells you which command to try."
msgstr ""
"如果你发现了TortoiseSVN的bug,我们会希望你能用命令行重现它,这样我们可以区分这"
"是TSVN还是Subversion的问题,这个参考告诉你该找那个命令。"

#. (title)
msgid "Conventions and Basic Rules"
msgstr "约定和基本规则"

#. (para)
#, fuzzy
msgid ""
"In the descriptions which follow, the URL for a repository location is shown "
"simply as <literal>URL</literal>, and an example might be <systemitem class="
"\"url\">http://tortoisesvn.tigris.org/svn/tortoisesvn/trunk</systemitem>. The "
"working copy path is shown simply as <literal>PATH</literal>, and an example "
"might be <filename>C:\\TortoiseSVN\\trunk</filename>."
msgstr ""
"在这个描述里,版本库位置URL使用<literal>URL</literal>显示,一个例子是"
"<literal>http://tortoisesvn.tigris.org/svn/tortoisesvn/trunk</literal>,工作副"
"本使用<literal>PATH</literal>显示,一个例子是<literal>C:\\TortoiseSVN\\trunk</"
"literal>。"

#. (para)
msgid ""
"Because TortoiseSVN is a Windows Shell Extension, it is not able to use the "
"notion of a current working directory. All working copy paths must be given "
"using the absolute path, not a relative path."
msgstr ""
"因为TortoiseSVN是一个Windows外壳扩展,它不能使用当前工作副本的概念,所有的工作"
"副本必须使用绝对路径,而不是相对的。"

#. (para)
msgid ""
"Certain items are optional, and these are often controlled by checkboxes or "
"radio buttons in TortoiseSVN. These options are shown in [square brackets] in "
"the command line definitions."
msgstr ""
"特定项目是可选的,TortoiseSVN里这是通过多选项和单选项控制的,这些选项是在命令"
"行定义的[方括号]里显示的。"

#. (screen)
#, no-wrap
msgid ""
"\n"
"svn checkout [-N] [--ignore-externals] [-r rev] URL PATH\n"
msgstr ""
"\n"
"svn checkout [-N] [--ignore-externals] [-r rev] URL PATH\n"

#. (para)
msgid ""
"If <guilabel>Only checkout the top folder</guilabel> is checked, use the "
"<literal>-N</literal> switch."
msgstr ""
"如果希望<guilabel>只检出顶级目录</guilabel>被选中,使用<literal>-N</literal>选"
"项。"

#. (para)
#. (para)
msgid ""
"If <guilabel>Omit externals</guilabel> is checked, use the <literal>--ignore-"
"externals</literal> switch."
msgstr ""
"如果希望<guilabel>忽略外部</guilabel>被选中,使用<literal>--ignore-externals</"
"literal>选型。"

#. (para)
msgid ""
"If you are checking out a specific revision, specify that after the URL using "
"<literal>-r</literal> switch."
msgstr "如果你正在检出特定的修订版本,在URL后使用<literal>-r</literal>指定。"

#. (screen)
#, no-wrap
msgid ""
"\n"
"svn info URL_of_WC\n"
"svn update [-r rev] PATH\n"
msgstr ""
"\n"
"svn info URL_of_WC\n"
"svn update [-r rev] PATH\n"

#. (para)
msgid ""
"Updating multiple items is currently not an atomic operation in Subversion. "
"So TortoiseSVN first finds the HEAD revision of the repository, and then "
"updates all items to that particular revision number to avoid creating a "
"mixed revision working copy."
msgstr ""
"更新多个项目在Subversion还不是原子操作,所以TortoiseSVN会首先找到版本库的HEAD"
"修订版本,然后将所有项目更新到特定修订版本,防止出现混合修订版本的工作副本。"

#. (para)
msgid ""
"If only one item is selected for updating or the selected items are not all "
"from the same repository, TortoiseSVN just updates to HEAD."
msgstr ""
"如果只有一个项目被选中更新,或选中的项目来自不同的版本库,TortoiseSVN只会更新"
"到HEAD。"

#. (para)
msgid ""
"No command line options are used here. <guilabel>Update to revision</"
"guilabel> also implements the update command, but offers more options."
msgstr ""
"没有使用命令行选项,<guilabel>更新到修订版本</guilabel>也实现了更新命令,但提"
"供了更多的选项。"

#. (title)
msgid "Update to Revision"
msgstr "更新到版本"

#. (screen)
#, no-wrap
msgid ""
"\n"
"svn info URL_of_WC\n"
"svn update [-r rev] [-N] [--ignore-externals] PATH\n"
msgstr ""
"\n"
"svn info URL_of_WC\n"
"svn update [-r rev] [-N] [--ignore-externals] PATH\n"

#. (para)
msgid ""
"If <guilabel>Only update the top folder</guilabel> is checked, use the "
"<literal>-N</literal> switch."
msgstr ""
"如果希望<guilabel>只更新顶级目录</guilabel>,使用<literal>-N</literal>选项。"

#. (para)
msgid ""
"In TortoiseSVN, the commit dialog uses several Subversion commands. The first "
"stage is a status check which determines the items in your working copy which "
"can potentially be committed. You can review the list, diff files against "
"BASE and select the items you want to be included in the commit."
msgstr ""
"在TortoiseSVN,提交对话框使用Subversion命令,第一部分是检查工作副本哪些文件可"
"能被提交,然后你可以检查列表,比较与BASE的区别,选择你希望提交包含的项目。"

#. (screen)
#. (screen)
#. (screen)
#, no-wrap
msgid ""
"\n"
"svn status -v PATH\n"
msgstr ""
"\n"
"svn status -v PATH\n"

#. (para)
#. (para)
msgid ""
"If <guilabel>Show unversioned files</guilabel> is checked, TortoiseSVN will "
"also show all unversioned files and folders in the working copy hierarchy, "
"taking account of the ignore rules. This particular feature has no direct "
"equivalent in Subversion, as the <literal>svn status</literal> command does "
"not descend into unversioned folders."
msgstr ""
"如果选择了<guilabel>显示未版本控制的文件</guilabel>,TortoiseSVN会遵循忽略规则"
"显示工作目录中所有未版本控制的文件和文件夹。这个特性在Subversion中没有等价操"
"作,因为<literal>svn status</literal> 命令不扫描未版本控制的文件夹。"

#. (para)
msgid ""
"If you check any unversioned files and folders, those items will first be "
"added to your working copy."
msgstr ""
"如果你选择了未版本控制的文件和文件夹,这些项目都会先增加到你的工作副本。"

#. (screen)
#. (screen)
#, no-wrap
msgid ""
"\n"
"svn add PATH...\n"
msgstr ""
"\n"
"svn add PATH...\n"

#. (para)
msgid ""
"When you click on OK, the Subversion commit takes place. If you have left all "
"the file selection checkboxes in their default state, TortoiseSVN uses a "
"single recursive commit of the working copy. If you deselect some files, then "
"a non-recursive commit (<literal>-N</literal>) must be used, and every path "
"must be specified individually on the commit command line."
msgstr ""
"当你点击确认,开始执行Subversion提交。如果你不修改所有的文件检查框,"
"TortoiseSVN 会递归提交工作副本。如果你取消选择一些文件,那么就必须使用非递归提"
"交 (<literal>-N</literal>) ,每个路径都必须在命令行上单独指定。"

#. (screen)
#, no-wrap
msgid ""
"\n"
"svn commit -m \"LogMessage\" [-N] [--no-unlock] PATH...\n"
msgstr ""
"\n"
"svn commit -m \"LogMessage\" [-N] [--no-unlock] PATH...\n"

#. (para)
#. (para)
#. (para)
msgid ""
"<literal>LogMessage</literal> here represents the contents of the log message "
"edit box. This can be empty."
msgstr "<literal>日志消息</literal>是日志编辑框的内容。它可以为空。"

#. (para)
msgid ""
"If <guilabel>Keep locks</guilabel> is checked, use the <literal>--no-unlock</"
"literal> switch."
msgstr ""
"如果选择了<guilabel>保持锁</guilabel>,就使用<literal>--no-unlock</literal>开"
"关。"

#. (screen)
#, no-wrap
msgid ""
"\n"
"svn diff PATH\n"
msgstr ""
"\n"
"svn diff PATH\n"

#. (para)
#, fuzzy
msgid ""
"If you use Diff from the main context menu, you are diffing a modified file "
"against its BASE revision. The output from the CLI command above also does "
"this and produces output in unified-diff format. However, this is not what "
"TortoiseSVN is using. TortoiseSVN uses TortoiseMerge (or a diff program of "
"your choosing) to display differences visually between full-text files, so "
"there is no direct CLI equivalent."
msgstr ""
"如果你在右键菜单使用差异,就会将修改的文件与基础版本比较。控制台的命令输出也是"
"执行这个操作,输出统一差异格式。然而,TortoiseSVN不使用它。TortoiseSVN 使用"
"TortoiseMerge (或者你选择的比较差异程序)可视化的全文显示差异,所以它没有控制台"
"等价操作。"

#. (para)
msgid ""
"You can also diff any 2 files using TortoiseSVN, whether or not they are "
"version controlled. TortoiseSVN just feeds the two files into the chosen diff "
"program and lets it work out where the differences lie."
msgstr ""
"你可以使用TortoiseSVN,比较任意两个文件的差异,不管他们是否受版本控制。"
"TortoiseSVN只是把这两个文件传递给已经选择的比较差异程序,让它比较差异。"

#. (screen)
#, no-wrap
msgid ""
"\n"
"svn log -v -r 0:N --limit 100 [--stop-on-copy] PATH\n"
" or\n"
"svn log -v -r M:N [--stop-on-copy] PATH\n"
msgstr ""
"\n"
"svn log -v -r 0:N --limit 100 [--stop-on-copy] PATH\n"
" 或者\n"
"svn log -v -r M:N [--stop-on-copy] PATH\n"

#. (para)
msgid ""
"By default, TortoiseSVN tries to fetch 100 log messages using the --limit "
"method. If the settings instruct it to use old APIs, then the second form is "
"used to fetch the log messages for 100 repository revisions."
msgstr ""
"默认情况下,TortoiseSVN尝试用--limit方法取得100个日志消息。如果设置了让它使用"
"旧借口,那么就使用第二种个是获得100个日志消息。"

#. (para)
msgid ""
"If <guilabel>Stop on copy/rename</guilabel> is checked, use the <literal>--"
"stop-on-copy</literal> switch."
msgstr ""
"如果选择了<guilabel>停止于复制/改名</guilabel>,就使用<literal>--stop-on-"
"copy</literal>开关。"

#. (screen)
#, no-wrap
msgid ""
"\n"
"svn status -v PATH\n"
" or\n"
"svn status -u -v PATH\n"
msgstr ""
"\n"
"svn status -v PATH\n"
" 或者\n"
"svn status -u -v PATH\n"

#. (para)
msgid ""
"The initial status check looks only at your working copy. If you click on "
"<guibutton>Check repository</guibutton> then the repository is also checked "
"to see which files would be changed by an update, which requires the "
"<literal>-u</literal> switch."
msgstr ""
"只在你的工作副本执行初始的状态检查。如果你点击<guibutton>检查版本库</"
"guibutton>,那么也检查版本库,察看哪些文件会被更新操作修改,它需要<literal>-"
"u</literal>开关。"

#. (title)
msgid "Revision Graph"
msgstr "版本图"

#. (para)
msgid ""
"The revision graph is a feature of TortoiseSVN only. There's no equivalent in "
"the command line client."
msgstr "版本图是TortoiseSVN特有的,命令行客户端没有等价实现。"

#. (para)
msgid ""
"What TortoiseSVN does is an <screen>\n"
"svn info URL_of_WC\n"
"svn log -v URL\n"
"</screen> where URL is the repository <emphasis>root</emphasis> and then "
"analyzes the data returned."
msgstr ""
"TortoiseSVN执行了这些操作 <screen>\n"
"svn info URL_of_WC\n"
"svn log -v URL\n"
"</screen>其中URL是版本库的 <emphasis>根</emphasis>,返回分析数据。"

#. (title)
msgid "Repo Browser"
msgstr "版本库浏览器"

#. (screen)
#, no-wrap
msgid ""
"\n"
"svn info URL_of_WC\n"
"svn list [-r rev] -v URL\n"
msgstr ""
"\n"
"svn info URL_of_WC\n"
"svn list [-r rev] -v URL\n"

#. (para)
msgid ""
"You can use <literal>svn info</literal> to determine the repository root, "
"which is the top level shown in the repository browser. You cannot navigate "
"<literal>Up</literal> above this level. Also, this command returns all the "
"locking information shown in the repository browser."
msgstr ""
"你可以使用<literal>svn info</literal>检查版本库的根,它在版本库浏览器的顶级显"
"示。你不能浏览它的<literal>上级目录</literal>。同样,这个命令返回所有显示在版"
"本库浏览器的锁信息。"

#. (para)
msgid ""
"The <literal>svn list</literal> call will list the contents of a directory, "
"given a URL and revision."
msgstr "给出URL和可选的版本号,<literal>svn list</literal>列出目录中的内容。"

#. (para)
msgid ""
"This command has no CLI equivalent. It invokes TortoiseMerge or an external 3-"
"way diff/merge tool to look at the files involved in the conflict and sort "
"out which lines to use."
msgstr ""
"这个命令没有控制台等价实现。它调用TortoiseMerge或者外部三路差异/合并工具察看棘"
"手的冲突,挑选出冲突行。"

#. (title)
msgid "Resolved"
msgstr "已解决"

#. (screen)
#, no-wrap
msgid ""
"\n"
"svn resolved PATH\n"
msgstr ""
"\n"
"svn resolved PATH\n"

#. (screen)
#, no-wrap
msgid ""
"\n"
"svn rename CURR_PATH NEW_PATH\n"
msgstr ""
"\n"
"svn rename CURR_PATH NEW_PATH\n"

#. (screen)
#, no-wrap
msgid ""
"\n"
"svn delete PATH\n"
msgstr ""
"\n"
"svn delete PATH\n"

#. (para)
msgid ""
"The first stage is a status check which determines the items in your working "
"copy which can potentially be reverted. You can review the list, diff files "
"against BASE and select the items you want to be included in the revert."
msgstr ""
"首先开始状态检查,察看你的工作副本有哪些项目可以被撤销。你可以复审文件列表,检"
"查这些文件的修改,然后选择你要撤销的项目。"

#. (para)
msgid ""
"When you click on OK, the Subversion revert takes place. If you have left all "
"the file selection checkboxes in their default state, TortoiseSVN uses a "
"single recursive (<literal>-R</literal>) revert of the working copy. If you "
"deselect some files, then every path must be specified individually on the "
"revert command line."
msgstr ""
"当你点击确认时,开始Subversion撤销操作。如果你不修改所有的文件检查框,"
"TortoiseSVN 会递归撤销 (<literal>-R</literal>)工作副本的修改。如果你取消选择一"
"些文件,那么就必须使用非递归撤销 ,每个路径都必须在命令行上单独指定。\""

#. (screen)
#, no-wrap
msgid ""
"\n"
"svn revert [-R] PATH...\n"
msgstr ""
"\n"
"svn revert [-R] PATH...\n"

#. (screen)
#, no-wrap
msgid ""
"\n"
"svn cleanup PATH\n"
msgstr ""
"\n"
"svn cleanup PATH\n"

#. (title)
msgid "Get Lock"
msgstr "获得锁"

#. (para)
msgid ""
"The first stage is a status check which determines the files in your working "
"copy which can potentially be locked. You can select the items you want to be "
"locked."
msgstr ""
"首先开始状态检查,察看你的工作副本有哪些项目可以被加锁。你可以选择想加锁的项"
"目。"

#. (screen)
#, no-wrap
msgid ""
"\n"
"svn lock -m \"LockMessage\" [--force] PATH...\n"
msgstr ""
"\n"
"svn lock -m \"LockMessage\" [--force] PATH...\n"

#. (para)
msgid ""
"<literal>LockMessage</literal> here represents the contents of the lock "
"message edit box. This can be empty."
msgstr "<literal>加锁信息</literal>是加锁编辑框的内容。它可以为空。\""

#. (para)
msgid ""
"If <guilabel>Steal the locks</guilabel> is checked, use the <literal>--force</"
"literal> switch."
msgstr ""
"如果选择了<guilabel>强制锁定</guilabel> ,就使用<literal>--force</literal>开"
"关。"

#. (title)
msgid "Release Lock"
msgstr "释放锁"

#. (screen)
#, no-wrap
msgid ""
"\n"
"svn unlock PATH\n"
msgstr ""
"\n"
"svn unlock PATH\n"

#. (screen)
#, no-wrap
msgid ""
"\n"
"svn copy -m \"LogMessage\" URL URL\n"
" or\n"
"svn copy -m \"LogMessage\" URL_at_rev URL_at_rev\n"
" or\n"
"svn copy -m \"LogMessage\" PATH URL\n"
msgstr ""
"\n"
"svn copy -m \"LogMessage\" URL URL\n"
" 或\n"
"svn copy -m \"LogMessage\" URL_at_rev URL_at_rev\n"
" 或\n"
"svn copy -m \"LogMessage\" PATH URL\n"

#. (listitem)
msgid "Specific revision in repository"
msgstr "指定版本库中的版本"

#. (para)
msgid ""
"The Branch/Tag dialog performs a copy to the repository. There are 3 radio "
"button options: <placeholder-1/> which correspond to the 3 command line "
"variants above."
msgstr ""
"分支/标签对话框在版本库执行复制。有三个单选按钮: <placeholder-1/> 对应上面的三"
"个命令行参数。"

#. (screen)
#, no-wrap
msgid ""
"\n"
"svn info URL_of_WC\n"
"svn switch [-r rev] URL PATH\n"
msgstr ""
"\n"
"svn info URL_of_WC\n"
"svn switch [-r rev] URL PATH\n"

#. (screen)
#, no-wrap
msgid ""
"\n"
"svn merge [--dry-run] --force From_URL_at_revN To_URL_at_revM PATH\n"
msgstr ""
"\n"
"svn merge [--dry-run] --force From_URL_at_revN To_URL_at_revM PATH\n"

#. (para)
#, fuzzy
msgid ""
"The <guibutton>Test Merge</guibutton> performs the same merge with the "
"<literal>--dry-run</literal> switch."
msgstr ""
"<guibutton>Dry run</guibutton>与使用<literal>--dry-run</literal>选项的merge相"
"同。"

#. (screen)
#, no-wrap
msgid ""
"\n"
"svn diff From_URL_at_revN To_URL_at_revM\n"
msgstr ""
"\n"
"svn diff From_URL_at_revN To_URL_at_revM\n"

#. (para)
msgid ""
"The <guibutton>Unified diff</guibutton> shows the diff operation which will "
"be used to do the merge."
msgstr "<guibutton>Unified diff</guibutton>显示了用来合并的区别操作。"

#. (screen)
#, no-wrap
msgid ""
"\n"
"svn export [-r rev] [--ignore-externals] URL Export_PATH\n"
msgstr ""
"\n"
"svn export [-r rev] [--ignore-externals] URL Export_PATH\n"

#. (para)
msgid ""
"This form is used when accessed from an unversioned folder, and the folder is "
"used as the destination."
msgstr "这个形式是当从一个未版本控制目录访问,并且文件夹作为目标。"

#. (para)
msgid ""
"Exporting a working copy to a different location is done without using the "
"Subversion library, so there's no matching command line equivalent."
msgstr ""
"导出一个工作副本到一个目录没有使用Subversion的库,所以没有等同的命令行匹配。"

#. (para)
msgid ""
"What TortoiseSVN does is to copy all files to the new location while showing "
"you the progress of the operation. Unversioned files/folders can optionally "
"be exported too."
msgstr ""
"TortoiseSVN做的只是将所有文件复制到一个新的位置,并且会显示操作的过程。未版本"
"控制的文件/文件夹也可以被导出。"

#. (para)
msgid ""
"In both cases, if <guilabel>Omit externals</guilabel> is checked, use the "
"<literal>--ignore-externals</literal> switch."
msgstr ""
"在两种情况下,如果<guilabel>Omit externals</guilabel>被选中,就相当于使用了"
"<literal>--ignore-externals</literal>选项。"

#. (screen)
#, no-wrap
msgid ""
"\n"
"svn switch --relocate From_URL To_URL\n"
msgstr ""
"\n"
"svn switch --relocate From_URL To_URL\n"

#. (title)
msgid "Create Repository Here"
msgstr "在当前位置创建版本库"

#. (screen)
#, no-wrap
msgid ""
"\n"
"svnadmin create --fs-type fsfs PATH\n"
msgstr ""
"\n"
"svnadmin create --fs-type fsfs PATH\n"

#. (para)
msgid ""
"If you selected a folder, TortoiseSVN first scans it recursively for items "
"which can be added."
msgstr "如果选择了一个文件夹,TortoiseSVN会首先会递归的访问可以添加的条目。"

#. (screen)
#, no-wrap
msgid ""
"\n"
"svn import -m LogMessage PATH URL\n"
msgstr ""
"\n"
"svn import -m LogMessage PATH URL\n"

#. (screen)
#, no-wrap
msgid ""
"\n"
"svn blame -r N:M -v PATH\n"
"svn log -r N:M PATH\n"
msgstr ""
"\n"
"svn blame -r N:M -v PATH\n"
"svn log -r N:M PATH\n"

#. (para)
#, fuzzy
msgid ""
"If you use TortoiseBlame to view the blame info, the file log is also "
"required to show log messages in a tooltip. If you view blame as a text file, "
"this information is not required."
msgstr ""
"如果你使用TortoiseBlame来查看追溯信息,文件日志也需要在工具提上上显示日志信"
"息,如果你以文件方式查看追溯,这个信息不是必须的。"

#. (title)
msgid "Add to Ignore List"
msgstr "加入忽略列表"

#. (screen)
#, no-wrap
msgid ""
"\n"
"svn propget svn:ignore PATH &gt; tempfile\n"
"{edit new ignore item into tempfile}\n"
"svn propset svn:ignore -F tempfile PATH\n"
msgstr ""
"\n"
"svn propget svn:ignore PATH &gt; tempfile\n"
"{编辑新的忽略内容到tempfile文件中}\n"
"svn propset svn:ignore -F tempfile PATH\n"

#. (para)
#, fuzzy
msgid ""
"Because the <literal>svn:ignore</literal> property is often a multi-line "
"value, it is shown here as being changed via a text file rather than directly "
"on the command line."
msgstr ""
"因为svn:ignore通常是多行的,这里是通过文件显示,而不是直接使用命令行操作。"

#. (screen)
#, no-wrap
msgid ""
"\n"
"svn diff PATH &gt; patch-file\n"
msgstr ""
"\n"
"svn diff PATH &gt; patch-file\n"

#. (para)
#, fuzzy
msgid ""
"TortoiseSVN creates a patch file in unified diff format by comparing the "
"working copy with its BASE version."
msgstr ""
"TortoiseSVN通过比较工作副本和它的基础版本产生一个标准区别格式(unified diff "
"format)的补丁文件。"

#. (para)
msgid ""
"Applying patches is a tricky business unless the patch and working copy are "
"at the same revision. Luckily for you, you can use TortoiseMerge, which has "
"no direct equivalent in Subversion."
msgstr ""
"如果补丁和工作副本不是同一版本的话,那么应用补丁会是一件很棘手的事情。幸运的"
"是,你可以使用 TortoiseMerge(在Subversion中没有等同的工具)。"

#. (title)
msgid "Implementation Details"
msgstr "实现细节"

#. (para)
#, fuzzy
msgid ""
"This appendix contains a more detailed discussion of the implementation of "
"some of TortoiseSVN's features."
msgstr "这个附录包括了 TortoiseSVN 使用中可能碰到的一些困难或疑问的解决方法。"

#. (primary)
msgid "overlay priority"
msgstr "重载优先级"

#. (para)
msgid ""
"Every file and folder has a Subversion status value as reported by the "
"Subversion library. In the command line client, these are represented by "
"single letter codes, but in TortoiseSVN they are shown graphically using the "
"icon overlays. Because the number of overlays is very limited, each overlay "
"may represent one of several status values."
msgstr ""

#. (para)
msgid ""
"<graphic fileref=\"images/ConflictIcon.png\"/> The <emphasis>Conflicted</"
"emphasis> overlay is used to represent the <literal>conflicted</literal> "
"state, where an update or switch results in conflicts between local changes "
"and changes downloaded from the repository. It is also used to indicate the "
"<literal>obstructed</literal> state, which can occur when an operation is "
"unable to complete."
msgstr ""

#. (para)
msgid ""
"<graphic fileref=\"images/ModifiedIcon.png\"/> The <emphasis>Modified</"
"emphasis> overlay represents the <literal>modified</literal> state, where you "
"have made local modifications, the <literal>merged</literal> state, where "
"changes from the repository have been merged with local changes, and the "
"<literal>replaced</literal> state, where a file has been deleted and replaced "
"by another different file with the same name."
msgstr ""

#. (para)
msgid ""
"<graphic fileref=\"images/DeletedIcon.png\"/> The <emphasis>Deleted</"
"emphasis> overlay represents the <literal>deleted</literal> state, where an "
"item is scheduled for deletion, or the <literal>missing</literal> state, "
"where an item is not present. Naturally an item which is missing cannot have "
"an overlay itself, but the parent folder can be marked if one of its child "
"items is missing."
msgstr ""

#. (para)
#, fuzzy
msgid ""
"<graphic fileref=\"images/AddedIcon.png\"/> The <emphasis>Added</emphasis> "
"overlay is simply used to represent the <literal>added</literal> status when "
"an item has been added to version control."
msgstr ""
"<graphic fileref=\"../images/AddedIcon.png\"/>加号告诉你有一个文件或是目录已经"
"被计划<literal>加入</literal>版本控制。"

#. (para)
msgid ""
"<graphic fileref=\"images/InSubVersionIcon.png\"/> The <emphasis>In "
"Subversion</emphasis> overlay is used to represent an item which is in the "
"<literal>normal</literal> state, or a versioned item whose state is not yet "
"known. Because TortoiseSVN uses a background caching process to gather "
"status, it may take a few seconds before the overlay updates."
msgstr ""

#. (para)
msgid ""
"<graphic fileref=\"images/ReadOnlyIcon.png\"/> The <emphasis>Needs Lock</"
"emphasis> overlay is used to indicate when a file has the <literal>svn:needs-"
"lock</literal> property set. For working copies which were created using "
"Subversion 1.4.0 and later, the <literal>svn:needs-lock</literal> status is "
"cached locally by Subversion and this is used to determine when to show this "
"overlay. For working copies which are in pre-1.4.x format, TortoiseSVN shows "
"this overlay when the file has read-only status. Note that Subversion "
"automatically upgrades working copies when you update them, although the "
"caching of the <literal>svn:needs-lock</literal> property may not happen "
"until the file itself is updated."
msgstr ""

#. (para)
msgid ""
"<graphic fileref=\"images/LockedIcon.png\"/> The <emphasis>Locked</emphasis> "
"overlay is used when the local working copy holds a lock for that file."
msgstr ""
"<graphic fileref=\"images/LockedIcon.png\"/><emphasis>已经锁定</emphasis>覆盖"
"用于本地工作副本持有此文件的锁。"

#. (para)
#, fuzzy
msgid ""
"<graphic fileref=\"images/IgnoredIcon.png\"/> The <emphasis>Ignored</"
"emphasis> overlay is used to represent an item which is in the "
"<literal>ignored</literal> state, either due to a global ignore pattern, or "
"the <literal>svn:ignore</literal> property of the parent folder. This overlay "
"is optional."
msgstr ""
"<graphic fileref=\"../images/AddedIcon.png\"/>加号告诉你有一个文件或是目录已经"
"被计划<literal>加入</literal>版本控制。"

#. (para)
#, fuzzy
msgid ""
"<graphic fileref=\"images/UnversionedIcon.png\"/> The <emphasis>Unversioned</"
"emphasis> overlay is used to represent an item which is in the "
"<literal>unversioned</literal> state. This is an item in a versioned folder, "
"but which is not under version control itself. This overlay is optional."
msgstr ""
"<graphic fileref=\"../images/AddedIcon.png\"/>加号告诉你有一个文件或是目录已经"
"被计划<literal>加入</literal>版本控制。"

#. (para)
msgid ""
"If an item has subversion status <literal>none</literal> (the item is not "
"within a working copy) then no overlay is shown. If you have chosen to "
"disable the <emphasis>Ignored</emphasis> and <emphasis>Unversioned</emphasis> "
"overlays then no overlay will be shown for those files either."
msgstr ""

#. (para)
msgid ""
"An item can only have one Subversion status value. For example a file could "
"be locally modified and it could be marked for deletion at the same time. "
"Subversion returns a single status value - in this case <literal>deleted</"
"literal>. Those priorities are defined within Subversion itself."
msgstr ""
"每个条目只有一个 Subversion 状态。例如一个文件可以被本地修改,同时被标记为删"
"除。Subversion 返回一个状态 - 即<literal>已经删除</literal>。这些优先级是 "
"Subversion 自己定义的。"

#. (para)
msgid ""
"When TortoiseSVN displays the status recursively (the default setting), each "
"folder displays an overlay reflecting its own status and the status of all "
"its children. In order to display a single <emphasis>summary</emphasis> "
"overlay, we use the priority order shown above to determine which overlay to "
"use, with the <emphasis>Conflicted</emphasis> overlay taking highest priority."
msgstr ""
"当 TortoiseSVN 递归显示状态时(默认配置),每个目录用重载图标显示自己的状态和所"
"有子孙的状态。为了显示单个<emphasis>概要</emphasis>重载,我们使用上述优先级决"
"定使用哪个重载,<emphasis>冲突</emphasis>重载使用最高优先级。"

#. (para)
#, fuzzy
msgid ""
"In fact, you may find that not all of these icons are used on your system. "
"This is because the number of overlays allowed by Windows is limited to 15. "
"Windows uses 4 of those, and the remaining 11 can be used by other "
"applications. If there are not enough overlay slots available, TortoiseSVN "
"tries to be a <quote>Good Citizen (TM)</quote> and limits its use of overlays "
"to give other apps a chance."
msgstr ""
"事实上,你会发现并不是所有的图标被使用在你的系统上。这是由于Windows限制图标重"
"载不能超过15个。Windows自己用了4个,剩下11个可被别的应用程序使用。如果你同时使"
"用了TortoiseCVS,就没有足够的空位了,所以TortoiseSVN希望成为一个<quote>良好市"
"民(TM)</quote>,限制自身的使用,为别的应用留下机会。"

#. (para)
#, fuzzy
msgid ""
"<emphasis>Normal</emphasis>, <emphasis>Modified</emphasis> and "
"<emphasis>Conflicted</emphasis> are always loaded and visible."
msgstr ""
"<literal>正常</literal>, <literal>已修改</literal>和<literal>冲突</literal>总"
"是被载入,并可见。"

#. (para)
#, fuzzy
msgid ""
"<emphasis>Deleted</emphasis> is loaded if possible, but falls back to "
"<emphasis>Modified</emphasis> if there are not enough slots."
msgstr ""
"<literal>已删除</literal>只要有可能的就载入,但如果没有足够的空位,就使用"
"<literal>已修改</literal>来代替。"

#. (para)
#, fuzzy
msgid ""
"<emphasis>Read-Only</emphasis> is loaded if possible, but falls back to "
"<emphasis>Normal</emphasis> if there are not enough slots."
msgstr ""
"<literal>只读</literal>只要有可能就载入,但如果没有足够的空位就使用<literal>正"
"常</literal>来代替。"

#. (para)
#, fuzzy
msgid ""
"<emphasis>Locked</emphasis> is only loaded if there are fewer than 13 "
"overlays already loaded. It falls back to <emphasis>Normal</emphasis> if "
"there are not enough slots."
msgstr ""
"<literal>已锁定</literal>只在少于13个重载已经载入的情况下才加载,如果不满足这"
"个条件就使用<literal>正常</literal>来代替。"

#. (para)
#, fuzzy
msgid ""
"<emphasis>Added</emphasis> is only loaded if there are fewer than 14 overlays "
"already loaded. It falls back to <emphasis>Modified</emphasis> if there are "
"not enough slots."
msgstr ""
"<literal>已增加</literal>只在少于14个重载已经载入的情况下才加载,如果不满足这"
"个条件就使用<literal>已修改</literal>来代替"

#. (title)
msgid "Securing Svnserve using SSH"
msgstr "用 SSH 使服务器更安全"

#. (para)
msgid ""
"This section provides a step-by-step guide to setting up Subversion and "
"TortoiseSVN to use the <literal>svn+ssh</literal> protocol. If you already "
"use authenticated SSH connections to login to your server, then you are "
"already there and you can find more detail in the Subversion book. If you are "
"not using SSH but would like to do so to protect your Subversion "
"installation, this guide gives a simple method which does not involve "
"creating a separate SSH user account on the server for every subversion user."
msgstr ""

#. (para)
msgid ""
"In this implementation we create a single SSH user account for all subversion "
"users, and use different authentication keys to differentiate between the "
"real Subversion users."
msgstr ""

#. (para)
msgid ""
"In this appendix we assume that you already have the subversion tools "
"installed, and that you have created a repository as detailed elsewhere in "
"this manual. Note that you should <emphasis>not</emphasis> start svnserve as "
"a service or daemon when used with SSH."
msgstr ""

#. (para)
msgid ""
"Much of the information here comes from a tutorial provided by Marc Logemann, "
"which can be found at <ulink url=\"http://www.logemann.org/2007/03/13/"
"subversion-tortoisesvn-ssh-howto/\"><citetitle>www.logemann.org</citetitle></"
"ulink> Additional information on setting up a Windows server was provided by "
"Thorsten Müller. Thanks guys!"
msgstr ""

#. (title)
msgid "Setting Up a Linux Server"
msgstr "配置 Linux 服务器"

#. (para)
msgid ""
"You need to have SSH enabled on the server, and here we assume that you will "
"be using OpenSSH. On most distributions this will already be installed. To "
"find out, type: <screen>\n"
"ps xa | grep sshd\n"
"</screen> and look for ssh jobs."
msgstr ""

#. (para)
msgid ""
"One point to note is that if you build Subversion from source and do not "
"provide any argument to <filename>./configure</filename>, Subversion creates "
"a <filename>bin</filename> directory under <filename>/usr/local</filename> "
"and places its binaries there. If you want to use tunneling mode with SSH, "
"you have to be aware that the user logging in via SSH needs to execute the "
"svnserve program and some other binaries. For this reason, either place "
"<filename>/usr/local/bin</filename> into the <literal>PATH</literal> variable "
"or create symbolic links of your binaries to the <filename>/usr/sbin</"
"filename> directory, or to any other directory which is commonly in the "
"<literal>PATH</literal>."
msgstr ""

#. (para)
msgid ""
"To check that everything is OK, login in as the target user with SSH and "
"type: <screen>\n"
"which svnserve\n"
"</screen> This command should tell you if svnserve is reachable."
msgstr ""

#. (para)
msgid ""
"Create a new user which we will use to access the svn repository: <screen>\n"
"useradd -m svnuser\n"
"</screen> Be sure to give this user full access rights to the repository."
msgstr ""

#. (title)
msgid "Setting Up a Windows Server"
msgstr "配置 Windows 服务器"

#. (para)
msgid ""
"Install Cygwin SSH daemon as described here: <ulink url=\"http://pigtail.net/"
"LRP/printsrv/cygwin-sshd.html\"><citetitle>http://pigtail.net/LRP/printsrv/"
"cygwin-sshd.html</citetitle></ulink>"
msgstr ""

#. (para)
msgid ""
"Create a new Windows user account <literal>svnuser</literal> which we will "
"use to access the repository. Be sure to give this user full access rights to "
"the repository."
msgstr ""

#. (para)
msgid ""
"If there is no password file yet then create one from the Cygwin console "
"using: <screen>\n"
"mkpasswd -l &gt; /etc/passwd\n"
"</screen>"
msgstr ""

#. (title)
msgid "SSH Client Tools for use with TortoiseSVN"
msgstr "用于 TortoiseSVN 的 SSH 客户端工具"

#. (para)
msgid ""
"Grab the tools we need for using SSH on the windows client from this site: "
"<ulink url=\"http://www.chiark.greenend.org.uk/~sgtatham/putty/"
"\"><citetitle>http://www.chiark.greenend.org.uk/~sgtatham/putty/</citetitle></"
"ulink> Just go to the download section and get <filename>Putty</filename>, "
"<filename>Plink</filename>, <filename>Pageant</filename> and "
"<filename>Puttygen</filename>."
msgstr ""

#. (title)
msgid "Creating OpenSSH Certificates"
msgstr "创建 OpenSSH 证书"

#. (para)
msgid ""
"The next step is to create a key pair for authentication. There are two "
"possible ways to create keys. The first is to create the keys with PuTTYgen "
"on the client, upload the public key to your server and use the private key "
"with PuTTY. The other is to create the key pair with the OpenSSH tool ssh-"
"keygen, download the private key to your client and convert the private key "
"to a PuTTY-style private key."
msgstr ""

#. (title)
msgid "Create Keys using ssh-keygen"
msgstr "使用 ssh-keygen 创建密钥"

#. (para)
msgid ""
"Login to the server as <literal>root</literal> or <literal>svnuser</literal> "
"and type: <screen>\n"
"ssh-keygen -b 1024 -t dsa -N passphrase -f keyfile\n"
"</screen> substituting a real pass-phrase (which only you know) and key file. "
"We just created a SSH2 DSA key with 1024 bit key-phrase. If you type "
"<screen>\n"
"ls -l keyfile*\n"
"</screen> you will see two files, <filename>keyfile</filename> and "
"<filename>keyfile.pub</filename>. As you might guess, the <filename>.pub</"
"filename> file is the public key file, the other is the private one."
msgstr ""

#. (para)
msgid ""
"Append the public key to those in the <filename>.ssh</filename> folder within "
"the <literal>svnuser</literal> home directory: <screen>\n"
"cat keyfile.pub &gt;&gt; /home/svnuser/.ssh/authorized_keys\n"
"</screen>"
msgstr ""

#. (para)
msgid ""
"In order to use the private key we generated, we have to convert it to a "
"putty format. This is because the private key file format is not specified by "
"a standards body. After you download the private key file to your client PC, "
"start PuTTYgen and use <menuchoice><guimenu>Conversions</"
"guimenu><guimenuitem>Import key</guimenuitem></menuchoice>. Browse to your "
"file <filename>keyfile</filename> which you got from the server the "
"passphrase you used when creating the key. Finally click on <guibutton>Save "
"private key</guibutton> and save the file as <filename>keyfile.PPK</filename>."
msgstr ""

#. (title)
msgid "Create Keys using PuTTYgen"
msgstr "使用 PuTTYgen 创建密钥"

#. (para)
msgid ""
"Use PuTTYgen to generate a public-key/private-key pair and save it. Copy the "
"public key to the server and append it to those in the <filename>.ssh</"
"filename> folder within the <literal>svnuser</literal> home directory: "
"<screen>\n"
"cat keyfile.pub &gt;&gt; /home/svnuser/.ssh/authorized_keys\n"
"</screen>"
msgstr ""

#. (title)
msgid "Test using PuTTY"
msgstr "使用 PuTTY 测试"

#. (para)
msgid ""
"To test the connection we will use PuTTY. Start the program and on the "
"<guilabel>Session</guilabel> tab set the hostname to the name or IP address "
"of your server, the protocol to SSH and save the session as "
"<literal>SvnConnection</literal> or whatever name you prefer. On the "
"<guilabel>SSH</guilabel> tab set the preferred SSH protocol version to 2 and "
"from <guilabel>Auth</guilabel> set the full path to the <literal>.PPK</"
"literal> private key file you converted earlier. Go back to the "
"<guilabel>Sessions</guilabel> tab and hit the <guilabel>Save</guilabel> "
"button. You will now see <literal>SvnConnection</literal> in the list of "
"saved sessions."
msgstr ""

#. (para)
msgid ""
"Click on <guilabel>Open</guilabel> and you should see a telnet style login "
"prompt. Use <literal>svnuser</literal> as the user name and if all is well "
"you should connect directly without being prompted for a password."
msgstr ""

#. (para)
msgid ""
"You may need to edit <filename>/etc/sshd_config</filename> on the server. "
"Edit lines as follows and restart the SSH service afterwards. <screen>\n"
"PubkeyAuthentication yes\n"
"PasswordAuthentication no\n"
"PermitEmptyPasswords no\n"
"ChallengeResponseAuthentication no\n"
"</screen>"
msgstr ""

#. (title)
msgid "Testing SSH with TortoiseSVN"
msgstr "使用 TortoiseSVN 测试 SSH"

#. (para)
msgid ""
"So far we have only tested that you can login using SSH. Now we need to make "
"sure that the SSH connection can actually run svnserve. On the server modify "
"<filename>/home/svnuser/.ssh/authorized_keys</filename> as follows to allow "
"many subversion authors to use the same system account, <literal>svnuser</"
"literal>. Note that every subversion author uses the same login but a "
"different authentication key, thus you have to add one line for every author."
msgstr ""

#. (para)
msgid ""
"Note: This is all on one very long line. <screen>\n"
"command=\"svnserve -t -r &lt;ReposRootPath&gt; --tunnel-user=&lt;author&gt;"
"\",\n"
" no-port-forwarding,no-agent-forwarding,no-X11-forwarding,\n"
" no-pty ssh-rsa &lt;PublicKey&gt; &lt;Comment&gt;\n"
"</screen> There are several values that you need to set according to your "
"setup."
msgstr ""

#. (para)
msgid ""
"<literal>&lt;ReposRootPath&gt;</literal> should be replaced with the path to "
"the directory containing your repositories. This avoids the need to specify "
"full server paths within URLs. Note that you must use forward slashes even on "
"a Windows server, e.g. <filename>c:/svn/reposroot</filename>. In the examples "
"below we assume that you have a repository folder within the repository root "
"called <filename>repos</filename>."
msgstr ""

#. (para)
msgid ""
"<literal>&lt;author&gt;</literal> should be replaced with the svn author that "
"you want to be stored on commit. This also allows svnserve to use its own "
"access rights within <filename>svnserve.conf</filename>."
msgstr ""

#. (para)
msgid ""
"<literal>&lt;PublicKey&gt;</literal> should be replaced with the public key "
"that you generated earlier."
msgstr ""

#. (para)
msgid ""
"<literal>&lt;Comment&gt;</literal> can be any comment you like, but it is "
"useful for mapping an svn author name to the person's real name."
msgstr ""

#. (para)
msgid ""
"Right click on any folder in Windows Explorer and select "
"<menuchoice><guimenu>TortoiseSVN</guimenu><guimenuitem>Repo-Browser</"
"guimenuitem></menuchoice>. You will be prompted to enter a URL, so enter one "
"in this form: <screen>\n"
"svn+ssh://svnuser@SvnConnection/repos\n"
"</screen> What does this URL mean? The Schema name is <literal>svn+ssh</"
"literal> which tells TortoiseSVN how to handle the requests to the server. "
"After the double slash, you specify the user to connect to the server, in our "
"case <literal>svnuser</literal>. After the <literal>@</literal> we supply our "
"PuTTY session name. This session name contains all details like where to find "
"the private key and the server's IP or DNS. Lastly we have to provide the "
"path to the repository, relative to the repository root on the server, as "
"specified in the <filename>authorized_keys</filename> file."
msgstr ""

#. (para)
msgid ""
"Click on <guibutton>OK</guibutton> and you should be able to browse the "
"repository content. If so you now have a running SSH tunnel in conjunction "
"with TortoiseSVN."
msgstr ""

#. (para)
msgid ""
"Note that by default TortoiseSVN uses its own version of Plink to connect. "
"This avoids a console window popping up for every authentication attempt, but "
"it also means that there is nowhere for error messages to appear. If you "
"receive the error <quote>Unable to write to standard output</quote>, you can "
"try specifying Plink as the client in TortoiseSVN's network settings. This "
"will allow you to see the real error message generated by Plink."
msgstr ""

#. (title)
msgid "SSH Configuration Variants"
msgstr "SSH 配置参数"

#. (para)
msgid ""
"One way to simplify the URL in TortoiseSVN is to set the user inside the "
"PuTTY session. For this you have to load your already defined session "
"<literal>SvnConnection</literal> in PuTTY and in the <guilabel>Connection</"
"guilabel> tab set <guilabel>Auto login user</guilabel> to the user name, e.g. "
"<literal>svnuser</literal>. Save your PuTTY session as before and try the "
"following URL inside TortoiseSVN: <screen>\n"
"svn+ssh://SvnConnection/repos\n"
"</screen> This time we only provide the PuTTY session <literal>SvnConnection</"
"literal> to the SSH client TortoiseSVN uses (TortoisePlink.exe). This client "
"will check the session for all necessary details."
msgstr ""

#. (para)
msgid ""
"At the time of writing PuTTY does not check all saved configurations, so if "
"you have multiple configurations with the same server name, it will pick the "
"first one which matches. Also, if you edit the default configuration and save "
"it, the auto login user name is <emphasis>not</emphasis> saved."
msgstr ""

#. (para)
msgid ""
"Many people like to use Pageant for storing all their keys. Because a PuTTY "
"session is capable of storing a key, you don't always need Pageant. But "
"imagine you want to store keys for several different servers; in that case "
"you would have to edit the PuTTY session over and over again, depending on "
"the server you are trying to connect with. In this situation Pageant makes "
"perfect sense, because when PuTTY, Plink, TortoisePlink or any other PuTTY-"
"based tool is trying to connect to an SSH server, it checks all private keys "
"that Pageant holds to initiate the connection."
msgstr ""

#. (para)
msgid ""
"For this task, simply run Pageant and add the private key. It should be the "
"same private key you defined in the PuTTY session above. If you use Pageant "
"for private key storage, you can delete the reference to the private key file "
"in your saved PuTTY session. You can add more keys for other servers, or "
"other users of course."
msgstr ""

#. (para)
msgid ""
"If you don't want to repeat this procedure after every reboot of your client, "
"you should place Pageant in the auto-start group of your Windows "
"installation. You can append the keys with complete paths as command line "
"arguments to Pageant.exe"
msgstr ""

#. (para)
msgid ""
"The last way to connect to an SSH server is simply by using this URL inside "
"TortoiseSVN: <screen>\n"
"svn+ssh://svnuser@100.101.102.103/repos\n"
"svn+ssh://svnuser@mydomain.com/repos\n"
"</screen> As you can see, we don't use a saved PuTTY session but an IP "
"address (or domain name) as the connection target. We also supply the user, "
"but you might ask how the private key file will be found. Because "
"TortoisePlink.exe is just a modified version of the standard Plink tool from "
"the PuTTY suite, TortoiseSVN will also try all the keys stored in Pageant."
msgstr ""

#. (para)
msgid ""
"If you use this last method, be sure you do not have a default username set "
"in PuTTY. We have had reports of a bug in PuTTY causing connections to close "
"in this case. To remove the default user, simply clear "
"<filename>HKEY_CURRENT_USER\\Software\\SimonTatham\\Putty\\Sessions\\Default%"
"20Settings\\HostName</filename>"
msgstr ""

#. (title)
msgid "Glossary"
msgstr "术语表"

#. (para)
msgid ""
"A Subversion command that is used to add a file or directory to your working "
"copy. The new items are added to the repository when you commit."
msgstr ""
"向你的工作副本中增加文件或者目录时使用的 Subversion 命令。在你提交的时候新的项"
"就会被加入到版本库中。"

#. (glossterm)
msgid "BASE revision"
msgstr "基础版本(BASE revision)"

#. (para)
msgid ""
"The current base revision of a file or folder in your <emphasis>working copy</"
"emphasis>. This is the revision the file or folder was in, when the last "
"checkout, update or commit was run. The BASE revision is normally not equal "
"to the HEAD revision."
msgstr ""
"当前<emphasis>工作副本</emphasis>里的文件或目录的基础版本。是文件或目录最后被"
"检出、更新或者提交时的版本。基础版本通常和HEAD版本不一致。"

#. (para)
msgid ""
"This command is for text files only, and it annotates every line to show the "
"repository revision in which it was last changed, and the author who made "
"that change. Our GUI implementation is called TortoiseBlame and it also shows "
"the commit date/time and the log message when you hover the mouse of the "
"revision number."
msgstr ""
"这个命令只能用于文本文件,它将会标记每一行来显示版本库修订版本的最后修改的修订"
"和作出修改的人。我们的GUI实现叫做TortoiseBlame,在你将鼠标移到修订版本号码上"
"时,它也会显示时间和日志信息。"

#. (glossterm)
msgid "BDB"
msgstr "BDB"

#. (para)
msgid ""
"Berkeley DB. A well tested database backend for repositories, that cannot be "
"used on network shares. Default for pre 1.2 repositories."
msgstr ""
"伯克利DB(Berkeley DB),版本库可以使用的一种经过充分测试的后台数据库实现,不能"
"在通过网络共享的文件系统上使用,伯克利DB是 Subversion 1.2 版本以前的缺省版本库"
"格式。"

#. (glossterm)
msgid "Branch"
msgstr "分支"

#. (para)
#, fuzzy
msgid ""
"A term frequently used in revision control systems to describe what happens "
"when development forks at a particular point and follows 2 separate paths. "
"You can create a branch off the main development line so as to develop a new "
"feature without rendering the main line unstable. Or you can branch a stable "
"release to which you make only bug fixes, while new developments take place "
"on the unstable trunk. In Subversion a branch is implemented as a "
"<quote>cheap copy</quote>."
msgstr ""
"有一个版本控制系统经常使用,来描述在某个时间点的两个人追随不同的路径的术语。你"
"可以创建一个分支离开开发的主线来添加一个新特性,而不必影响主线的稳定,或者你可"
"以创建一个分支用来发布bug修正,而新的开发发生在不稳定的主干。在 Subversion,分"
"支是使用<quote>廉价的复制</quote>实现的。"

#. (para)
msgid ""
"A Subversion command which creates a local working copy in an empty directory "
"by downloading versioned files from the repository."
msgstr ""
"一个 Subversion 命令在空目录通过从版本库下载版本控制的文件来创建本地工作副本。"

#. (para)
#, fuzzy
msgid ""
"To quote from the Subversion book: <quote> Recursively clean up the working "
"copy, removing locks and resuming unfinished operations. If you ever get a "
"<emphasis>working copy locked</emphasis> error, run this command to remove "
"stale locks and get your working copy into a usable state again. </quote> "
"Note that in this context <emphasis>lock</emphasis> refers to local "
"filesystem locking, not repository locking."
msgstr ""
"来自 Subversion 手册的引用: <quote>递归的清理工作副本,删除锁定和保留的未完成"
"操作。如果你得到<literal>工作副本已锁定</literal>的错误,运行这个命令删除无用"
"的锁定,并将工作副本恢复到可用状态。</quote>"

#. (para)
msgid ""
"This Subversion command is used to pass the changes in your local working "
"copy back into the repository, creating a new repository revision."
msgstr ""
"一个 Subversion 操作,用来将本地修改的内容传递回版本库,创建一个新的版本库修订"
"版本。"

#. (glossterm)
msgid "Conflict"
msgstr "冲突"

#. (para)
msgid ""
"When changes from the repository are merged with local changes, sometimes "
"those changes occur on the same lines. In this case Subversion cannot "
"automatically decide which version to use and the file is said to be in "
"conflict. You have to edit the file manually and resolve the conflict before "
"you can commit any further changes."
msgstr ""
"当版本库的修改合并到本地修改,有时候修改发生在同一行,这种情况下,Subversion "
"不能自动决定使用文件的那一行,在提交之前,你需要手工编辑文件解决冲突。"

#. (glossterm)
msgid "Copy"
msgstr "复制"

#. (para)
msgid ""
"In a Subversion repository you can create a copy of a single file or an "
"entire tree. These are implemented as <quote>cheap copies</quote> which act a "
"bit like a link to the original in that they take up almost no space. Making "
"a copy preserves the history of the item in the copy, so you can trace "
"changes made before the copy was made."
msgstr ""
"在 Subversion 版本库,你可以创建一个文件或整个目录树的副本,这是通过<quote>廉"
"价复制</quote>实现的,看起来很像链接到原来的位置,几乎不占用任何空间。创建一个"
"保存历史的副本,这样你就可以跟踪副本之前的修改。"

#. (para)
#, fuzzy
msgid ""
"When you delete a versioned item (and commit the change) the item no longer "
"exists in the repository after the committed revision. But of course it still "
"exists in earlier repository revisions, so you can still access it. If "
"necessary, you can copy a deleted item and <quote>resurrect</quote> it "
"complete with history."
msgstr ""
"当你删除了一个版本控制的条目(并且提交这个修改),这个条目将不会存在于版本库以后"
"的修订。但它还是存在于版本库的以前的修订版本里,如果必要,你可以复制一个删除的"
"条目回来,并且保持所有的历史。"

#. (para)
msgid ""
"Shorthand for <quote>Show Differences</quote>. Very useful when you want to "
"see exactly what changes have been made."
msgstr ""
"<quote>显示区别</quote>的快捷方式,当你希望查看你所做修改的时候非常有用。"

#. (para)
msgid ""
"This command produces a copy of a versioned folder, just like a working copy, "
"but without the local <literal>.svn</literal> folders."
msgstr ""
"这个命令创建了一个版本控制目录的副本,就像工作副本,但是没有<literal>.svn</"
"literal>目录。"

#. (glossterm)
msgid "FSFS"
msgstr "FSFS"

#. (para)
#, fuzzy
msgid ""
"A proprietary Subversion filesystem backend for repositories. Can be used on "
"network shares. Default for 1.2 and newer repositories."
msgstr ""
"FS文件系统,版本库可以使用的一种 Subversion 专用的后台文件系统格式,能够在通过"
"网络共享的文件系统上使用,FSFS 是Subversion 1.2 版本以后的缺省版本库格式。"

#. (para)
msgid "Group policy object"
msgstr "组策略对象"

#. (glossterm)
msgid "HEAD revision"
msgstr "最新版本(HEAD revision)"

#. (para)
msgid ""
"The latest revision of a file or folder in the <emphasis>repository</"
"emphasis>."
msgstr "<emphasis>版本库</emphasis>里文件或目录的最新版本。"

#. (para)
msgid ""
"Subversion command to import an entire folder hierarchy into the repository "
"in a single revision."
msgstr "在一个修订里将整个目录导入到版本库的 Subversion 命令。"

#. (para)
#, fuzzy
msgid ""
"When you take out a lock on a versioned item, you mark it in the repository "
"as non-committable, except from the working copy where the lock was taken out."
msgstr ""
"当一个版本控制条目的被你锁定,就是将它在版本库里标示为不可提交,只有作出锁定的"
"工作副本可以提交。"

#. (glossterm)
msgid "Log"
msgstr "日志"

#. (para)
msgid ""
"Show the revision history of a file or folder. Also known as <quote>History</"
"quote>."
msgstr "显示一个文件或是文件夹的版本历史。也就是<quote>历史</quote>。"

#. (glossterm)
msgid "History"
msgstr "历史"

#. (para)
msgid ""
"Show the revision history of a file or folder. Also known as <quote>Log</"
"quote>."
msgstr "显示文件或目录的历史修订,也被称为<quote>Log</quote>。"

#. (para)
msgid ""
"The process by which changes from the repository are added to your working "
"copy without disrupting any changes you have already made locally. Sometimes "
"these changes cannot be reconciled automatically and the working copy is said "
"to be in conflict."
msgstr ""
"这个过程会查看版本库添加到工作副本的的修改,而不会破坏你在本地的修改,有时候这"
"些修改可能不会自动的结合,也就是冲突了。"

#. (para)
msgid ""
"Merging happens automatically when you update your working copy. You can also "
"merge specific changes from another branch using TortoiseSVN's Merge command."
msgstr ""
"在你更新工作副本时会自动合并,你也可以使用TortoiseSVN的合并命令从另一条分支进"
"行合并。"

#. (glossterm)
msgid "Patch"
msgstr "补丁"

#. (para)
msgid ""
"If a working copy has changes to text files only, it is possible to use "
"Subversion's Diff command to generate a single file summary of those changes "
"in Unified Diff format. A file of this type is often referred to as a "
"<quote>Patch</quote>, and it can be emailed to someone else (or to a mailing "
"list) and applied to another working copy. Someone without commit access can "
"make changes and submit a patch file for an authorized committer to apply. Or "
"if you are unsure about a change you can submit a patch for others to review."
msgstr ""
"如果工作副本只有文本文件有修改,也可以使用 Subversion 的 Diff 命令生成标准区别"
"格式的单文件的修改摘要。这种文件通常被叫做<quote>补丁</quote>,可以邮寄给任何"
"人,使之可以应用到另一个工作副本。一些没有提交访问的人可以通过提交补丁文件给有"
"授权的人来应用补丁,或者是在不确定修改时提交补丁给别人进行评审。"

#. (glossterm)
msgid "Property"
msgstr "属性"

#. (para)
msgid ""
"In addition to versioning your directories and files, Subversion allows you "
"to add versioned metadata - referred to as <quote>properties</quote> to each "
"of your versioned directories and files. Each property has a name and a "
"value, rather like a registry key. Subversion has some special properties "
"which it uses internally, such as <literal>svn:eol-style</literal>. "
"TortoiseSVN has some too, such as <literal>tsvn:logminsize</literal>. You can "
"add your own properties with any name and value you choose."
msgstr ""
"除了版本控制文件和目录,Subversion 允许你添加版本控制的元数据 - 被称作每个文件"
"和目录的<quote>属性</quote> 。每个属性都有一个名称和一个值,非常类似于注册表"
"键。Subversion 有一些内置的特别属性,例如 <literal>svn:eol-style</literal>。"
"TortoiseSVN 也有一些类似的,例如 <literal>tsvn:logminsize</literal>,你可以选"
"择名称和值添加你自己的属性。"

#. (para)
msgid ""
"If your repository moves, perhaps because you have moved it to a different "
"directory on your server, or the server domain name has changed, you need to "
"<quote>relocate</quote> your working copy so that its repository URLs point "
"to the new location."
msgstr ""
"如果你的版本库移动了,或许是因为移动到了一个新的目录,或者是域名改变,你需要"
"<quote>relocate</quote>你的工作副本,这样你的版本库URL指向新的地址。"

#. (para)
msgid ""
"Note: you should only use this command if your working copy is referring to "
"the same location in the same repository, but the repository itself has "
"moved. In any other circumstance you probably need the <quote>Switch</quote> "
"command instead."
msgstr ""
"注意: 工作副本必须是指向同一个版本库的同一个位置,是版本库本身移动了。在其他几"
"种情况下,你很有可能是需要<quote>Switch</quote>命令。"

#. (glossterm)
msgid "Repository"
msgstr "版本库"

#. (para)
msgid ""
"A repository is a central place where data is stored and maintained. A "
"repository can be a place where multiple databases or files are located for "
"distribution over a network, or a repository can be a location that is "
"directly accessible to the user without having to travel across a network."
msgstr ""
"版本库是进行数据存储和维护的中心。版本库既可以由分布在网络上的若干数据库或者文"
"件组成,也可以存放在用户不需要通过网络就可以直接访问的某个位置。"

#. (para)
msgid ""
"When files in a working copy are left in a conflicted state following a "
"merge, those conflicts must be sorted out by a human using an editor (or "
"perhaps TortoiseMerge). This process is referred to as <quote>Resolving "
"Conflicts</quote>. When this is complete you can mark the conflicted files as "
"being resolved, which allows them to be committed."
msgstr ""
"当合并之后版本库的文件进入了冲突状态,必须有人用编辑器解决冲突(或者是"
"TortoiseMerge),这个过程称作<quote>解决冲突</quote>,当此过程结束,你可以将冲"
"突文件标示为解决,将会运行提交这个文件。"

#. (para)
msgid ""
"Subversion keeps a local <quote>pristine</quote> copy of each file as it was "
"when you last updated your working copy. If you have made changes and decide "
"you want to undo them, you can use the <quote>revert</quote> command to go "
"back to the pristine copy."
msgstr ""
"Subversion 会为每个更新到工作副本的文件保留一份<quote>原始</quote>副本。如果你"
"做出了修改,并希望取消修改,你可以使用<quote>revert</quote>回到原始状态。"

#. (glossterm)
msgid "Revision"
msgstr "Revision"

#. (para)
msgid ""
"Every time you commit a set of changes, you create one new <quote>revision</"
"quote> in the repository. Each revision represents the state of the "
"repository tree at a certain point in its history. If you want to go back in "
"time you can examine the repository as it was at revision N."
msgstr ""
"每当你提交一组修改,你会在版本库创建一个<quote>修订版本</quote>,每个修订代表"
"了版本库树在历史上某一点的状态,如果你希望回到历史,你可以回到以前的修订版本"
"N。"

#. (para)
msgid ""
"In another sense, a revision can refer to the set of changes that were made "
"when that revision was created."
msgstr "另一种情况下,你可以把修订看作修订版本建立的修改集。"

#. (glossterm)
msgid "Revision Property (revprop)"
msgstr "版本属性(revprop)"

#. (para)
msgid ""
"Just as files can have properties, so can each revision in the repository. "
"Some special revprops are added automatically when the revision is created, "
"namely: <literal>svn:date svn:author svn:log</literal> which represent the "
"commit date/time, the committer and the log message respectively. These "
"properties can be edited, but they are not versioned, so any change is "
"permanent and cannot be undone."
msgstr ""
"就像文件,版本库的每个修订也可以有属性。一些特殊的修订属性会在修订版本创建时自"
"动生成,例如: <literal>svn:date svn:author svn:log</literal>代表了提交的时间,"
"提交者和日志信息。这些属性可以编辑,但是这些属性都不是版本控制的,所以任何修改"
"都是永久的,不可回退的。"

#. (glossterm)
msgid "SVN"
msgstr "SVN"

#. (para)
msgid "A frequently-used abbreviation for Subversion."
msgstr "Subversion 的常见缩写形式。"

#. (para)
msgid ""
"The name of the Subversion custom protocol used by the <quote>svnserve</"
"quote> repository server."
msgstr "Subversion 的<quote>svnserve</quote>版本库服务器使用的自定义协议名称。"

#. (para)
msgid ""
"Just as <quote>Update-to-revision</quote> changes the time window of a "
"working copy to look at a different point in history, so <quote>Switch</"
"quote> changes the space window of a working copy so that it points to a "
"different part of the repository. It is particularly useful when working on "
"trunk and branches where only a few files differ. You can switch your working "
"copy between the two and only the changed files will be transferred."
msgstr ""
"就像<quote>Update-to-revision</quote>从历史上改变了工作副本的视点,"
"<quote>Switch</quote>改变了工作副本空间上的视点。当主干和分支只有微小差别时,"
"这个命令非常有用,你可以在目录之间跳转,而只会有很小区别需要传输。"

#. (para)
msgid ""
"This Subversion command pulls down the latest changes from the repository "
"into your working copy, merging any changes made by others with local changes "
"in the working copy."
msgstr ""
"这个命令将最新的修改从版本库下载到工作副本,合并其他人的修改和工作副本的本地修"
"改。"

#. (glossterm)
msgid "Working Copy"
msgstr "工作副本"

#. (para)
msgid ""
"This is your local <quote>sandbox</quote>, the area where you work on the "
"versioned files, and it normally resides on your local hard disk. You create "
"a working copy by doing a <quote>Checkout</quote> from a repository, and you "
"feed your changes back into the repository using <quote>Commit</quote>."
msgstr ""
"这是你的本地<quote>沙盒</quote>,这个区域是你工作在版本控制文件的地方,它一般"
"存在于你的本地磁盘,你可以使用<quote>Checkout</quote>从版本库创建一个工作副"
"本,然后使用<quote>Commit</quote>将修改传递回版本库。"

#. Put one translator per line, in the form of NAME <EMAIL>.
#. (None)
msgid "translator-credits"
msgstr ""
"Dongsheng Song <dongsheng.song_at_gmail.com>, 2006-2008\n"
"rocksun <daijun_at_gmail.com>, 2006-2007\n"
"amo <amosir_at_gmail.com>, 2006\n"
"Jaxx_chen <Jaxx.Chen_at_gmail.com>, 2006\n"
"kkeric <kkeric_at_sina.com>, 2006\n"
"liuheqi <liuheqi_at_gmail.com>, 2006\n"
"lulu2me <lu-liuyun_at_163.com>, 2006\n"
"Stan <thinkernel_at_yeah.net>, 2006\n"
"sunjing <sunjingzhi_at_gmail.com>, 2006\n"
"Tan Ruyan <try876_at_gmail.com>, 2006\n"
"xingyu.wang <xingyu.wang_at_gmail.com>, 2006\n"
"yasakya <yasakya_at_gmail.com>, 2006"

#. Place the translation of 'translation' here.
#. (None)
msgid "translator-translation"
msgstr "译者"
Received on 2009-03-11 16:04:19 CET

This is an archived mail posted to the TortoiseSVN Dev mailing list.

This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.