[svnbook commit] r1968 - trunk/src/zh/book

rocksun svnbook-dev at red-bean.com
Tue Jan 31 01:24:23 CST 2006


Author: rocksun
Date: Tue Jan 31 01:22:38 2006
New Revision: 1968

Modified:
   trunk/src/zh/book/appb.xml
   trunk/src/zh/book/ch07.xml
   trunk/src/zh/book/ch09.xml

Log:
* zh/book/ch07.xml: complete translate to 1.2
* zh/book/ch09.xml: complete translate to 1.2
* zh/book/appb.xml: complete translate to 1.2





Modified: trunk/src/zh/book/appb.xml
==============================================================================
--- trunk/src/zh/book/appb.xml	(original)
+++ trunk/src/zh/book/appb.xml	Tue Jan 31 01:22:38 2006
@@ -36,11 +36,10 @@
       <variablelist>
 
         <varlistentry>
-          <term>Resources</term>
+          <term>资源</term>
           <listitem>
-            <para> WebDAV lingo refers to any server-side object
-              (that can be described with a URI) as a
-              <firstterm>resource</firstterm>.</para>
+            <para>WebDAV方言里将服务器端的对象(可以用URI描述)称为<firstterm>资源</firstterm>。
+            </para>
           </listitem>
         </varlistentry>
 
@@ -77,12 +76,10 @@
         </varlistentry>
 
         <varlistentry>
-          <term>Access control</term>
+          <term>访问控制</term>
           <listitem>             
-            <para>A more recent specification (RFC 3744) defines a
-              system for defining access control lists (ACLs) on
-              WebDAV resources.  Some clients and servers have begun
-              to implement this feature.</para>
+            <para>一个更近的规范(RFC 3744)定义了一个WebDAV资源访问控制列表的系统,一些客户端和服务器正在实现这个特性。
+            </para>
           </listitem>
         </varlistentry>
 
@@ -155,72 +152,38 @@
     <title>Subversion和DeltaV</title> 
     
     
-    <para>The original WebDAV standard has been widely successful.
-      Every modern computer operating system has a general WebDAV
-      client built-in (details to follow), and a number of popular
-      standalone applications are also able to speak WebDAV —
-      Microsoft Office, Dreamweaver, and Photoshop to name a few.  On
-      the server end, the Apache webserver has been able to provide
-      WebDAV services since 1998 and is considered the de-facto
-      open-source standard.  There are several other commercial WebDAV
-      servers available, including Microsoft's own IIS.</para>
-
-    <para>DeltaV, unfortunately, has not been so successful.  It's
-      very difficult to find any DeltaV clients or servers.  The few
-      that do exist are relatively unknown commercial products, and
-      thus it's very difficult to test interoperability.  It's not
-      entirely clear as to why DeltaV has remained stagnant.  Some
-      argue that the specification is just too complex, others argue
-      that while WebDAV's features have mass appeal (even the least
-      technical users appreciate network file-sharing), version
-      control features aren't interesting or necessary for most users.
-      Finally, some have argued that DeltaV remains unpopular because
-      there's still no open-source server product which implements
-      it.</para>
+    <para>最初的WebDAV标准得到了广泛的成功,所有的现代操作系统拥有内置的(后面有详细资料)对普通WebDAV的支持,许多流行的应用程序也可以使用WebDAV—Microsoft
+   Office,Dreamweaver和Photoshop。在服务器方面,Apache从1998年就开始支持WebDAV,并被认为是一个事实上的开源标准,也有许多商业的WebDAV服务器,例如Microsoft的IIS。
+   </para>
+
+    <para>不幸的是,DeltaV没有这样的成功,很难寻找到任何DeltaV客户端和服务器。只有一些不太出名的商业产品,因此很难测试交互性,不清楚为什么DeltaV还这样停滞,一些人说规范太复杂了,还有些人认为景观DeltaV的特性有很大的吸引力(即使最新的技术用户也喜欢使用网络文件共享),版本控制特性对大多数用户还不是这样有趣和必须。最后,有些人认为DeltaV海这样不流行主要是因为一直没有开源的服务器产品实现它。
+   </para>
    
-    <para>When Subversion was still in its design phase, it seemed
-      like a great idea to use Apache httpd as the main network
-      server.  It already had a module to provide WebDAV services.
-      DeltaV was a relatively new specification.  The hope was that
-      the Subversion server module (mod_dav_svn) would eventually
-      evolve into an open-source DeltaV reference implementation.
-      Unfortunately, DeltaV has a very specific versioning model that
-      doesn't quite line up with Subversion's model.  Some concepts
-      were mappable, others were not.</para>
+    <para>当Subversion还在设计阶段时,使用Apache的httpd作为主要网络服务器就是一个很好的想法,已经有了支持WebDAV服务的模块。DeltaV有一个很新的规范,希望就是Subversion服务器模块最终能够成为一个开源的DeltaV参考实现,但非常不幸,DeltaV得版本模型过于详细,与Subversion的模型并不匹配,有些概念可以对应起来,有些则不能。
+   </para>
 
-    <para>The upshot is that</para>
+    <para>结果就是</para>
 
     <orderedlist>
 
       <listitem>
-        <para>The Subversion client is not a fully-implemented DeltaV
-          client.</para>
+        <para>Subversion客户端不是一个完全实现的DeltaV客户端。</para>
         
-        <para>The client needs certain things from the server that
-          DeltaV cannot provide, and thus is largely dependent on a
-          number of Subversion-specific <literal>REPORT</literal>
-          requests that only mod_dav_svn understands.</para>
+        <para>客户端需要从服务器得到DeltaV不能提供的东西,因此非常依赖于只有mod_dav_svn理解的Subversion特定的<literal>REPORT</literal>请求。
+       </para>
       </listitem>
 
       <listitem>
-        <para>mod_dav_svn is not a fully-implemented DeltaV server.</para>
+        <para>mod_dav_svn也不是一个完全实现的DeltaV服务器。</para>
 
-        <para>Many portions of the DeltaV specification were irrelevant to
-          Subversion, and thus left unimplemented.</para>
+        <para>许多与Subversion不相关的DeltaV规范还没有实现。
+        </para>
       </listitem>
       
     </orderedlist>
 
-    <para>There is still some debate in the developer community as to
-      whether or not it's worthwhile to remedy either of these
-      situations.  It's fairly unrealistic to change Subversion's
-      design to match DeltaV, so there's probably no way the client
-      can ever learn to get everything it needs from a general DeltaV
-      server.  On the other hand,
-      mod_dav_svn <emphasis>could</emphasis> be further developed to
-      implement all of DeltaV, but it's hard to find motivation to do
-      so—there are almost no DeltaV clients to interoperate
-      with.</para>
+    <para>在开发者社区一直有这样的讨论,是否值得弥补这种形势。改变Subversion的设计来匹配DeltaV看起来并不值得,所以可能没有办法让客户端从普通的DeltaV服务器上得到所有的东西。另一方面,mod_dav_svn<emphasis>可以</emphasis>继续开发来实现所有的DeltaV,但缺乏这样做的动力—几乎没有能与之交户的DeltaV客户端。
+   </para>
 
   </sect1>
 
@@ -228,44 +191,18 @@
   <!-- ================================================================= -->
   <!-- ================================================================= -->
   <sect1 id="svn.webdav.autoversioning">
-    <title>Autoversioning</title>
+    <title>自动版本化</title>
+
+    <para>因为Subversion客户端不是完整的DeltaV客户端,Subversion服务器也不是完整的DeltaV服务器,但仍有值得高兴的交互特性:叫做自动版本化。
+   </para>
+
+    <para>自动版本化是DeltaV标准中的可选特性,一个典型的DeltaV服务器会拒绝一个对版本控制之下文件的<literal>PUT</literal>操作,为了修改一个版本控制下的文件,服务器只会接受一系列正确的版本请求:例如<literal>MKACTIVITY</literal>、<literal>CHECKOUT</literal>、<literal>PUT</literal>和<literal>CHECKIN</literal>。但是如果DeltaV服务器支持自动版本化,服务器可以在后台假装客户端执行了一些列正确的版本请求,也就是说,DeltaV服务器可以与一个普通的WebDAV客户端交互。
+   </para>
 
-    <para>While the Subversion client is not a full DeltaV client, nor
-      the Subversion server a full DeltaV server, there's still a
-      glimmer of WebDAV interoperability to be happy about:  it's
-      called autoversioning.</para>
-
-    <para>Autoversioning is an optional feature defined in the DeltaV
-      standard.  A typical DeltaV server will reject an ignorant
-      WebDAV client attempting to do a <literal>PUT</literal> to a
-      file that's under version control.  To change a
-      version-controlled file, the server expects a series proper
-      versioning requests: something like
-      <literal>MKACTIVITY</literal>, <literal>CHECKOUT</literal>,
-      <literal>PUT</literal>, <literal>CHECKIN</literal>.  But if the
-      DeltaV server supports autoversioning, then write-requests from
-      basic WebDAV clients are accepted.  The server behaves *as if*
-      the client had issued the proper series of versioning requests,
-      performing a commit under the hood.  In other words, it allows a
-      DeltaV server to interoperate with ordinary WebDAV
-      clients.</para>
-
-    <para>Because so many operating systems already have integrated
-      WebDAV clients, the use case for this feature borders on
-      fantastical: imagine an office of ordinary users running
-      Microsoft Windows or Mac OS.  Each user <quote>mounts</quote>
-      the Subversion repository, which appears to be an ordinary
-      network folder.  They use the shared folder as they always do:
-      open files, edit them, save them.  Meanwhile, the server is
-      automatically versioning everything.  Any administrator (or
-      knowledgeable user) can still use a Subversion client to search
-      history and retrieve older versions of data.</para>
-
-    <para>This scenario isn't fiction: it's real and it works, as of
-      Subversion 1.2 and later.  To activate autoversioning in
-      mod_dav_svn, use the <literal>SVNAutoversioning</literal>
-      directive within the <filename>httpd.conf</filename> Location
-      block, like so:</para>
+    <para>因为有许多操作系统已经集成了WebDAV客户端,这个特性的用例可能是这样的:假设一个办公室有许多使用Microsoft Windows或Mac OS的普通用户,每个用户<quote>装载</quote>了一个Subversion版本库,看起来就是普通的网络共享文件夹。他们像普通目录一样的操作这个目录:打开文件、编辑它们,保存它们。同时,服务器自动的版本化所有的东西,任何管理员(或有知识的用户)可以一直使用Subversion客户端来查询历史来检索旧版本的数据。
+   </para>
+
+    <para>这个场景不是小说:对于Subversion 1.2来说,是真实的和有效的。为了激活mod_dav_svn的自动版本化,需要使用<filename>httpd.conf</filename>中Location区块的<literal>SVNAutoversioning</literal>指示,例如:</para>
 
     <screen>
 <Location /repos>
@@ -275,31 +212,15 @@
 </Location>
 </screen>
 
-    <para>When SVNAutoversioning is active, write requests from WebDAV
-      clients result in automatic commits.  A generic log message is
-      auto-generated and attached to each revision.</para>
-
-    <para>Before activating this feature, however, understand what
-      you're getting into.  WebDAV clients tend to do
-      <emphasis>many</emphasis> write requests, resulting in a huge
-      number of automatically committed revisions.  For example, when
-      saving data, many clients will do a <literal>PUT</literal> of a
-      0-byte file (as a way of reserving a name) followed by another
-      <literal>PUT</literal> with the real filedata.  The single
-      file-write results in two separate commits.  Also consider that
-      many applications auto-save every few minutes, resulting in even
-      more commits.</para>
-
-    <para>If you have a post-commit hook program that sends email, for
-      example, you may want to disable email generation either
-      altogether, or on certain sections of the repository; it depends
-      on whether you think the influx of emails will still prove to be
-      valuable notifications or not.  Also, a smart post-commit hook
-      program can distinguish between a transaction created via
-      autoversioning and one created through a normal <command>svn
-      commit</command>.  The trick is to look for a revision property
-      named <literal>svn:autoversioned</literal>.  If present, the
-      commit was made by a generic WebDAV client.</para>
+    <para>当激活了SVNAutoversioning,来自WebDAV的客户端请求会导致自动提交,每个修订版本会自动附加一个原始的日志信息。
+   </para>
+
+    <para>然而,在激活这个特性之前,需要理解你做的事情。WebDAV会做许多写请求,导致了产生数量绝大的自动提交修订版本。例如,当保存数据,许多客户端会使用一个<literal>PUT</literal>一个0字节的文件,然后紧跟一个<literal>PUT</literal>真实的文件数据。一个单独的文件写操作产生了两个不同的提交。考虑到许多应用程序隔几分钟的自动保存,会产生更多的提交。
+   </para>
+
+    <para>如果你有发送邮件的post-commit钩子程序,例如,你会根据是否有价值来开启和关闭邮件通知,另外,一个聪明的post-commit钩子也应该能够区分自动版本化和<command>svn
+      commit</command>产生的事务。技巧就是检查修订版本的<literal>svn:autoversioned</literal>属性,如果有,则提交来自一个原始的WebDAV客户端。
+     </para>
 
   </sect1>
 
@@ -307,101 +228,82 @@
   <!-- ================================================================= -->
   <!-- ================================================================= -->
   <sect1 id="svn.webdav.clients">
-    <title>Client Interoperability</title> 
+    <title>客户端交互性</title> 
 
-    <para>All WebDAV clients fall into one of three
-      categories—standalone applications, file-explorer
-      extensions, or filesystem implementations.  These categories
-      broadly define the types of WebDAV functionality available to
-      users.  <xref linkend="svn.webdav.clients.tbl-1"/> gives our
-      categorization and a quick description of some common pieces of
-      WebDAV-enabled software.  More details about these software
-      offerings, as well as their general category, can be found in
-      the sections that follow.</para>
+    <para>所有的WebDAV客户端分为三类—独立应用程序,文件浏览器扩展或文件系统实现,这些分类定义了WebDAV用户可用的功能性。<xref linkend="svn.webdav.clients.tbl-1"/>给WebDAV常见软件进行了分类,并提供了的简短描述。
+   </para>
 
     <table id="svn.webdav.clients.tbl-1">
       <title>Common WebDAV Clients</title>
       <tgroup cols="3">
         <thead>
           <row>
-            <entry>Software</entry>
-            <entry>Category</entry>
-            <entry>Description</entry>
+            <entry>软件</entry>
+            <entry>分类</entry>
+            <entry>描述</entry>
           </row>
         </thead>
         <tbody>
           <row>
             <entry>Adobe Photoshop</entry>
-            <entry>Standalone WebDAV applications</entry>
-            <entry>Image editing software, allowing direct opening
-              from, and writing to, WebDAV URLs</entry>
+            <entry>独立WebDAV应用程序</entry>
+            <entry>图像编辑软件,允许直接从WebDAV的URL打开文件和修改。
+            </entry>
           </row>
           <row>
             <entry>Cadaver</entry>
-            <entry>Standalone WebDAV applications</entry>
-            <entry>Command-line WebDAV client supporting file
-              transfer, tree, and locking operations</entry>
+            <entry>独立WebDAV应用程序</entry>
+            <entry>命令行的WebDAV客户端,支持文件传输,目录树显示和锁定操作</entry>
           </row>
           <row>
             <entry>DAV Explorer</entry>
-            <entry>Standalone WebDAV applications</entry>
-            <entry>GUI tool for exploring WebDAV shares</entry>
+            <entry>独立WebDAV应用程序</entry>
+            <entry>浏览WebDAV共享的GUI工具</entry>
           </row>
           <row>
             <entry>davfs2</entry>
-            <entry>WebDAV filesystem implementation</entry>
-            <entry>Linux file system driver that allows you to mount a
-              WebDAV share</entry>
+            <entry>WebDAV文件系统实现</entry>
+            <entry>Linux文件系统驱动允许加载WebDAV共享</entry>
           </row>
           <row>
             <entry>GNOME Nautilus</entry>
-            <entry>File-explorer WebDAV extensions</entry>
-            <entry>GUI file explorer able to perform tree
-              operations on a WebDAV share</entry>
+            <entry>文件浏览器WebDAV扩展</entry>
+            <entry>GUI文件浏览器,可以对WebDAV共享执行目录树操作</entry>
           </row>
           <row>
             <entry>KDE Konqueror</entry>
-            <entry>File-explorer WebDAV extensions</entry>
-            <entry>GUI file explorer able to perform tree
-              operations on a WebDAV share</entry>
+            <entry>文件浏览器WebDAV扩展</entry>
+            <entry>GUI文件浏览器,可以对WebDAV共享执行目录树操作</entry>
           </row>
           <row>
             <entry>Mac OS X</entry>
-            <entry>WebDAV filesystem implementation</entry>
-            <entry>Operating system with built-in support for mounting
-              WebDAV shares locally</entry>
+            <entry>WebDAV文件系统实现</entry>
+            <entry>内置可以加载WebDAV到本地功能的操作系统</entry>
           </row>
           <row>
             <entry>Macromedia Dreamweaver</entry>
-            <entry>Standalone WebDAV applications</entry>
-            <entry>Web production software able to directly read from
-              and write to WebDAV URLs</entry>
+            <entry>独立WebDAV应用程序</entry>
+            <entry>Web制作软件,可以直接读写WebDAV的URL</entry>
           </row>
           <row>
             <entry>Microsoft Office</entry>
-            <entry>Standalone WebDAV applications</entry>
-            <entry>Office productivity suite with several components
-              able to directly read from and write to WebDAV
-              URLs</entry>
+            <entry>独立WebDAV应用程序</entry>
+            <entry>Office上产套件,可以直接读写WebDAV的URL</entry>
           </row>
           <row>
             <entry>Microsoft Webfolders</entry>
-            <entry>File-explorer WebDAV extensions</entry>
-            <entry>GUI file explorer program able to perform tree
-              operations on a WebDAV share</entry>
+            <entry>文件浏览器WebDAV扩展</entry>
+            <entry>GUI文件浏览器,可以对WebDAV共享执行目录树操作</entry>
           </row>
           <row>
             <entry>Novell NetDrive</entry>
-            <entry>WebDAV filesystem implementation</entry>
-            <entry>Drive-mapping program for assigning Windows drive
-              letters to a mounted remote WebDAV share</entry>
+            <entry>WebDAV文件系统实现</entry>
+            <entry>驱动器映射程序,可以将Windows驱动器加载为远程的WebDAV共享</entry>
           </row>
           <row>
             <entry>SRT WebDrive</entry>
-            <entry>WebDAV filesystem implementation</entry>
-            <entry>File transfer software which, among other things,
-              allows the assignment of Windows drive letters to a
-              mounted remote WebDAV share</entry>
+            <entry>WebDAV文件系统实现</entry>
+            <entry>文件传输软件,可以将Windows驱动器加载为远程的WebDAV共享</entry>
           </row>
           
         </tbody>
@@ -410,54 +312,30 @@
 
     <!-- =============================================================== -->
     <sect2 id="svn.webdav.clients.standalone">
-      <title>Standalone WebDAV applications</title>
+      <title>独立WebDAV应用程序</title>
 
-      <para>A WebDAV application is a program which contains built-in
-        functionality for speaking WebDAV protocols with a WebDAV
-        server.  We'll cover some of the most popular programs with
-        this kind of WebDAV support.</para>
+      <para>一个WebDAV应用就是一个内置WebDAV协议的程序,我们会覆盖大多数支持WebDAV的流行程序。</para>
 
       <sect3 id="svn.webdav.clients.standalone.windows">
-        <title>Microsoft Office, Dreamweaver, Photoshop</title> 
+        <title>Microsoft Office,Dreamweaver,Photoshop</title> 
+  
+        <para>在Windows下,有一些有名的集成WebDAV客户端功能的软件,例如Microsoft's Office、<footnote>
+            <para>WebDAV支持因为一些原因从Microsoft Access里删除了。</para>
+          </footnote>Adobe的Photoshop和Macromedia的Dreamweaver。它们都可以直接打开和保存URL,也可以在编辑时大量的使用WebDAV的锁定。</para>
   
-        <para>On Windows, there are several well-known applications
-          that contain integrated WebDAV client functionality, such as
-          Microsoft's Office,
-          <footnote>
-            <para>WebDAV support was removed from Microsoft Access for
-              some reason, but exists in the rest of the Office
-              suite.</para>
-          </footnote>
-          Adobe's Photoshop, and Macromedia's Dreamweaver programs.
-          They're able to directly open and save to URLs, and tend to
-          make heavy use of WebDAV locks when editing a file.</para>
-  
-        <para>Note that while many of these programs also exist for
-          the Mac OS X, they do not appear to support WebDAV directly
-          on that platform.  In fact, on Mac OS X, the
-          <guimenu>File->Open</guimenu> dialog box doesn't allow
-          one to type a path or URL at all.  It's likely that the
-          WebDAV features were deliberately left out of Macintosh
-          versions of these programs, since OS X already provides such
-          excellent low-level filesystem support for WebDAV.</para>
+        <para>请注意,尽管这些程序都有Mac OS X版本,但在这个平台并不直接支持。事实上,在Mac OS X上,不允许<guimenu>File->Open</guimenu>对话框中出现URL路径。也有可能WebDAV特性是被故意漏掉,因为OS X已经提供了完美的WebDAV文件系统支持。</para>
   
       </sect3>
 
       <sect3 id="svn.webdav.clients.standalone.free">
-        <title>Cadaver, DAV Explorer</title>
+        <title>Cadaver,DAV Explorer</title>
   
-        <para>Cadaver is a bare-bones Unix commandline program for
-          browsing and changing WebDAV shares.  Like the Subversion
-          client, it uses the neon HTTP library—not surprisingly,
-          both neon and cadaver are written by the same author.  Cadaver
-          is free software (GPL license) and is available at <ulink
-          url="http://www.webdav.org/cadaver/"/>.</para>
-  
-        <para>Using cadaver is similar to using a commandline FTP
-          program, and thus it's extremely useful for basic WebDAV
-          debugging.  It can be used to upload or download files in a
-          pinch, and also to examine properties, copy, move, lock or
-          unlock files:</para>
+        <para>Cadaver是一个用来浏览和修改WebDAV共享的Unix命令行程序,就像Subversion客户端,它使用了neon的HTTP库—不需要惊讶,neon和cadaver的作者是同一个人。Cadaver是自由软件(GPL许可证),在<ulink
+          url="http://www.webdav.org/cadaver/"/>上。
+          </para>
+  
+        <para>使用cadaver就像使用命令行的FTP程序,因此它很适合基本的WebDAV调试。它可以以压缩方式上传和下载文件,也会检验属性、拷贝、移动、锁定和解锁文件:
+       </para>
         
         <screen>
 $ cadaver http://host/repos
@@ -477,199 +355,108 @@
 Progress: [=============================>] 100.0% of 1461 bytes succeeded.
 </screen>
 
-        <para>DAV Explorer is another standalone WebDAV client, written
-          in Java.  It's under a free Apache-like license and is
-          available at <ulink url="http://www.ics.uci.edu/~webdav/"/>.
-          DAV Explorer does everything cadaver does, but has the
-          advantages of being portable and being more user-friendly GUI
-          application.  It's also one of the first clients to support
-          the new WebDAV Access Control Protocol (RFC 3744).</para>
-  
-        <para>Of course, DAV Explorer's ACL support is useless in this
-          case, since mod_dav_svn doesn't support it.  The fact that
-          both Cadaver and DAV Explorer support some limited DeltaV
-          commands isn't particularly useful either, since they don't
-          allow <literal>MKACTIVITY</literal> requests.  But it's not
-          relevant anyway; we're assuming all of these clients are
-          operating against an autoversioning repository.</para>
+        <para>DAV Explorer是另一个独立运行的WebDAV客户端,使用Java编写,有一个类Apache的许可证,网站是<ulink url="http://www.ics.uci.edu/~webdav/"/>。DAV Explorer与cadaver功能差不多,优点可移植,并有一个用户友好的GUI程序。它也是最早的支持WebDAV访问控制协议(RFC 3744)的客户端。
+        </para>
+  
+        <para>当然,DAV Explorer浏览器的ACL支持在这种情况下是没用的,因为mod_dav_svn并不支持。事实上,Cadaver 和DAV Explorer支持的DeltaV限制命令也没什么用出,因为他们不允许<literal>MKACTIVITY</literal>请求。但没有关系,我们只是假定这些客户端都是在操作自动版本化的版本库。
+        </para>
   
       </sect3>
     </sect2>
 
     <!-- =============================================================== -->
     <sect2 id="svn.webdav.clients.file-explorer-extensions">
-      <title>File-explorer WebDAV extensions</title>
+      <title>文件浏览器WebDAV扩展</title>
 
-      <para>Some popular file explorer GUI programs support WebDAV
-        extensions which allow a user to browse a DAV share as if it
-        was just another directory on the local computer, and allowing
-        basic tree editing operations on the items in that share.  For
-        example, Windows Explorer is able to browse a WebDAV server as
-        a <quote>network place</quote>.  Users can drag files to and
-        from the desktop, or can rename, copy, or delete files in the
-        usual way.  But because it's only a feature of the
-        file-explorer, the DAV share isn't visible to ordinary
-        applications.  All DAV interaction must happen through the
-        explorer interface.</para>
+      <para>一些流行的文件浏览器程序支持WebDAV扩展,允许用户浏览DAV共享如同访问本机,并允许基本的目录树操作。例如,Windows的资源管理器可以把WebDAV服务器看作一个<quote>网络位置</quote>,用户可以从桌面托拽文件到这个目录,或者是重命名、拷贝或者删除文件。但是这只是文件浏览器的特性,DAV共享对于普通的应用不可见,所有的DAV操作需要通过浏览器界面完成。
+     </para>
 
       <sect3 id="svn.webdav.clients.file-explorer-extensions.windows">
-        <title>Microsoft Webfolders</title> 
+        <title>Microsoft网络文件夹</title> 
+  
+        <para>Microsoft是WebDAV规范最早的支持者,最早在Windows
+          98配置客户端,被称作<quote>网络文件夹</quote>,这个客户端在Windows NT4和2000上也存在。
+          </para>
+  
+        <para>最早的Webfolders客户端是浏览器的扩展,主要的浏览文件系统的GUI程序,工作良好。在Windows 98,如果<quote>我的电脑</quote>里没有网络文件夹,这个特性需要明确安装。在Windows 2000,只需要添加一个新的<quote>网络位置</quote>,输入URL,WebDAV共享就会弹出让你浏览。
+        </para>
   
-        <para>Microsoft was one of the original backers of the WebDAV
-          specification, and first started shipping a client in Windows
-          98, known as <quote>Webfolders</quote>.  This client was also
-          shipped in Windows NT4 and 2000.</para>
-  
-        <para>The original Webfolders client was an extension to
-          Explorer, the main GUI program used to browse filesystems.  It
-          works well enough.  In Windows 98, the feature might need to
-          be explicitly installed if Webfolders aren't already visible
-          inside <quote>My Computer</quote>.  In Windows 2000, simply
-          add a new <quote>network place</quote>, enter the URL, and the
-          WebDAV share will pop up for browsing.</para>
-  
-        <para>With the release of Windows XP, Microsoft started shipping
-          a new implementation of Webfolders, known as the <quote>WebDAV
-          mini-redirector</quote>.  The new implementation is a
-          filesystem-level client, allowing WebDAV shares to be mounted
-          as drive letters.  Unfortunately, this implementation is
-          incredibly buggy.  The client usually tries to convert http
-          URLs (<literal>http://host/repos</literal>) into UNC share
-          notation (<literal>\\host\repos</literal>); it also often
-          tries to use Windows Domain authentication to respond to
-          basic-auth HTTP challenges, sending usernames as
-          <literal>HOST\username</literal>.  These interoperability
-          problems are severe and documented in numerous places around
-          the web, to the frustration of many users.  Even Greg Stein,
-          the original author of Apache's WebDAV module, recommends
-          against trying to use XP Webfolders against an Apache
-          server.</para>
-  
-        <para>It turns out that the original
-          <quote>Explorer-only</quote> Webfolders implementation isn't
-          dead in XP, it's just buried.  It's still possible to find it
-          by using this technique:</para>
+        <para>伴随着Windows XP,Microsoft开始了另一种网络文件夹的实现,叫做<quote>WebDAV
+          mini-redirector</quote>,这个新的实现是文件系统级的客户端,允许WebDAV转载到驱动器盘符上。不幸的是,这个实现充满难以相信的bug。客户端经常会尝试把http的URL(<literal>http://host/repos</literal>)转化为UNC共享符号(<literal>\\host\repos</literal>),它也经常使用Windows域认证来回应基本的HTTP认证,按照<literal>HOST\username</literal>发送用户名。这类互动性问题在网络上大量传播,使大量用户受挫。即使是ApacheWebDAV的作者Greg Stein也建议不要对Apaache服务器使用XP的网络文件夹。
+          </para>
+  
+        <para>结果是原始的网络文件夹并没有在XP中死掉,只是要被埋葬了。还是有办法适用这个技术:</para>
   
         <orderedlist>
   
           <listitem>
-            <para>Go to 'Network Places'.</para>
+            <para>到网络位置。</para>
           </listitem>
   
           <listitem>
-            <para>Add a new network place.</para>
+            <para>添加一个新的网络位置。</para>
           </listitem>
   
           <listitem>
-            <para>When prompted, enter the URL of the repository, but
-              <emphasis>include a port number</emphasis> in the URL.
-              For example, <literal>http://host/repos</literal> would be
-              entered as <literal>http://host:80/repos</literal> instead.
+            <para>当要求输入,输入版本库的URL,但URL中<emphasis>要包含端口号</emphasis>。例如<literal>http://host/repos</literal>的输入是<literal>http://host:80/repos</literal>。
             </para>
           </listitem>
   
           <listitem>
-            <para>Respond to any authentication prompts.</para>
+            <para>回应所有的认证请求。</para>
           </listitem>
   
         </orderedlist>
   
-        <para>There are a number of other rumored workarounds to the
-          problems, but none of them seem to work on all versions and
-          patchlevels of Windows XP.  In our tests, only the previous
-          algorithm seems to work consistently on every system.  The
-          general consensus of the WebDAV community is that you should
-          avoid the new Webfolders implementation and use the old one
-          instead, and that if you need real a real filesystem-level
-          client for Windows XP, then use a third-party program like
-          WebDrive or NetDrive.</para>
+        <para>有各种解决问题的方法,但好像没有一种能够在各版本和各级别的Windows XP中有效。在我们的测试里,只有上面这种策略在各种系统中有效。WebDAV社区一致认为避免使用新的网络文件夹实现,而使用旧的,如果你希望在Windows XP使用真实的文件系统级的客户端,请使用第三方的程序,例如WebDrive或NetDrive。
+        </para>
 
       </sect3>
 
       <sect3 id="svn.webdav.clients.file-explorer-extensions.linux-de">
-        <title>Nautilus, Konqueror</title> 
+        <title>Nautilus,Konqueror</title> 
+  
+        <para>Nautilus是GNOME桌面(<ulink url="http://www.gnome.org"/>)官方的文件管理/浏览器,KDE桌面(<ulink
+          url="http://www.kde.org"/>)的则是Konqueror。两个应用程序都是浏览器级别的WebDAV客户端,对自动版本化的版本库工作良好。
+         </para>
+  
+        <para>GNOME的Nautilus里,从<guimenu>File
+          menu</guimenu>选择<guimenuitem>Open
+          location</guimenuitem>,并且输入URL。版本库就会显示出来,就像其他文件系统。
+          </para>
   
-        <para>Nautilus is the official file manager/browser for the
-          GNOME desktop (<ulink url="http://www.gnome.org"/>), and
-          Konqueror is the manager/browser for KDE desktop (<ulink
-          url="http://www.kde.org"/>).  Both of these applications have
-          an explorer-level WebDAV client built-in, and operate just
-          fine against an autoversioning repository.</para>
-  
-        <para>In GNOME's Nautilus, from the <guimenu>File
-          menu</guimenu>, select <guimenuitem>Open
-          location</guimenuitem> and enter the URL.  The repository
-          should then be displayed like any other filesystem.</para>
-  
-        <para>In KDE's Konqueror, you need to use the
-          <literal>webdav://</literal> scheme when entering the URL in
-          the location bar.  If you enter an <literal>http://</literal>
-          URL, Konqueror will behave like an ordinary web browser.
-          You'll likely see the generic HTML directory listing produced
-          by mod_dav_svn.  By entering
-          <literal>webdav://host/repos</literal> instead of
-          <literal>http://host/repos</literal>, Konqueror becomes a
-          WebDAV client and displays the repository as a
-          filesystem.</para>
+        <para>KDE的Konqueror里你需要在地址栏使用<literal>webdav://</literal>模式来输入URL,如果你输入<literal>http://</literal>的URL,Konqueror会像普通的web浏览器。你会看到mod_dav_svn输出的普通HTML目录列表。通过输入<literal>webdav://host/repos</literal>代替<literal>http://host/repos</literal>,Konqueror就成为了一个WebDAV客户端,并且按照文件系统的方式显示版本库。
+       </para>
   
       </sect3>
     </sect2>
 
     <sect2 id="svn.webdav.clients.fs-impl">
-      <title>WebDAV filesystem implementation</title>
+      <title>WebDAV文件系统实现</title>
 
-      <para>The WebDAV filesystem implementation is arguably the best
-        sort of WebDAV client.  It's implemented as a low-level
-        filesystem module, typically within the operating system's
-        kernel.  This means that the DAV share is mounted like any
-        other network filesystem, similar to mounting an NFS share on
-        Unix, or attaching an SMB share as drive-letter in Windows.
-        As a result, this sort of client provides completely
-        transparent read/write WebDAV access to all programs.
-        Applications aren't even aware that WebDAV requests are
-        happening.</para>
+      <para>WebDAV文件系统实现被认为是最佳的WebDAV客户端,它通过低级的文件系统模块实现,通常在操作系统的核心。这意味着DAV共享像网络的其他文件系统一样装载,就像在Unix下面装载NFS,或者是在Windows下装载一个SMB共享。结果就是这种客户端为所有程序提供了对WebDAV得透明访问。
+     </para>
 
       <sect3 id="svn.webdav.clients.fs-impl.windows">
-        <title>WebDrive, NetDrive</title> 
+        <title>WebDrive,NetDrive</title> 
   
-        <para>Both WebDrive and NetDrive are excellent commercial
-          products which allows a WebDAV share to be attached as drive
-          letters in Windows.  We've had nothing but success with
-          these products.  At the time of writing, WebDrive can be
-          purchased from South River Technologies (<ulink
-          url="http://www.southrivertech.com"/>).  NetDrive ships with
-          Netware, is free of charge, and can be found by searching
-          the web for <quote>netdrive.exe</quote>.  Though it is
-          freely available online, users are required to have a
-          Netware license.  (If any of that sounds odd to you, you're
-          not alone.  See this page on Novell's website: <ulink
-          url="http://www.novell.com/coolsolutions/qna/999.html"/>)</para>
+        <para>WebDrive和NetDrive都是完美的商业产品,允许将WebDAV绑定到Windows的盘符,当我们写作的时候,WebDrive可以从South River Technologies(<ulink
+          url="http://www.southrivertech.com"/>)购买。NetDrive由Netware装运,通过查找<quote>netdrive.exe</quote>就会找到。尽管它可以自由得到,用户还是需要一个Netware许可证。(如果着听起来有点奇怪,你并不孤单,看Novell网站的这个页面:<ulink
+          url="http://www.novell.com/coolsolutions/qna/999.html"/>)</para>
   
       </sect3>
 
       <sect3 id="svn.webdav.clients.fs-impl.macosx">
         <title>Mac OS X</title> 
 
-        <para>Apple's OS X operating system has an integrated
-          filesystem-level WebDAV client.  From the Finder, select the
-          <guimenuitem>Connect to Server</guimenuitem> item from the
-          <guimenu>Go menu</guimenu>.  Enter a WebDAV URL, and it
-          appears as a disk on the desktop, just like any other mounted
-          volume.<footnote><para>From the Darwin terminal, one can also
-          run <literal>mount -t webdav URL
-          /mountpoint</literal></para></footnote>.</para>
-  
-        <para>Note that if your mod_dav_svn is older than version 1.2,
-          OS X will refuse to mount the share as read-write; it will
-          appear as read-only.  This is because the OS X insists on
-          locking support for read-write shares, and the ability to lock
-          files first appeared in Subversion 1.2.</para>
-  
-        <para>One more word of warning: OS X's WebDAV client can
-          sometimes be overly sensitive to HTTP redirects. If OS X is
-          unable to mount the repository at all, you may need to enable
-          the BrowserMatch directive in the Apache server's
-          <filename>httpd.conf</filename>:</para>
+        <para>Apple的OS X操作系统是集成的文件系统级的客户端,通过Finder,选择<guimenu>Go menu</guimenu>的<guimenuitem>Connect to Server</guimenuitem>条目,输入WebDAV的URL,会在桌面显示一个磁盘,就像其他装载的卷。<footnote><para>在Darwin终端,你可以运行<literal>mount -t webdav URL
+          /mountpoint</literal></para></footnote>。</para>
+  
+        <para>注意如果mod_dav_svn是1.2之前的版本,OS X不能按照可读写装载,而是会成为只读。这是因为,OS X坚持要读些共享支持锁定,而锁定文件出现在Subversion 1.2。
+        </para>
+  
+        <para>警告一句话:OS X的WebDAV客户端有时候对HTTP重定向很敏感,如果OS X不能装载版本库,你或许需要开启Apache服务器<filename>httpd.conf</filename>的BrowserMatch指示:
+        </para>
   
         <screen>
 BrowserMatch "^WebDAVFS/1.[012]" redirect-carefully
@@ -680,11 +467,9 @@
       <sect3 id="svn.webdav.clients.fs-impl.linux">
         <title>Linux davfs2</title> 
   
-        <para>Linux davfs2 is a filesystem module for the Linux kernel,
-          whose development is located at <ulink
-          url="http://dav.sourceforge.net/"/>. Once installed, a WebDAV
-          network share can be mounted with the usual Linux mount
-          command:</para>
+        <para>Linux davfs2是一个Linux核心的文件系统模块,开发坐落在<ulink
+          url="http://dav.sourceforge.net/"/>。一旦安装,一个WebDAV网络共享可以使用mount命令装载:
+          </para>
   
         <screen>
 $ mount.davfs http://host/repos /mnt/dav

Modified: trunk/src/zh/book/ch07.xml
==============================================================================
--- trunk/src/zh/book/ch07.xml	(original)
+++ trunk/src/zh/book/ch07.xml	Tue Jan 31 01:22:38 2006
@@ -853,7 +853,7 @@
     <sect2 id="svn.advanced.props.auto">
       <title>自动属性设置</title>
 
-      <para>属性是Subversion一个强大的特性,成为本章和其它章讨论的许多Subversion特性的关键组成部分—文本区别和合并支持、关键字替换、新行的自动转换等等。但是为了从属性得到完全的利益,他们必须设置到正确的文件和目录。不幸的是,在日常工作中很容易忘记这一步工作,特别是当没有设置属性不会引起明显的错误时(至少相对与未能添加一个文件到版本控制这种操作),为了帮助你在需要添加属性的文件上添加属性,Subversion提供了一些简单但是有用的特性。</para>
+      <para>属性§是Subversion一个强大的特性,成为本章和其它章讨论的许多Subversion特性的关键组成部分—文本区别和合并支持、关键字替换、新行的自动转换等等。但是为了从属性得到完全的利益,他们必须设置到正确的文件和目录。不幸的是,在日常工作中很容易忘记这一步工作,特别是当没有设置属性不会引起明显的错误时(至少相对与未能添加一个文件到版本控制这种操作),为了帮助你在需要添加属性的文件上添加属性,Subversion提供了一些简单但是有用的特性。</para>
 
       <para>当你使用<command>svn add</command>或是<command>svn import</command>准备加入一个版本控制的文件时,Subversion会运行一个基本探测来检查文件是包括了可读还是不可读的内容,如果Subversion猜测错误,或者是你希望使用<literal>svn:mime-type</literal>属性更精确的设置—或许是<literal>image/png</literal>或者<literal>application/x-shockwave-flash</literal>—你可以一直删除或编辑那个属性。</para>
 
@@ -1659,7 +1659,7 @@
   <!-- ================================================================= -->
   <!-- ================================================================= -->
   <sect1 id="svn.advanced.externaldifftools">
-    <title>Using External Differencing Tools</title>
+    <title>使用外置区别工具</title>
 
     <para>The presence of <option>--diff-cmd</option> and
       <option>--diff3-cmd</option> options, and similarly named
@@ -1736,34 +1736,20 @@
 
     <!-- =============================================================== -->
     <sect2 id="svn.advanced.externaldifftools.diff">
-      <title>External diff</title>
+      <title>外置diff</title>
 
-      <para>Subversion calls external diff programs with parameters
-        suitable for the GNU diff utility, and expects only that the
-        external program return with a successful error code.  For
-        most alternative diff program, only the sixth and seventh
-        arguments, the paths of the files which represent the left and
-        right sides of the diff, respectively, are of interest.  Note
-        that Subversion runs the diff program once per modified file
-        covered by the Subversion operation, so if your program runs
-        in an asynchronous fashion (or <quote>backgrounded</quote>),
-        you might have several instances of it all running
-        simultaneously.  Finally, Subversion expects that your program
-        return an errorcode of 0 if your program detected differences,
-        or 1 if it did not—any other errorcode is considered a
-        fatal error.
+      <para>Subversion可以调用适合GNU参数的diff工具,并期望外置程序能够返回成功的错误代码。对于大多数可用的diff程序,只有第6、7参数,diff两边文件的路径。需要注意Subversion对于每个修改的文件都要以异步方式(或<quote>后台</quote>)运行diff程序,你会得到许多并行的实例。最后,Subversion期望你的程序在发现区别时返回错误代码0,没有区别则返回1—任何其他的返回值都被认为是严重错误。
         <footnote>
-          <para>The GNU diff manual page puts it this way: <quote>An
-            exit status of 0 means no differences were found, 1 means some
-            differences were found, and 2 means trouble.</quote></para>
+          <para>GNU的diff手册这样说的:<quote>返回0意味着没有区别,1是有有区别,其它值意味着出现问题。</quote>
+
+          </para>
         </footnote>
       </para>
 
-      <para><xref linkend="svn.advanced.externaldifftools.diff.ex-1"/>
-        and <xref linkend="svn.advanced.externaldifftools.diff.ex-2"/>
-        are templates for external diff tool wrappers in the Bourne
-        shell and Windows batch scripting languages,
-        respectively.</para>
+      <para><xref linkend="svn.advanced.externaldifftools.diff.ex-1"/>和<xref
+       linkend="svn.advanced.externaldifftools.diff.ex-2"/>分别是Bourne
+        shell和Windows批处理外置diff工具的包裹器模版。
+        </para>
 
       <example id="svn.advanced.externaldifftools.diff.ex-1">
         <title>diffwrap.sh</title>
@@ -1812,30 +1798,13 @@
 
     <!-- =============================================================== -->
     <sect2 id="svn.advanced.externaldifftools.diff3">
-      <title>External diff3</title>
+      <title>外置diff3</title>
+
+      <para>Subversion按照符合GNU的diff3的参数调用合并程序,期望外置程序会返回成功的错误代码,并且完整合并的文件结果打印到标准输出(这样Subversion可以重定向这些东西到适当的版本控制下的文件)。对于大多数可选的合并程序,只有第9、10和11参数,分别代表<quote>mine</quote>、<quote>older</quote>和<quote>yours</quote>的路径。需要注意,因为Subversion依赖于你的合并程序的输出,你的包裹脚本在输出发送到Subversion之前不要退出。当最终退出,如果合并成功返回0,如果有为解决的冲突则返回1—其它返回值都是严重错误。
+     </para>
 
-      <para>Subversion calls external merge programs with parameters
-        suitable for the GNU diff3 utility, expecting that the
-        external program return with a successful error code and that
-        the full file contents which result from the completed merge
-        operation are printed on the standard output stream (so that
-        Subversion can redirect them into the appropriate version
-        controlled file).  For most alternative merge programs, only
-        the ninth, tenth, and eleventh arguments, the paths of the
-        files which represent the <quote>mine</quote>,
-        <quote>older</quote>, and <quote>yours</quote> inputs,
-        respectively, are of interest.  Note that because Subversion
-        depends on the output of your merge program, you wrapper
-        script must not exit before that output has been delivered to
-        Subversion.  When it finally does exit, it should return an
-        errorcode of 0 if the merge was successful, or 1 if unresolved
-        conflicts remain in the output—any other errorcode is
-        considered a fatal error.</para>
-
-      <para><xref linkend="svn.advanced.externaldifftools.diff3.ex-1"/> 
-        and <xref linkend="svn.advanced.externaldifftools.diff3.ex-2"/> are
-        templates for external merge tool wrappers in the Bourne shell
-        and Windows batch scripting languages, respectively.</para>
+      <para><xref linkend="svn.advanced.externaldifftools.diff3.ex-1"/>和<xref linkend="svn.advanced.externaldifftools.diff3.ex-2"/>分别是Bourne
+        shell和Windows批处理外置diff工具的包裹器模版。</para>
 
       <example id="svn.advanced.externaldifftools.diff3.ex-1">
         <title>diff3wrap.sh</title>

Modified: trunk/src/zh/book/ch09.xml
==============================================================================
--- trunk/src/zh/book/ch09.xml	(original)
+++ trunk/src/zh/book/ch09.xml	Tue Jan 31 01:22:38 2006
@@ -141,8 +141,7 @@
         <varlistentry>
           <term><option>--ignore-externals</option></term>
           <listitem>
-            <para>Tells Subversion to ignore external definitions and
-              the external working copies managed by them.</para>
+            <para>告诉Subversion忽略外部定义和外部定义管理的工作拷贝。</para>
           </listitem>
         </varlistentry>      
 
@@ -157,8 +156,7 @@
           <term><option>--limit</option>
             <replaceable>NUM</replaceable></term>
           <listitem>
-            <para>Show only the first <replaceable>NUM</replaceable>
-              log messages.</para>
+            <para>只显示第一个<replaceable>NUM</replaceable>日志信息。</para>
           </listitem>
         </varlistentry>
         
@@ -200,11 +198,7 @@
         <varlistentry>
           <term><option>--no-diff-added</option></term>
         <listitem>
-          <para>Prevents Subversion from printing differences for
-            added files.  The default behavior when you add a file is
-            for <command>svn diff</command> to print the same
-            differences that you would see if you had added the entire
-            contents of an existing (empty) file.</para>
+          <para>防止Subversion打印添加文件的区别。缺省的行为方式是,当添加一个文件时,<command>svn diff</command>打印的信息和比较一个空白文件相同。</para>
           </listitem>
         </varlistentry>
 
@@ -228,10 +222,9 @@
         <varlistentry>
           <term><option>--no-unlock</option></term>
           <listitem>
-            <para>Don't automatically unlock files (the default commit
-              behavior is to unlock all files listed as part of the
-              commit).  See <xref linkend="svn.advanced.locking"/> for
-              more information.</para>
+            <para>不自动解锁文件(缺省的提交行为是解锁提交列出的所有文件),更多信息见<xref 
+            linkend="svn.advanced.locking"/>。
+            </para>
           </listitem>
         </varlistentry>
 
@@ -1742,43 +1735,38 @@
       <refentry id="svn.ref.svn.c.lock">
         <refnamediv>
           <refname>svn lock</refname> 
-            <refpurpose>Lock working copy paths or URLs in the
-              repository, so that no other user can commit changes to
-              them.</refpurpose>
+            <refpurpose>锁定版本库的工作拷贝路径或URL,所以没有其他用户可以提交这些文件的修改。
+            </refpurpose>
         </refnamediv>
         <refsect1>
           <title>Synopsis</title>
           <programlisting>svn lock TARGET...</programlisting>
         </refsect1>
         <refsect1>
-          <title>Description</title>
+          <title>描述</title>
 
-          <para>Lock each <replaceable>TARGET</replaceable>.  If any
-            <replaceable>TARGET</replaceable> is already locked by
-            another user, print a warning and continue locking the
-            rest of the <replaceable>TARGET</replaceable>s.  Use
-            <option>--force</option> to steal a lock from another user
-            or working copy.</para>
+          <para>锁定每个<replaceable>TARGET</replaceable>。如果任何<replaceable>TARGET</replaceable>已经被另一个用户锁定,则会打印警告信息并且继续锁定剩下的<replaceable>TARGET</replaceable>。可以使用<option>--force</option>从其它用户来窃取锁定。
+         </para>
 
         </refsect1>
 
         <refsect1>
-          <title>Alternate Names</title>
-          <para>None</para>
+          <title>别名</title>
+          <para>无</para>
         </refsect1>
 
         <refsect1>
-          <title>Changes</title>
-          <para>Working Copy, Repository</para>
+          <title>变化</title>
+          <para>工作拷贝,版本库</para>
         </refsect1>
 
         <refsect1>
-          <title>Accesses Repository</title>
-          <para>Yes</para>
+          <title>是否访问版本库</title>
+          <para>是</para>
         </refsect1>
 
         <refsect1>
-          <title>Switches</title>
+          <title>选项</title>
 
           <screen>
 --targets ARG
@@ -1796,9 +1784,9 @@
         </refsect1>
 
         <refsect1>
-          <title>Examples</title>
+          <title>例子</title>
 
-          <para>Lock two files in your working copy:</para>
+          <para>在工作拷贝锁定两个文件:</para>
 
           <screen>
 
@@ -1807,8 +1795,7 @@
 'house.jpg' locked by user 'harry'.
 </screen>
 
-          <para>Lock a file in your working copy that is currently
-            locked by another user:</para>
+          <para>锁定工作拷贝的一个被其它用户锁定的文件:</para>
 
           <screen>
 $ svn lock tree.jpg
@@ -1819,15 +1806,15 @@
 'tree.jpg' locked by user 'sally'.
 </screen>
 
-          <para>Lock a file without a working copy:</para>
+          <para>没有工作拷贝的情况下锁定文件:</para>
 
           <screen>
 $ svn lock http://svn.red-bean.com/repos/test/tree.jpg
 'tree.jpg' locked by user 'sally'.
 </screen>
 
-          <para>For further details, see <xref
-            linkend="svn.advanced.locking"/>.</para>
+          <para>更多细节见<xref
+            linkend="svn.advanced.locking"/>。</para>
 
         </refsect1>
       </refentry>
@@ -3053,55 +3040,44 @@
 
           </variablelist>
 
-          <para>The sixth column is populated with lock information.</para>
+          <para>第六列显示锁定信息。</para>
           
           <variablelist>
             
             <varlistentry>
               <term>' '</term>
               <listitem>
-                <para>When <option>--show-updates</option> is used,
-                the file is not locked.  If
-                <option>--show-updates</option> is
-                <emphasis>not</emphasis> used, this merely means that
-                the file is not locked in this working copy.</para>
+                <para>当使用<option>--show-updates</option>,文件没有锁定。如果<emphasis>不</emphasis>使用<option>--show-updates</option>,这意味着文件在工作拷贝被锁定。
+                </para>
               </listitem>
             </varlistentry>
 
             <varlistentry>
               <term>K</term>
               <listitem>
-                <para>File is locked in this working copy.</para>
+                <para>文件锁定在工作拷贝。</para>
               </listitem>
             </varlistentry>
             
             <varlistentry>
               <term>O</term>
               <listitem>
-                <para>File is locked either by another user or in
-                another working copy.  This only appears when
-                <option>--show-updates</option> is used.</para>
+                <para>文件被另一个工作拷贝的另一个用户锁定,只有在使用<option>--show-updates</option>时显示。
+                </para>
               </listitem>
             </varlistentry>
 
             <varlistentry>
               <term>T</term>
               <listitem>
-                <para>File was locked in this working copy, but the
-                lock has been <quote>stolen</quote>and is invalid.
-                The file is currently locked in the repository.  This
-                only appears when <option>--show-updates</option> is
-                used.</para>
+                <para>文件锁定在工作拷贝,但是锁定被<quote>窃取</quote>而不可用。文件当前锁定在版本库,只有在使用<option>--show-updates</option>时显示。</para>
               </listitem>
             </varlistentry>
 
             <varlistentry>
               <term>B</term>
               <listitem>
-                <para>File was locked in this working copy, but the
-                lock has been <quote>broken</quote>and is invalid.
-                The file is no longer locked This only appears when
-                <option>--show-updates</option> is used.</para>
+                <para>文件锁定在工作拷贝,但是锁定被<quote>破坏</quote>而不可用。文件当前锁定在版本库,只有在使用<option>--show-updates</option>时显示。</para>
               </listitem>
             </varlistentry>
 
@@ -3342,42 +3318,36 @@
       <refentry id="svn.ref.svn.c.unlock">
         <refnamediv>
           <refname>svn unlock</refname> 
-            <refpurpose>Unlock working copy paths or URLs.</refpurpose>
+            <refpurpose>解锁工作拷贝路径或URL。</refpurpose>
         </refnamediv>
         <refsect1>
-          <title>Synopsis</title>
+          <title>概要</title>
           <programlisting>svn unlock TARGET...</programlisting>
         </refsect1>
         <refsect1>
-          <title>Description</title>
+          <title>描述</title>
 
-          <para>Unlock each <replaceable>TARGET</replaceable>.  If any
-            <replaceable>TARGET</replaceable> is either locked by
-            another user or no valid lock token exists in the working
-            copy, print a warning and continue unlocking the rest of
-            the <replaceable>TARGET</replaceable>s.  Use
-            <option>--force</option> to break a lock belonging to
-            another user or working copy.</para>
+          <para>解锁每个<replaceable>TARGET</replaceable>。如果任何另一个用户锁定了<replaceable>TARGET</replaceable>,或者没有正确工作拷贝的锁定令牌,打印警告并继续解锁余下的<replaceable>TARGET</replaceable>。使用<option>--force</option>可以打破其它用户或工作拷贝的锁定。</para>
 
         </refsect1>
 
         <refsect1>
-          <title>Alternate Names</title>
-          <para>None</para>
+          <title>别名</title>
+          <para>无</para>
         </refsect1>
 
         <refsect1>
-          <title>Changes</title>
-          <para>Working Copy, Repository</para>
+          <title>变化</title>
+          <para>工作拷贝,版本库</para>
         </refsect1>
 
         <refsect1>
-          <title>Accesses Repository</title>
-          <para>Yes</para>
+          <title>是否访问版本库</title>
+          <para>是</para>
         </refsect1>
 
         <refsect1>
-          <title>Switches</title>
+          <title>选项</title>
 
           <screen>
 --targets ARG
@@ -3391,9 +3361,9 @@
         </refsect1>
 
         <refsect1>
-          <title>Examples</title>
+          <title>例子</title>
 
-          <para>Unlock two files in your working copy:</para>
+          <para>解锁工作拷贝中的两个文件:</para>
 
           <screen>
 
@@ -3402,8 +3372,7 @@
 'house.jpg' unlocked.
 </screen>
 
-          <para>Unlock a file in your working copy that is currently
-            locked by another user:</para>
+          <para>解锁工作拷贝的一个被其他用户锁定的文件:</para>
 
           <screen>
 $ svn unlock tree.jpg
@@ -3412,14 +3381,14 @@
 'tree.jpg' unlocked.
 </screen>
 
-          <para>Unlock a file without a working copy:</para>
+          <para>没有工作拷贝时解锁一个文件:</para>
 
           <screen>
 $ svn unlock http://svn.red-bean.com/repos/test/tree.jpg
 'tree.jpg unlocked.
 </screen>
 
-          <para>For further details, see <xref
+          <para>更多细节见<xref
             linkend="svn.advanced.locking"/>.</para>
 
         </refsect1>
@@ -3657,19 +3626,16 @@
         <varlistentry>
           <term><option>--use-post-commit-hook</option></term>
           <listitem>
-            <para>When loading a dump file, run the repository's
-              post-commit hook after finalizing each newly loaded
-              revision.</para>
+            <para>当导入使用一个转储文件时,在每次新的修订版本产生时运行版本库post-commit钩子。
+            </para>
           </listitem>
         </varlistentry>
 
         <varlistentry>
           <term><option>--use-pre-commit-hook</option></term>
           <listitem>
-            <para>When loading a dump file, run the repository's
-              pre-commit hook before finalizing each newly loaded
-              revision.  If the hook fails, abort the commit and
-              terminate the load process.</para>
+            <para>当加载一个转储文件时,每次新加修订版本之前运行版本库的pre-commit钩子。如果钩子失败,终止提交并中断加载进程。
+            </para>
           </listitem>
         </varlistentry>
         
@@ -3770,43 +3736,12 @@
           <para>使用<quote>dumpfile</quote>可移植格式将文件系统的内容转储到标准输出,将反馈发送到标准错误,导出的修订版本从<replaceable>LOWER</replaceable>到<replaceable>UPPER</replaceable>。如果没有提供修订版本,会导出所有的修订版本树,如果只提供<replaceable>LOWER</replaceable>,导出一个修订版本树,通常的用法见<xref linkend="svn.reposadmin.maint.migrate"/>。
          </para>
 
-         <para>By default, the Subversion dumpfile stream contains a
-            single revision (the first revision in the requested
-            revision range) in which every file and directory in the
-            repository in that revision is presented as if that whole
-            tree was added at once, followed by other revisions (the
-            remainder of the revisions in the requested range) which
-            contain only the files and directories which were modified
-            in those revisions.  For a modified file, the complete
-            fulltext representation of its contents, as well as all of
-            its properties, are presented in the dumpfile; for a
-            directory, all of its properties are presented.</para>
-
-          <para>There are a pair of useful options which modify the
-            dumpfile generator's behavior.  The first is the
-            <option>--incremental</option> option, which simply causes
-            that first revision in the dumpfile stream to contain only
-            the files and directories modified in that revision,
-            instead of being presented as the addition of a new tree,
-            and in exactly the same way that every other revision in
-            the dumpfile is presented.  This is useful for generating
-            a dumpfile that is to be loaded into another repository
-            which already has the files and directories that exist in
-            the original repository.</para>
-
-          <para>The second useful option is <option>--deltas</option>.
-            This switch causes <command>svnadmin dump</command> to,
-            instead of emitting fulltext representations of file
-            contents and property lists, emit only deltas of those
-            items against their previous versions.  This reduces (in
-            some cases, drastically) the size of the dumpfile that
-            <command>svnadmin dump</command> creates.  There are, however,
-            disadvantages to using this option—deltified
-            dumpfiles are more CPU intensive to create, cannot be
-            operated on by <command>svndumpfilter</command>, and tend
-            not to compress as well as their non-deltified counterparts
-            when using third-party tools like <command>gzip</command>
-            and <command>bzip2</command>.</para>
+         <para>缺省情况下,Subversion的转储流包含了一个包括所有文件和目录的单独修订版本(请求的修订版本范围的第一个),后面是其它的只包含本修订所修改的文件和目录的修订版本(请求范围的其它版本)。对于修改的文件,转储文件包括所有的内容和属性,对于目录,包括所有的属性。</para>
+
+          <para>有一对有用的选项可以改变转储文件产生的方式,第一个是<option>--incremental</option>,使得第一个修订版本只显示其修改的文件和目录,而不是整个目录树,就像转储文件中其它的修订版本。这对产生一个准备导入到已经有数据的版本库时非常有用。
+          </para>
+
+          <para>第二个有用的选项是<option>--deltas</option>,这个选项导致<command>svnadmin dump</command>不会保留修改文件的所有内容,而只是记录修改的部分。这样减少(有些情况下是非常大的)了<command>svnadmin dump</command>产生的转储文件的大小。然而,也有缺点—增量转储文件需要更多的CPU来创建,也不可以用<command>svndumpfilter</command>操作,也不如非增量文件容易被如<command>gzip</command>和<command>bzip2</command>等第三方工具压缩。</para>
             </refsect1>
         <refsect1>
           <title>选项</title>
@@ -4016,30 +3951,29 @@
       <refentry id="svn.ref.svnadmin.c.lslocks">
         <refnamediv>
           <refname>svnadmin lslocks</refname> 
-          <refpurpose>Print descriptions of all locks.</refpurpose>
+          <refpurpose>打印所有锁定的描述。</refpurpose>
         </refnamediv>
         <refsect1>
-          <title>Synopsis</title>
+          <title>概要</title>
           <programlisting>svnadmin lslocks REPOS_PATH</programlisting>
         </refsect1>
         <refsect1>
-          <title>Description</title>
+          <title>描述</title>
 
-          <para>Print descriptions of all locks in a repository.</para>
+          <para>打印版本库所有锁定的描述。</para>
         </refsect1>
 
         <refsect1>
-          <title>Switches</title>
+          <title>选项</title>
           
-          <para>None</para>
+          <para>无</para>
         </refsect1>
 
         <refsect1>
-          <title>Example</title>
+          <title>例子</title>
 
 
-          <para>This lists the one locked file in the repository at
-            <filename>/svn/repos</filename></para>
+          <para>显示了版本库<filename>/svn/repos</filename>中一个锁定的文件:</para>
 
           <screen>
 $ svnadmin lslocks /svn/repos
@@ -4150,32 +4084,28 @@
 <refentry id="svn.ref.svnadmin.c.rmlocks">
         <refnamediv>
           <refname>svnadmin rmlocks</refname>
-          <refpurpose>Unconditionally remove one or more locks from a
-          repository.</refpurpose>
+          <refpurpose>无条件的删除版本库的一个或多个锁定。</refpurpose>
         </refnamediv>
         <refsect1>
-          <title>Synopsis</title>
+          <title>概要</title>
           <programlisting>svnadmin rmlocks REPOS_PATH LOCKED_PATH...</programlisting>
         </refsect1>
         <refsect1>
-          <title>Description</title>
+          <title>描述</title>
 
-          <para>Remove lock from each <replaceable>LOCKED_PATH</replaceable>.</para>
+          <para>从<replaceable>LOCKED_PATH</replaceable>删除没个锁定。</para>
         </refsect1>
 
         <refsect1>
-          <title>Switches</title>
+          <title>选项</title>
           
-          <para>None</para>
+          <para>无</para>
         </refsect1>
 
         <refsect1>
-          <title>Example</title>
+          <title>例子</title>
 
-          <para>This deletes the locks on
-            <filename>tree.jpg</filename> and
-            <filename>house.jpg</filename> in the repository at
-            <filename>/svn/repos</filename></para>
+          <para>这删除了版本库<filename>/svn/repos</filename>里<filename>tree.jpg</filename>和<filename>house.jpg</filename>文件上的锁定:</para>
 
           <screen>
 $ svnadmin rmlocks /svn/repos tree.jpg house.jpg
@@ -4354,13 +4284,9 @@
         <varlistentry>
           <term><option>--revprop</option></term>
           <listitem>
-            <para>Operates on a revision property instead of a
-              Subversion property specific to a file or directory.
-              This switch requires that you also pass a revision
-              with the <option>--revision</option>
-              (<option>-r</option>) switch. See <xref
-              linkend="svn.reposadmin.basics.revprops"/> for more details on
-              unversioned properties.</para>
+            <para>操作针对修订版本属性,而不是Subversion文件或目录的属性。这个选项需要你传递<option>--revision</option>
+              (<option>-r</option>)选项,更多关于未版本化属性的细节见<xref
+              linkend="svn.reposadmin.basics.revprops"/></para>
           </listitem>
         </varlistentry>
 
@@ -4495,43 +4421,42 @@
             <varlistentry>
               <term>'<literal>A </literal>'</term>
               <listitem>
-                <para>Item added to repository.</para>
+                <para>条目添加到版本库。</para>
               </listitem>
             </varlistentry>
 
             <varlistentry>
               <term>'<literal>D </literal>'</term>
               <listitem>
-                <para>Item deleted from repository.</para>
+                <para>条目从版本库删除。</para>
               </listitem>
             </varlistentry>
 
             <varlistentry>
               <term>'<literal>U </literal>'</term>
               <listitem>
-                <para>File contents changed.</para>
+                <para>文件内容改变了。</para>
               </listitem>
             </varlistentry>
 
             <varlistentry>
               <term>'<literal>_U</literal>'</term>
               <listitem>
-                <para>Properties of item changed.</para>
+                <para>条目属性改变了。</para>
               </listitem>
             </varlistentry>
 
             <varlistentry>
               <term>'<literal>UU</literal>'</term>
               <listitem>
-                <para>File contents and properties changed.</para>
+                <para>文件内容和属性修改了。</para>
               </listitem>
             </varlistentry>
 
           </variablelist>
 
-          <para>Files and directories can be distinguished, as directory
-            paths are displayed with a trailing '<literal>/</literal>'
-            character.</para>
+          <para>文件和目录可以区分,目录路径后面会显示字符'<literal>/</literal>'。
+          </para>
 
         </refsect1>
 
@@ -4825,33 +4750,28 @@
       <refentry id="svn.ref.svnlook.c.lock">
         <refnamediv>
           <refname>svnlook lock</refname>
-          <refpurpose>If a lock exists on a path in the repository,
-            describe it.</refpurpose>
+          <refpurpose>如果版本库路径已经被锁定,描述它。</refpurpose>
         </refnamediv>
         <refsect1>
-          <title>Synopsis</title>
+          <title>概要</title>
           <programlisting>svnlook lock REPOS_PATH PATH_IN_REPOS</programlisting>
         </refsect1>
         <refsect1>
-          <title>Description</title>
+          <title>描述</title>
 
-          <para>Print all information available for the lock at
-              <replaceable>PATH_IN_REPOS</replaceable>.  If
-              <replaceable>PATH_IN_REPOS</replaceable> is not locked,
-              print nothing.</para>
+          <para>打印<replaceable>PATH_IN_REPOS</replaceable>锁定的所有信息,如果<replaceable>PATH_IN_REPOS</replaceable>没有锁定,则不打印任何内容。</para>
         </refsect1>
 
         <refsect1>
-          <title>Switches</title>
+          <title>选项</title>
             
-          <para>None</para>
+          <para>无</para>
         </refsect1>
 
         <refsect1>
-          <title>Examples</title>
+          <title>例子</title>
 
-          <para>This describes the lock on the file
-            <filename>tree.jpg</filename>.</para>
+          <para>这描述了文件<filename>tree.jpg</filename>的锁定。</para>
 
           <screen>
 $ svnlook lock /svn/repos tree.jpg
@@ -5375,7 +5295,7 @@
       </refsect1>
 
       <refsect1 id="svn.ref.mod_dav_svn.conf.directives">
-        <title>Directives</title>
+        <title>指示</title>
 
         <variablelist>
     
@@ -5393,17 +5313,8 @@
             <term><literal>SVNAutoversioning On</literal></term>
             <listitem>
 
-              <para>This directive allows write requests from WebDAV
-                clients to result in automatic commits.  A generic log
-                message is auto-generated and attached to each
-                revision.  If you enable Autoversioning, you'll likely
-                want to set <literal>ModMimeUsePathInfo On</literal>
-                so that <literal>mod_mime</literal> can set
-                <literal>svn:mime-type</literal> to the correct
-                mime-type automatically (as best as
-                <literal>mod_mime</literal> is able to, of course).
-                For more information, see <xref
-                linkend="svn.webdav"/></para>
+              <para>这个指示允许WebDAV客户端的请求导致自动提交,每个修订版本会产生一个普通的日志信息。如果你开启了自动版本化,你很可能需要设置<literal>ModMimeUsePathInfo On</literal>,这样<literal>mod_mime</literal>可以自动的(像<literal>mod_mime</literal>一样好,当然)将<literal>svn:mime-type</literal>设置为正确的mime-type值。更多信息见<xref
+                linkend="svn.webdav"/>。</para>
 
             </listitem>
           </varlistentry>




More information about the svnbook-dev mailing list