[svnbook commit] r3299 - trunk/src/ru/book

Imaged noreply at red-bean.com
Wed Sep 10 13:23:07 CDT 2008


Author: Imaged
Date: Wed Sep 10 13:23:06 2008
New Revision: 3299

Log:
 * ru/book/ch-advanced-topics.xml: new translation for some parts

Modified:
   trunk/src/ru/book/ch-advanced-topics.xml

Modified: trunk/src/ru/book/ch-advanced-topics.xml
==============================================================================
--- trunk/src/ru/book/ch-advanced-topics.xml	(original)
+++ trunk/src/ru/book/ch-advanced-topics.xml	Wed Sep 10 13:23:06 2008
@@ -1113,6 +1113,7 @@
         запрещено.</para>
 
       <tip>
+      <!-- @ENGLISH {{{
         <para>Users should, where possible, use <command>svn
           propedit</command> instead of <command>svn
           propset</command>.  While the end result of the commands is
@@ -1123,6 +1124,16 @@
           modifying unversioned revision properties.  Also, it is
           significantly easier to modify multiline property values in
           a text editor than at the command line.</para>
+      @ENGLISH }}} -->
+        <para>Пользователям следует, по возможности, использовать <command>svn
+          propedit</command> вместо <command>svn
+          propset</command>.  Хотя конечный результат обоих команд будет 
+          одинаков, первая позволит увидеть перед изменением текущее значение 
+          свойства, и таким образом удостовериться, что вносятся именно 
+          те изменения, которые были задуманы. В особенности, это справедливо
+          для модификации неверсионированных свойств правок. Также гораздо 
+          проще вносить изменения в текстовом редакторе, а не в командной строке,
+          когда речь идет о свойствах с многострочными значениями.</para>
       </tip>
 
     </sect2>
@@ -1141,11 +1152,12 @@
         merging—in cleanly or conflicting fashions—someone
         else's modifications into your own.</para>
       @ENGLISH }}} -->
-      <para>Теперь, когда вы познакомились со всеми <command>svn</command>
-        командами, имеющими отношение к свойствам, давайте посмотрим
-        как модификация свойств влияет на привычный порядок работы с
+      <para>Теперь, когда вы познакомились со всеми командами 
+        <command>svn</command>, имеющими отношение к свойствам, 
+        давайте посмотрим,
+        как изменения свойств влияют на привычный порядок работы с
         Subversion. Как мы уже говорили, так же как и содержимое файлов,
-        свойства файлов и директорий версионированы. В результате,
+        свойства файлов и каталогов версионированы. В результате
         Subversion предоставляет те же возможности по слиянию
         — в случае конфликтных ситуаций — чужих изменений
         с вашими собственными.</para>
@@ -1162,14 +1174,14 @@
         <command>svn status</command> and <command>svn diff</command>
         commands.</para>
       @ENGLISH }}} -->
-      <para>Так же как и в случае с содержимым файлов, изменение свойств
-        является локальной модификацией и становится постоянной при ее
+      <para>Так же как и в случае с содержимым файлов, изменения свойств
+        являются локальной модификацией и становятся постоянными только при их
         фиксации в хранилище с помощью <command>svn commit</command>.
         Изменение свойств можно легко отменить — команда
         <command>svn revert</command> восстановит файлы и директории
         до их первоначального состояния, включая содержимое, свойства и
         все остальное. Кроме того, интересную информацию о состоянии
-        свойств файлов и директорий можно получить с помощью команд
+        свойств файлов и каталогов можно получить с помощью команд
         <command>svn status</command> и <command>svn
         diff</command>.</para>
 
@@ -1196,10 +1208,11 @@
       @ENGLISH }}} -->
       <para>Обратите внимание на то, что подкоманда <command>status</command>
         показывает <literal>M</literal> не в первой, а во второй колонке.
-        Это потому, что в <filename>calc/button.c</filename> изменились
-        свойства, а текстовое содержимое нет. Если бы мы изменили и то и
-        другое, в первой колонке то же была бы буква <literal>M</literal>
-        (см. <xref linkend="svn.tour.cycle.examine.status" />).</para>
+        Это происходит потому, что в <filename>calc/button.c</filename> 
+        изменились свойства, а текстовое содержимое нет. Если бы мы изменили 
+        и то и другое, в первой колонке тоже стояла бы буква 
+        <literal>M</literal> (см. 
+        <xref linkend="svn.tour.cycle.examine.status" />).</para>
 
       <sidebar>
         <!-- @ENGLISH {{{
@@ -1216,8 +1229,8 @@
 
         <para>Так же как и в случае с содержимым файлов, локальные
           модификации свойств могут конфликтовать с изменениями,
-          зафиксированными кем-то другим. При обновлении рабочей копии
-          директории и получении изменений свойств для версионированного
+          зафиксированными кем-то другим. При обновлении каталога 
+          рабочей копии и получении изменений свойств версионированного
           объекта, которые идут в разрез вашими собственными, Subversion
           сообщит о конфликтном состоянии объекта.</para>
 
@@ -1240,10 +1253,10 @@
           status</command> output for that object, and attempts to
           commit your local modifications will fail.</para>
         @ENGLISH }}} -->
-        <para>В директории с конфликтующим обектом Subversion
+        <para>В каталоге с конфликтующим объектом Subversion
           создает файл с расширением <filename>.prej</filename>,
-          с подробностями о конфликте. Для разрешения конфликта
-          необходимо познакомиться с содержимым этого файла. Пока
+          с подробной информацией о конфликте. Для разрешения конфликта
+          необходимо посмотреть содержимое этого файла. Пока
           не будет решен конфликт, во второй колонке вывода
           команды <command>svn status</command> будет присутствовать
           буква <literal>C</literal>, а попытки фиксации локальных
@@ -1265,9 +1278,9 @@
           alert Subversion that you have manually resolved the
           problem.</para>
         @ENGLISH }}} -->
-        <para>Для разрешения конфликтующих свойств, просто убедитесь,
+        <para>Для разрешения конфликтов свойств просто убедитесь,
           что свойства имеют нужные значения, после чего, с помощь команды
-          <command>svn resolved</command>, уведомьте Subversion о том, что
+          <command>svn resolved</command>, уведомите Subversion о том, что
           вы решили проблему вручную.</para>
 
       </sidebar>
@@ -1283,22 +1296,26 @@
         <command>svn diff</command>, any property modifications will
         need to be applied by hand.</para>
       @ENGLISH }}} -->
-      <para>Кроме того нужно помнить о нестандартном подходе, используемом
+      <para>Кроме того, нужно помнить о нестандартном подходе, используемом
         Subversion при выводе различий для свойств. Безусловно, можно
-        запустить <command>svn diff</command> перенаправить вывод, для создания
-        работоспособного файла отличий. Программа <command>patch</command>
+        запустить <command>svn diff</command> и перенаправить вывод для создания
+        работоспособного патч-файла. Программа <command>patch</command>
         будет просто игнорировать различия свойств — как правило,
-        она игнорирует любой мусор, который не может обработать. К сожалению,
+        она игнорирует любой мусор, который она не может обработать. К сожалению,
         это значит, что для полного применения отличий, сгенерированных
-        <command>svn diff</command>, изменения свойств нужно вносить в
-        ручную.</para>
+        <command>svn diff</command>, изменения свойств нужно вносить 
+        вручную.</para>
 
     </sect2>
 
     <!-- =============================================================== -->
     <sect2 id="svn.advanced.props.auto">
+      <!-- @ENGLISH {{{
       <title>Automatic Property Setting</title>
+        @ENGLISH }}} -->
+      <title>Автоматическая установка свойств</title>
 
+      <!-- @ENGLISH {{{
       <para>Properties are a powerful feature of Subversion, acting as
         key components of many Subversion features discussed elsewhere
         in this and other chapters—textual diff and merge
@@ -1311,7 +1328,21 @@
         add a file to version control).  To help your properties get
         applied to the places that need them, Subversion provides a
         couple of simple but useful features.</para>
+        @ENGLISH }}} -->
+      <para>Свойства являются мощной особенностью Subversion, выступающей
+        как ключевой компонент многих функций Subversion,
+        обсуждаемых по ходу этой и остальных глав — поддержки текстового
+        сравнения и слияния, подстановки ключевых слов, интерпретации переводов
+        строки и т. д. Однако, чтобы получить реальную выгоду от свойств,
+        их нужно устанавливать на правильные файлы и каталоги. К сожалению,
+        среди повседневных забот об этом очень легко забыть, особенно учитывая
+        то, что неустановка значения свойства обычно не приводит
+        к очевидным ошибкам (как минимум, по сравнению, скажем, с 
+        недобавлением файла под версионный контроль). Чтобы помочь вам
+        устанавливать свойства для нужных элементов, Subversion предоставляет
+        пару простых, но полезных возможностей.</para>
 
+      <!-- @ENGLISH {{{
       <para>Whenever you introduce a file to version control using the
         <command>svn add</command> or <command>svn import</command>
         commands, Subversion tries to assist by setting some common
@@ -1334,7 +1365,33 @@
         always remove or edit that property.  (For more on
         Subversion's use of MIME types, see <xref
         linkend="svn.advanced.props.special.mime-type" />.)</para>
+        @ENGLISH }}} -->
+      <para>Каждый раз, когда вы помещаете файл под контроль версий с помощью
+        команд <command>svn add</command> или <command>svn import</command>,
+        Subversion пытается автоматически установить несколько базовых 
+        свойств файлов. Во-первых, в операционных системах, файловые
+        системы которых поддерживают бит разрешения выполнения, Subversion
+        автоматически задаст свойство <literal>svn:executable</literal> 
+        для вновь добавленных или импортированных файлов, у которых
+        этот бит установлен. (Обратитесь к <xref
+        linkend="svn.advanced.props.special.executable" /> за 
+        дополнительной информации об этом свойстве.)  Во-вторых, 
+        Subversion выполняет очень простую эвристическую процедуру, 
+        чтобы определить, имеет ли файл читаемое содержимое. Если это 
+        не так, Subversion автоматически установит для этого файла 
+        свойство <literal>svn:mime-type</literal> в значение 
+        <literal>application/octet-stream</literal> (это базовый 
+        MIME-тип, обозначающий <quote>набор байтов</quote>).  Конечно,
+        если Subversion угадает тип файла неправильно, или если вы 
+        пожелаете присвоить свойству <literal>svn:mime-type</literal> 
+        более точное значение — например, <literal>image/png</literal>
+        или <literal>application/x-shockwave-flash</literal> — 
+        вы всегда сможете удалить или отредактировать это свойство. 
+        (За дополнительной информацией об использовании MIME-типов 
+        в Subversion обратитесь к 
+        <xref linkend="svn.advanced.props.special.mime-type" />.)</para>
 
+      <!-- @ENGLISH {{{
       <para>Subversion also provides, via its runtime configuration
         system (see <xref linkend="svn.advanced.confarea" />), a more
         flexible automatic property setting feature which allows you
@@ -1356,6 +1413,30 @@
         toolbox.  See <xref
         linkend="svn.advanced.confarea.opts.config"/> for more about
         configuring that support.</para>
+        @ENGLISH }}} -->
+      <para>Через собственную систему конфигурирования среды исполнения 
+        (см. <xref linkend="svn.advanced.confarea" />) Subversion
+        также поддерживает более гибкую возможность автоматической 
+        установки свойств, которая позволяет вам создавать соответствия
+        между масками имен файлов и именами и значениями свойств.
+        Еще раз: эти соответствия воздействуют на добавление и импорт,
+        и могут не только переопределять решение о MIME-типе по 
+        умолчанию, принимаемое Subversion в ходе этих операций,
+        но также устанавливать другие стандартные или пользовательские
+        свойства. Например, вы могли бы задать соответствие, которое
+        установило бы, что при каждом добавлении JPEG-файла — то есть
+        элемента, соответствующего маске <literal>*.jpg</literal> —
+        Subversion автоматически устанавливал бы для них значение свойства
+        <literal>svn:mime-type</literal>, равное 
+        <literal>image/jpeg</literal>. Или, предположим, для всех файлов,
+        соответствующих маске <literal>*.cpp</literal>, свойство 
+        <literal>svn:eol-style</literal> устанавливалось бы в 
+        <literal>native</literal>, а <literal>svn:keywords</literal>
+        — в <literal>Id</literal>.  Поддержка автоматических свойств
+        — это, возможно, наиболее удобный инструмент Subversion
+        в части работы со свойствами среди всего набора доступных средств. 
+        См. <xref linkend="svn.advanced.confarea.opts.config"/> для
+        дополнительной информации о настройке такой поддержки.</para>
 
     </sect2>     
   </sect1>
@@ -1364,15 +1445,27 @@
   <!-- ================================================================= -->
   <!-- ================================================================= -->
   <sect1 id="svn.advanced.props.file-portability">
+      <!-- @ENGLISH {{{
     <title>File Portability</title>
+        @ENGLISH }}} -->
+    <title>Переносимость файлов</title>
 
+      <!-- @ENGLISH {{{
     <para>Fortunately for Subversion users who routinely find
       themselves on different computers with different operating
       systems, Subversion's command-line program behaves almost
       identically on all those systems.  If you know how to wield
       <command>svn</command> on one platform, you know how to wield it
       everywhere.</para>
+        @ENGLISH }}} -->
+    <para>К радости пользователей Subversion, регулярно работающих
+      за различными компьютерами с различными операционными системами,
+      утилита командной строки Subversion ведет себя практически 
+      одинаково на всех таких системах. Из того, что вы знаете, как 
+      обращаться с <command>svn</command> на одной платформе, само собой
+      следует, что вы знаете, как с ней обращаться где угодно.</para>
 
+      <!-- @ENGLISH {{{
     <para>However, the same is not always true of other general classes
       of software, or of the actual files you keep in Subversion.  For
       example, on a Windows machine, the definition of a <quote>text
@@ -1383,18 +1476,44 @@
       symbolic links; Windows does not.  Unix platforms use filesystem
       permission to determine executability; Windows uses filename
       extensions.</para>
+        @ENGLISH }}} -->
+    <para>Однако, это не всегда справедливо для других классов и 
+      программного обеспечения, или для конкретных файлов, которые 
+      хранятся в Subversion. Например, на компьютере под управлением
+      Windows <quote>текстовые файлы</quote> выглядят очень похоже
+      на Linux, но с одним существенным отличием — 
+      последовательностью символов, используемой для маркировки
+      конца строки в таких файлах.  Есть и другие отличия. 
+      Unix-платформы имеют символьные ссылки (и Subversion их 
+      поддерживает), а Windows — не имеет. Unix-платформы
+      используют разрешение файловой системы, чтобы определить 
+      исполняемость файла; в то время как Windows использует
+      расширения имен файлов.</para>
 
+      <!-- @ENGLISH {{{
     <para>Because Subversion is in no position to unite the whole
       world in common definitions and implementations of all of these
       things, the best it can do is to try to help make your life
       simpler when you need to work with your versioned files and
       directories on multiple computers and operating systems.  This
       section describes some of the ways Subversion does this.</para>
+        @ENGLISH }}} -->
+    <para>Поскольку Subversion не ставит цели подчинить весь мир 
+      некоторым общим определениям и реализовать все на свете,
+      лучшее, что она может сделать — попытаться упростить
+      вашу жизнь при работе с версионированными файлами и каталогами 
+      на различных компьютерах и операционных системах.
+      В этом разделе описывается то, каким образом Subversion
+      достигает этой цели.</para>
 
     <!-- =============================================================== -->
     <sect2 id="svn.advanced.props.special.mime-type">
+      <!-- @ENGLISH {{{
       <title>File Content Type</title>
+        @ENGLISH }}} -->
+      <title>Тип содержимого файла</title>
 
+      <!-- @ENGLISH {{{
       <para>Subversion joins the ranks of the many applications which
         recognize and make use of Multipurpose Internet Mail
         Extensions (MIME) content types.  Besides being a
@@ -1402,10 +1521,22 @@
         the value of the <literal>svn:mime-type</literal> file
         property determines some behavioral characteristics of
         Subversion itself.</para>
+        @ENGLISH }}} -->
+      <para>Subversion присоединяется к многочисленному семейству
+        приложений, распознающих и использующих для типизации содержимого
+        многоцелевые расширения интернет-почты (Multipurpose Internet 
+        Mail Extensions — MIME). Значение свойства 
+        <literal>svn:mime-type</literal> не только является универсальным
+        местом хранения информации о типе содержимого файла,
+        но и определяет некоторые особенности поведения Subversion.</para>
 
       <sidebar>
+      <!-- @ENGLISH {{{
         <title>Identifying File Types</title>
+        @ENGLISH }}} -->
+        <title>Определение типа файла</title>
     
+      <!-- @ENGLISH {{{
         <para>Software programs on most modern operating systems make
           assumptions about the type and format of the contents of a
           file by the file's name, specifically its file extension.
@@ -1419,7 +1550,23 @@
           interpreted by software which understands the PNG format and
           can render the information in that format as a raster
           image.</para>
+        @ENGLISH }}} -->
+        <para>Программное обеспечение и наиболее современные операционные
+          системы делают предположение о типа и формате содержимого файла,
+          исходя из имени файла, в частности, его расширения.
+          Например, файлы, имена которых заканчиваются на 
+          <filename>.txt</filename>, обычно рассматривабтся как читаемые,
+          текстовые файлы; для понимания их достаточно внимательно
+          прочитать, отсутствует необходимость в сложных процедурах
+          расшифровывания. Файлы, имена которых заканчиваются на 
+          <filename>.png</filename>, напротив, рассматриваются как файлы
+          переносимой сетевой графики (Portable Network Graphics); они
+          совершенно не читаемы человеком и воспринимаются только в 
+          случае их интерпретации программой, понимающей формат PNG и 
+          способной на основе информации в этом формате сформировать 
+          растровое изображение.</para>
 
+      <!-- @ENGLISH {{{
         <para>Unfortunately, some of those extensions have changed
           meanings over time.  When personal computers first appeared,
           a file named <filename>README.DOC</filename> would have
@@ -1438,7 +1585,29 @@
               proprietary file format's preferred extension!</para>
           </footnote>
         </para>
+        @ENGLISH }}} -->
+        <para>К сожалению, смысл некоторых расширений изменился с 
+          течением времени. Когда только появились первые персональные
+          компьютеры, файл с именем <filename>README.DOC</filename> 
+          совершенно однозначно означал неформатированный текстовый
+          файл, подобно файлам <filename>.txt</filename> в наши дни.
+          Однако, с середины 1990-х вы могли стать совершенно уверенными
+          в том, что файл с таким именем является вовсе не текстом 
+          без форматирования, а документом Microsoft Word с закрытым,
+          нечитаемым форматом. Но ведь это изменение не свершилось
+          за одну ночь — для компьютерных пользователей существовал
+          достаточно долгий период путаницы, когда при встрече с 
+          файлом <filename>.DOC</filename> было непонятно, с чем же мы,
+          собственно, имеем дело.
+          <footnote>
+            <para>Вы думаете, это всё?  В тот же самый период времени
+              WordPerfect также предпочитал использовать расширение 
+              <filename>.DOC</filename> для своего собственного 
+              закрытого формата файлов!</para>
+          </footnote>
+        </para>
 
+      <!-- @ENGLISH {{{
         <para>The popularity of computer networking cast still more
           doubt on the mapping between a file's name and its content.
           With information being served across networks and generated
@@ -1451,7 +1620,22 @@
           program registered to handle that data type, or to prompt
           the user for where on the client machine to store the
           downloaded data.</para>
+        @ENGLISH }}} -->
+        <para>Популярность компьютерных сетей привела к еще большим
+          трудностям в установлении соответствия между именами файлов 
+          и их содержимым. Когда информация стала проходить по сети и 
+          генерироваться динамически серверными скриптами, о физическом
+          файле <foreignphrase>как таковом</foreignphrase> часто 
+          стало говорить просто невозможно, и, соответственно, не стало
+          никакого имени файла. К примеру, Web-серверы нуждались в 
+          некотором способе сообщить браузеру, что же он загружает, чтобы
+          браузер мог разумно поступить с этой информацией (например,
+          отобразить данные, используя программу, зарегистрированную
+          в качестве обработчика файлов данного типа, либо спросить 
+          у пользователя, где на клиентской машине сохранить загруженные 
+          данные).</para>
 
+      <!-- @ENGLISH {{{
         <para>Eventually, a standard emerged for, among other things,
           describing the contents of a data stream.  In 1996, RFC2045
           was published, the first of five RFCs describing MIME.  In
@@ -1462,9 +1646,22 @@
           applications, Web servers, and other software as the
           <foreignphrase>de facto</foreignphrase> mechanism for
           clearing up the file content confusion.</para>
+        @ENGLISH }}} -->
+        <para>В конечном счете появился стандарт, среди прочего
+          описывающий виды содержимого потоков данных. В 1996 году
+          был опубликован RFC2045, первый из пяти RFC-документов,
+          описывающих MIME. В нем описана концепция медиатипов и подтипов
+          медиа, и рекомендован синтаксис для представления этих типов.
+          В настоящее время медиатипы MIME — или просто MIME-типов
+          — используется практически безальтернативно 
+          в приложениях электронной почты, на Web-серверах и в других
+          программах <foreignphrase>де-факто</foreignphrase> как
+          механизм, исключающий затруднения при определении
+          характера содержимого файлов.</para>
 
       </sidebar>
     
+      <!-- @ENGLISH {{{
       <para>For example, one of the benefits that Subversion typically
         provides is contextual, line-based merging of changes received
         from the server during an update into your working file.  But
@@ -1483,19 +1680,52 @@
         really for the protection of the user against failed attempts
         at performing contextual merges on files that simply cannot be
         contextually merged.</para>
+        @ENGLISH }}} -->
+      <para>Например, одной из полезных возможностей, предоставляемых 
+        Subversion, является контекстное, построчное слияние изменений,
+        полученных от сервера во время обновления, с рабочей 
+        копией. Однако, для файлов, не содержащих текстовых данных, как 
+        правило, не существует такого понятия как <quote>строка</quote>.
+        Поэтому для версионированных файлов, чье свойство 
+        <literal>svn:mime-type</literal> указывает на нетекстовый
+        MIME-тип (как правило, это все, что не начинается с 
+        <literal>text/</literal>, хотя есть несколько исключений), 
+        Subversion не будет пытаться провести контекстное слияние 
+        во время обновления. Вместо этого, каждый раз когда вы локально
+        модифицируете рабочую копию бинарного файла, и выполняете после
+        этого обновление, ваш файл будет переименован с добавлением 
+        расширения <filename>.orig</filename>, после чего Subversion
+        запишет под оригинальным именем новый файл рабочей копии, 
+        содержащий изменения, полученные в процессе обновления, но не
+        содержащий ваши локальные исправления. Такое поведение призвано
+        защитить пользователя от неудачных попыток выполнить
+        контекстное слияние для файлов, к которым его нельзя 
+        применить.</para>
 
+      <!-- @ENGLISH {{{
       <para>Also, if the <literal>svn:mime-type</literal> property is
         set, then the Subversion Apache module will use its value to
         populate the <literal>Content-type:</literal> HTTP header when
         responding to GET requests.  This gives your web browser a
         crucial clue about how to display a file when using it to
         peruse your Subversion repository's contents.</para>
+        @ENGLISH }}} -->
+      <para>Кроме того, если свойство <literal>svn:mime-type</literal> окажется
+        определено, Apache-модуль системы Subversion будет использовать его
+        значение при формировании HTTP-заголовка 
+        <literal>Content-type:</literal> в ответ на GET-запросы.
+        Благодаря этому ваш браузер (в том случае, если он будет 
+        использоваться для просмотра содержимого Subversion-хранилища)
+        будет знать, как правильно отобразить этот файл.</para>
 
     </sect2>
   
     <!-- =============================================================== -->
     <sect2 id="svn.advanced.props.special.executable">
+      <!-- @ENGLISH {{{
       <title>File Executability</title>
+        @ENGLISH }}} -->
+      <title>Исполнимость файла</title>
 
       <!-- @ENGLISH {{{
       <para>On many operating systems, the ability to execute a file
@@ -1513,15 +1743,15 @@
         @ENGLISH }}} -->
       <para>На многих операционных системах возможность выполнения файла
         как команды определяется битом разрешения выполнения. Обычно по
-        умолчанию этот бит не установлен и для файлов которым это
+        умолчанию этот бит не установлен, и для файлов которым это
         необходимо, он должен быть явно установлен пользователем.
-        Однако слишком сложно помнить какие именно файлы в только что созданной
-        рабочей копии должны иметь установленный бит выполнения, и
-        устанавливать этот бит. Для таких случаев Subversion предлагает 
-        использовать свойство <literal>svn:executable</literal>, как способ
-        показать для каких файлов бит исполнения должен быть установлен, а
-        Subversion в свою очередь, при создании рабочей копии самостоятельно
-        обрабатывает такой запрос для подобных файлов.</para>
+        Однако, было бы слишком сложным запоминать, какие именно файлы 
+        в только что созданной рабочей копии должны иметь установленный 
+        бит выполнения, и устанавливать этот бит. Поэтому Subversion предлагает 
+        использовать свойство <literal>svn:executable</literal> как способ
+        показать для каких файлов бит исполнения должен быть установлен, 
+        при этом Subversion самостоятельно устанавливает этот бит
+        для соответствующих файлов в процессе создания рабочей копии.</para>
 
       <!-- @ENGLISH {{{
       <para>This property has no effect on filesystems that have no
@@ -1538,30 +1768,46 @@
         Finally, this property is valid only on files, not on
         directories.</para>
         @ENGLISH }}} -->
-      <para>Это свойство не имеет ни какой силы на таких файловых
-        системах, как FAT32 и NTFS, не имеющих понятия бита разрешения
-        выполнения<footnote><para>Для определения исполняемых файлов,
-        файловая система Windows использует расширения файлов (такие, как
-        <literal>.EXE</literal>, <literal>.BAT</literal> и
-        <literal>.COM</literal>).</para></footnote>. Кроме того,
-        так как оно не имеет определенного значения, при его установке
-        Subversion принудительно устанавливает значение
-        <literal>*</literal>. Наконец, это свойство действительно только
-        для файлов, не для директорий.</para>
+      <para>Это свойство не имеет никакой силы на файловых
+        системах, не имеющих понятия бита разрешения выполнения, таких
+        как FAT32 и NTFS.
+          <footnote>
+            <para>Для указания исполняемых файлов файловая система Windows 
+              использует расширения файлов (такие как
+              <literal>.EXE</literal>, <literal>.BAT</literal> и
+              <literal>.COM</literal>).</para>
+        </footnote>. 
+        Кроме того, хотя значение этого свойства не задано, 
+        Subversion принудительно устанавливает ему значение
+        <literal>*</literal>. Наконец, это свойство действительно 
+        только для файлов, но не для каталогов.</para>
 
     </sect2>
 
     <!-- =============================================================== -->
     <sect2 id="svn.advanced.props.special.eol-style">
+      <!-- @ENGLISH {{{
       <title>End-of-Line Character Sequences</title>
+        @ENGLISH }}} -->
+      <title>Символы конца строки</title>
 
+      <!-- @ENGLISH {{{
       <para>Unless otherwise noted using a versioned file's
         <literal>svn:mime-type</literal> property, Subversion
         assumes the file contains human-readable data.  Generally
         speaking, Subversion only uses this knowledge to determine
         if contextual difference reports for that file are
         possible.  Otherwise, to Subversion, bytes are bytes.</para>
+        @ENGLISH }}} -->
+      <para>Subversion считает, что файл содержит читаемые данные,
+        если на обратное не указывает версионированное свойство файла
+        <literal>svn:mime-type</literal>.  В общем-то, Subversion 
+        необходимо знать об этом только для того, чтобы определить,
+        возможно ли построение для этого файла контекстного отчета 
+        о различиях. В противном случае Subversion будет воспринимать 
+        это лишь как набор байтов.</para>
       
+      <!-- @ENGLISH {{{
       <para>This means that by default, Subversion doesn't pay any
         attention to the type of <firstterm>end-of-line (EOL)
         markers</firstterm> used in your files.  Unfortunately,
@@ -1573,7 +1819,20 @@
         followed by a line feed (<literal>LF</literal>).  Unix
         software, however, just uses the <literal>LF</literal>
         character to denote the end of a line.</para>
+        @ENGLISH }}} -->
+      <para>Сказанное означает, что по умолчанию Subversion не уделяет
+        никакого внимания используемой в файлах разновидности 
+        <firstterm>маркера конца строки (EOL)</firstterm>.  К сожалению,
+        различные операционные системы используют различныен соглашения 
+        о том, какая последовательность символов означает конец 
+        текстовой строки в файле. Например, программное обеспечение на
+        платформе Windows обычно использует в качестве признака конца 
+        строки пару управляющих символов ASCII — возврат каретки 
+        (<literal>CR</literal>) и следующий за ним перевод строки
+        (<literal>LF</literal>).  Программы под Unix, однако, для обозначения 
+        конца строки используют только символ <literal>LF</literal>.</para>
 
+      <!-- @ENGLISH {{{
       <para>Not all of the various tools on these operating systems
         are prepared to understand files that contain line endings
         in a format that differs from the <firstterm>native line
@@ -1586,7 +1845,22 @@
         no carriage return-linefeed (or <literal>CRLF</literal>)
         character combination was found to denote the end of
         line.</para>
+        @ENGLISH }}} -->
+      <para>Далеко не все програмы способны понимать файлы, в которых
+        признак конца строки отличается по формату от
+        <firstterm>принятого стиля завершения строк</firstterm> 
+        в той операционной системе, под которой они работают. 
+        Обычным делом является ситуация,
+        когда программы под Unix рассматривают символ 
+        <literal>CR</literal>, присутствующий в файлах Windows, 
+        как обычный символ (часто представляя его как 
+        <literal>^M</literal>), или когда программы под Windows 
+        слепляют все строки файла Unix в одну гигантскую строку, 
+        поскольку в нем отсутствуют комбинации символов возврат 
+        каретки-перевод строки (или <literal>CRLF</literal>),
+        обозначающие концы строк.</para>
 
+      <!-- @ENGLISH {{{
       <para>This sensitivity to foreign EOL markers can become
         frustrating for folks who share a file across different
         operating systems.  For example, consider a source code
@@ -1594,7 +1868,17 @@
         Unix systems.  If all the developers always use tools which
         preserve the line ending style of the file, no problems
         occur.</para>
+        @ENGLISH }}} -->
+      <para>Такая чувствительность к чужеродным EOL-маркерам может
+        стать серьезной проблемой для людей, совместно использующих
+        одни и те же файлы под различными операционными системами.
+        Возьмем, к примеру, файл исходного кода программы и 
+        разработчиков, редактирующих этот файл как под Windows, так 
+        и под Unix. Если все разработчики будут всегда использовать
+        инструменты, сохраняющие в файле прежний стиль завершения 
+        строк, проблем не возникнет.</para>
 
+      <!-- @ENGLISH {{{
       <para>But in practice, many common tools either fail to
         properly read a file with foreign EOL markers, or they
         convert the file's line endings to the native style when the
@@ -1610,7 +1894,26 @@
         line ending style that it was in before his edits were made.
         Or, he can simply commit the file—new EOL markers and
         all.</para>
+        @ENGLISH }}} -->
+      <para>Но на практике многие распространенные инструменты либо 
+        не умеют правильно считывать файлы с чужеродными EOL-маркерами,
+        либо конвертируют концы строк в файле к родному стилю при
+        сохранении файла. Если разработчик сталкивается с первым случаем, 
+        он оказывается вынужденным пользоваться 
+        внешними утилитами конвертации (такими как 
+        <command>dos2unix</command> или ее аналоги,
+        <command>unix2dos</command>), чтобы подготовить файл к 
+        редактированию. Во втором случае дополнительная подготовка
+        файлов не требутеся. Однако, оба случая приводят к получению
+        файла, который отличается от исходного буквально каждой строкой!
+        Прежде чем фиксировать свои изменения, пользователь может сделать
+        одно из двух. Он может либо использовать утилиту конвертации,
+        чтобы восстановить в модифицированном файле тот стиль завершения 
+        строк, который имел место до внесения изменений; либо просто 
+        зафиксировать файл — с новыми EOL-маркерами и всем 
+        остальным.</para>
 
+      <!-- @ENGLISH {{{
       <para>The result of scenarios like these include wasted time
         and unnecessary modifications to committed files.  Wasted
         time is painful enough.  But when commits change every line
@@ -1618,7 +1921,17 @@
         those lines were changed in a non-trivial way.  Where was
         that bug really fixed?  On what line was a syntax error
         introduced?</para>
+        @ENGLISH }}} -->
+      <para>Результатом подобного развития событий станут напрасная
+        трата времени и нежелательные изменения в зафиксированных
+        файлах. Напрасная трата времени сама по себе обходится довольно 
+        дорого. А когда фиксация вносит изменения в каждую строку 
+        файла, это усложняет определение того, какие из этих строк
+        изменились не тривиальным образом. Был ли действительно 
+        устранен тот баг? В какой строке имелась синтаксическая 
+        ошибка?</para>
 
+      <!-- @ENGLISH {{{
       <para>The solution to this problem is the
         <literal>svn:eol-style</literal> property.  When this
         property is set to a valid value, Subversion uses it to
@@ -1626,11 +1939,21 @@
         that the file's line ending style isn't flip-flopping with
         every commit that comes from a different operating
         system.  The valid values are:</para>
+        @ENGLISH }}} -->
+      <para>Решить данную проблему призвано свойство 
+        <literal>svn:eol-style</literal>. Когда это свойство 
+        установлено в одно из допустимых значений, Subversion 
+        использует его для определения способа специальной 
+        обработки файла, которую нужно произвести для того,
+        чтобы стиль завершения строки не изменялся туда-сюда
+        при каждой фиксации, выполняемой из другой операционной
+        системы. Допустимы следующие значения:</para>
 
       <variablelist>
         <varlistentry>
           <term><literal>native</literal></term>
           <listitem>
+      <!-- @ENGLISH {{{
             <para>This causes the file to contain the EOL markers
               that are native to the operating system on which
               Subversion was run.  In other words, if a user on a
@@ -1642,42 +1965,78 @@
               checking out a working copy which contains the same
               file will see <literal>LF</literal> EOL markers in his
               copy of the file.</para>
+        @ENGLISH }}} -->
+            <para>Файл будет содержать EOL-маркеры, принятые в 
+              той операционной системе, на которой работает
+              Subversion. Иными словами, если пользователь
+              на машине с Windows создает рабочую копию файла,
+              у которого свойство <literal>svn:eol-style</literal> 
+              установлено в <literal>native</literal>, этот 
+              файл будет содержать EOL-маркеры 
+              <literal>CRLF</literal>.  Пользователь Unix, создавая
+              рабочую копию того же самого файла,
+              увидит в нем EOL-маркер <literal>LF</literal>.</para>
 
+      <!-- @ENGLISH {{{
             <para>Note that Subversion will actually store the file
               in the repository using normalized
               <literal>LF</literal> EOL markers regardless of the
               operating system.  This is basically transparent to
               the user, though.</para>
+        @ENGLISH }}} -->
+            <para>Учтите, что на самом деле Subvversion 
+              будет записывать файл в хранилище, используя нормализованный
+              EOL-маркер <literal>LF</literal>, вне зависимости от 
+              операционной системы. Хотя обычно это прозрачно 
+              для пользователя.</para>
           </listitem>
         </varlistentry>
         <varlistentry>
           <term><literal>CRLF</literal></term>
           <listitem>
+      <!-- @ENGLISH {{{
             <para>This causes the file to contain
               <literal>CRLF</literal> sequences for EOL markers,
               regardless of the operating system in use.</para>
+        @ENGLISH }}} -->
+            <para>Файл будет содержать в качестве EOL-маркеров
+              последовательность <literal>CRLF</literal>,
+              независимо от используемой операционной системы.</para>
           </listitem>
         </varlistentry>
         <varlistentry>
           <term><literal>LF</literal></term>
           <listitem>
+      <!-- @ENGLISH {{{
             <para>This causes the file to contain
               <literal>LF</literal> characters for EOL markers,
               regardless of the operating system in use.</para>
+        @ENGLISH }}} -->
+            <para>Файл будет содержать в качестве EOL-маркера
+              символ <literal>LF</literal>, независимо от 
+              используемой операционной системы.</para>
           </listitem>
         </varlistentry>
         <varlistentry>
           <term><literal>CR</literal></term>
           <listitem>
+      <!-- @ENGLISH {{{
             <para>This causes the file to contain
               <literal>CR</literal> characters for EOL markers,
               regardless of the operating system in use.  This line
               ending style is not very common.  It was used on older
               Macintosh platforms (on which Subversion doesn't even
               run).</para>
+        @ENGLISH }}} -->
+            <para>Файл будет содержать в качестве EOL-маркера
+              символ <literal>CR</literal>, независимо от используемой
+              операционной системы. Данный стиль завершения строки
+              не слишком распространен. Он использовался на
+              устаревших платформах Macintosh (на которых Subversion 
+              даже никогда не запускался).</para>
           </listitem>
         </varlistentry>
-      </variablelist>
+      </variablelist> 
       
     </sect2>
   </sect1>
@@ -1686,8 +2045,12 @@
   <!-- ================================================================= -->
   <!-- ================================================================= -->
   <sect1 id="svn.advanced.props.special.ignore">
+      <!-- @ENGLISH {{{
     <title>Ignoring Unversioned Items</title>
+        @ENGLISH }}} -->
+    <title>Пропуск неверсионированных элементов</title>
 
+      <!-- @ENGLISH {{{
     <para>In any given working copy there is a good chance that
       alongside all those versioned files and directories are other
       files and directories which are neither versioned nor intended
@@ -1697,7 +2060,19 @@
       version.  And users themselves drop various other files and
       directories wherever they see fit, often in version control
       working copies.</para>
+        @ENGLISH }}} -->
+    <para>В любой реальной рабочей копии среди всех версионированных
+      файлов и каталогов почти наверняка обнаружатся и другие файлы и
+      каталоги, которые не являются версионированными и не должны быть 
+      таковыми. Текстовые редакторы мусорят, создавая каталоги с 
+      резервными копиями файлов. Компиляторы программного кода
+      генерируют временные — или даже результирующие —
+      файлы, которые обычно нет смысла версионировать. Сами 
+      пользователи также бросают различные файлы и каталоги там,
+      где им проще — в том числе нередко и в 
+      рабочих копиях, полученных из системы управления версиями.</para>
 
+      <!-- @ENGLISH {{{
     <para>It's ludicrous to expect Subversion working copies to be
       somehow impervious to this kind of clutter and impurity.  In
       fact, Subversion counts it as a <emphasis>feature</emphasis>
@@ -1713,7 +2088,24 @@
       a working copy—including unversioned files and
       directories—its output can get quite noisy where many of
       these things exist.</para>
+        @ENGLISH }}} -->
+    <para>Было бы нелепо ожидать, что рабочие копии Subversion окажутся
+      в стороне от такого рода мусора и беспорядка. На самом деле 
+      Subversion считает своей отличительной характеристикой то, что 
+      ее рабочие копии являются самыми обычными каталогами, такими же
+      как и неверсионированные деревья каталогов. Однако эти не подлежащие
+      версионированию файлы и каталоги могут вызывать у пользователей
+      Subversion некоторое раздражение. Например, поскольку команды 
+      <command>svn add</command> и <command>svn import</command> 
+      по умолчанию действуют рекурсивно и не знают, какие
+      файлы в данном дереве каталогов вы создали, но при этом не желаете
+      версионировать, очень легко случайно добавить под версионный 
+      контроль всякий хлам, о котором вы и не думали. Также, поскольку
+      <command>svn status</command> по умолчанию выдает отчет по каждому
+      элементу в рабочей копии — включая неверсионированные файлы
+      и каталоги — ее вывод может содержать много лишнего.</para>
 
+      <!-- @ENGLISH {{{
     <para>So Subversion provides two ways for telling it which
       files you would prefer that it simply disregard.  One of the
       ways involves the use of Subversion's runtime configuration
@@ -1725,7 +2117,22 @@
       support, is more tightly bound to the versioned tree itself, and
       therefore affects everyone who has a working copy of that tree.
       Both of the mechanisms use file patterns.</para>
+        @ENGLISH }}} -->
+    <para>Исходя из этого, Subversion предоставляет два способа
+      указать, на какие файлы желательно было бы просто не обращать
+      внимание. Первый способ затрагивает систему настройки
+      среды исполнения Subversion 
+      (см. <xref linkend="svn.advanced.confarea" />), и,
+      следовательно, применяется ко всем операциям Subversion,
+      использующим эти настройки среды исполнения, которые, как правило,
+      производятся на конкретном компьютере или конкретным пользователем
+      компьютера. Другой способ использует имеющуюся в Subversion
+      поддержку свойств каталогов, он более тесно связан с 
+      самим версионированным деревом каталогов и, следовательно,
+      действует для всех, кто оперирует рабочей копией этого дерева. 
+      Оба механизма используют маски файлов.</para>
 
+      <!-- @ENGLISH {{{
     <para>The Subversion runtime configuration system provides an
       option, <literal>global-ignores</literal>, whose value is a
       whitespace-delimited collection of file patterns (or globs).
@@ -1738,7 +2145,21 @@
       that you don't want to version, such as editor backup files like
       Emacs' <literal>*~</literal> and <literal>.*~</literal>
       files.</para>
+        @ENGLISH }}} -->
+    <para>Система настройки среды исполнения Subversion 
+      предоставляет опцию <literal>global-ignores</literal>, 
+      значением которой служит разделенный пробелами набор масок 
+      файлов. Эти маски применяются к файлам, являющимся кандидатами
+      на добавление под версионный контроль, а также к неверсионированным
+      файлам, попадающим в поле зрения команды <command>svn status</command>.
+      Если имя файла соответствуют одной из масок, Subversion будет
+      действовать по существу так, как будто файла вовсе не существует.
+      Это действительно полезно для масок файлов, которые вы однозначно
+      не хотите версионировать — например, файлов резервных копий,
+      создаваемых редакторами, таких как файлы <literal>*~</literal> 
+      и <literal>.*~</literal> от Emacs.</para>
 
+      <!-- @ENGLISH {{{
     <para>When found on a versioned directory, the
       <literal>svn:ignore</literal> property is expected to contain a
       list of newline-delimited file patterns which Subversion should
@@ -1747,7 +2168,7 @@
       <literal>global-ignores</literal> runtime configuration option,
       but are instead appended to that list.  And it's worth noting
       again that, unlike the <literal>global-ignores</literal> option,
-      the patterns found in the <literal>svn:eol-ignore</literal>
+      the patterns found in the <literal>svn:ignore</literal>
       property apply only to the directory on which that property is
       set, and not to any of its subdirectories.  The
       <literal>svn:ignore</literal> property is a good way to tell
@@ -1757,8 +2178,27 @@
       book—the HTML, PDF, or PostScript files generated as the
       result of a conversion of some source DocBook XML files to a
       more legible output format.</para>
+        @ENGLISH }}} -->
+    <para>Свойство <literal>svn:ignore</literal>, задаваемое для
+      версионированного каталога, содержит список масок файлов
+      (каждая маска записывается с новой строки), с помощью которого
+      Subversion должна определять, какие объекты в этом каталоге
+      следует пропускать. Эти маски не переопределяют те, что заданы
+      параметром среды исполнения <literal>global-ignores</literal>,
+      а дополняют их список. Стоит отметить, что в отличие от параметра 
+      <literal>global-ignores</literal>, маски, перечисленные в свойстве
+      <literal>svn:ignore</literal>, применяются только к тому каталогу, 
+      в свойстве которого они заданы, не затрагивая любые его подкаталоги.
+      Свойство <literal>svn:ignore</literal> — это хороший способ
+      попросить Subversion пропускать файлы, которые, вероятно,
+      присутствуют в каждой пользовательской рабочей копии данного каталога,
+      такие как результаты компиляции или, если взять пример, более 
+      подходящий этой книге, файлы HTML, PDF или PostScript,
+      генерируемые в результате преобразования исходных файлов
+      формата DocBook XML в более удобный для чтения выходной формат.</para>
 
     <warning>
+      <!-- @ENGLISH {{{
       <para>Subversion's support for ignorable file patterns extends
         only to the one-time process of adding unversioned
         files and directories to version control.  Once an object is
@@ -1768,11 +2208,26 @@
         simply because that file's name matches an ignore
         pattern—Subversion <emphasis>always</emphasis> notices
         all of its versioned objects.</para>
+        @ENGLISH }}} -->
+      <para>Реализованная в Subverion поддержка масок пропуска файлов
+        распространяется только на одномоментный процесс добавления 
+        неверсионированного файла или каталога под версионный контроль. 
+        Если объект уже находится под управлением Subversion, 
+        механизм масок пропуска больше к нему не применяется.
+        Иными словами, не следует ожидать, что Subversion предотвратит
+        фиксацию изменений, сделанных вами в версионированном файлу,
+        только на основании того, что имя этого файла соответствует
+        маске пропуска — Subversion <emphasis>всегда</emphasis> 
+        просматривает все версионированные объекты.</para>
     </warning>
 
     <sidebar>
+      <!-- @ENGLISH {{{
       <title>Ignore Patterns for CVS Users</title>
+        @ENGLISH }}} -->
+      <title>Маски пропуска для пользователей CVS</title>
     
+      <!-- @ENGLISH {{{
       <para>The Subversion <literal>svn:ignore</literal> property is
         very similar in syntax and function to the CVS
         <filename>.cvsignore</filename> file.  In fact, if you are
@@ -1780,6 +2235,14 @@
         migrate the ignore patterns by using the
         <filename>.cvsignore</filename> file as input file to the
         <command>svn propset</command> command:</para>
+        @ENGLISH }}} -->
+      <para>Свойство <literal>svn:ignore</literal> в Subversion по 
+        синтаксису и назначению очень похоже на файл 
+        <filename>.cvsignore</filename> в CVS.  По сути, если
+        вы переносите свою рабочую копию в Subversion, вы можете 
+        перенести маски пропуска напрямую, используя файл 
+        <filename>.cvsignore</filename> в качестве входного для команды
+        <command>svn propset</command>:</para>
    
       <screen>
 $ svn propset svn:ignore -F .cvsignore .
@@ -1787,6 +2250,7 @@
 $
 </screen>
     
+      <!-- @ENGLISH {{{
       <para>There are, however, some differences in the ways that CVS
         and Subversion handle ignore patterns.  The two systems use
         the ignore patterns at some different times, and there are
@@ -1794,18 +2258,37 @@
         Also, Subversion does not recognize the use of the
         <literal>!</literal> pattern as a reset back to having no
         ignore patterns at all.</para>
+        @ENGLISH }}} -->
+      <para>Однако, есть некоторые различие между тем, как CVS и Subversion
+        обрабатывают маски пропуска. Две системы используют маски пропуска
+        в несколько различные моменты времени, и есть небольшое различие
+        в том, как эти маски применяются. Также Subversion не понимает
+        использование маски <literal>!</literal> как способа
+        полного отказа от масок пропуска.</para>
 
     </sidebar>
 
+      <!-- @ENGLISH {{{
     <para>The global list of ignore patterns tends to be more a
       matter of personal taste, and tied more closely to a user's
       particular tool chain than to the details of any particular
       working copy's needs.  So, the rest of this section will focus
       on the <literal>svn:ignore</literal> property and its
       uses.</para>
+        @ENGLISH }}} -->
+    <para>Глобальный список масок пропуска в большей степени подходит
+      как способ задания личных предпочтений, и завязан больше на
+      конкретный набор пользовательских инструментов, чем на 
+      специфику конкретной рабочей копии. Исходя из этого,
+      остаток данной главы будет посвящен свойству
+      <literal>svn:ignore</literal> и его использованию.</para>
 
+      <!-- @ENGLISH {{{
     <para>Say you have the following output from <command>svn
       status</command>:</para>
+        @ENGLISH }}} -->
+    <para>Допустим, что команда <command>svn status</command> выдает 
+      нам следующее:</para>
 
     <screen>
 $ svn status calc
@@ -1818,6 +2301,7 @@
 ?      calc/debug_log.3.gz
 </screen>
     
+      <!-- @ENGLISH {{{
     <para>In this example, you have made some property modifications
       to <filename>button.c</filename>, but in your working copy you
       also have some unversioned files: the latest
@@ -1839,16 +2323,44 @@
       <filename>calc</filename> directory.  For example, you might add
       this as the new value of the <literal>svn:ignore</literal>
       property:</para>
+        @ENGLISH }}} -->
+    <para>В примере видно, что вы изменили некоторые свойства файла 
+      <filename>button.c</filename>, и, кроме того, в вашей рабочей копии
+      есть несколько неверсионированных файлов: программа 
+      <filename>calculator</filename>, которую вы скомпилировали из
+      исходных кодов,  файл исходного кода <filename>data.c</filename>
+      и набор файлов с отладочными сообщениями. Вам известно, что 
+      ваша система сборки всегда генерирует программу       
+      <filename>calculator</filename>.
+      <footnote>
+        <para>Это все, что создает система сборки?</para>
+      </footnote>
+      Также вам известно, что ваш тестовый набор всегда оставляет после
+      прогона те самые файлы с отладочными сообщениями. Это справедливо
+      для всех рабочих копий этого проекта, а не только для вашей.
+      Вы точно знаете, что вам не хотелось бы видеть эти отладочные
+      файлы при каждом запуске команды <command>svn status</command>, 
+      и вы совершенно уверены, что остальным так же не хотелось бы их
+      видеть. Поэтому, используя команду <command>svn propedit
+      svn:ignore calc</command>, вы добавляете для каталога 
+      <filename>calc</filename> определенные маски пропуска.  
+      Например, вы могли бы добавить их как новое значение свойства 
+      <literal>svn:ignore</literal>:</para>
 
     <programlisting>
 calculator
 debug_log*
 </programlisting>
     
+      <!-- @ENGLISH {{{
     <para>After you've added this property, you will now have a local
       property modification on the <filename>calc</filename>
       directory.  But notice what else is different about your
       <command>svn status</command> output:</para>
+        @ENGLISH }}} -->
+    <para>Добавив это свойство, вы получите локальные изменения свойств 
+      в каталоге <filename>calc</filename>.  Обратите внимание, чем еще 
+      отличается теперь вывод команды <command>svn status</command>:</para>
 
     <screen>
 $ svn status
@@ -1857,6 +2369,7 @@
 ?      calc/data.c
 </screen>
     
+      <!-- @ENGLISH {{{
     <para>Now, all that cruft is missing from the output!  Of course,
       your <filename>calculator</filename> compiled program and all
       those logfiles are still in your working copy.  Subversion is
@@ -1865,11 +2378,28 @@
       display, you are left with more interesting items—such as
       that source code file <filename>data.c</filename> that you
       probably forgot to add to version control.</para>
+        @ENGLISH }}} -->
+    <para>Заметьте, весь "мусор" исчез из вывода!  Конечно, скомпилированная
+      программа <filename>calculator</filename> и упоминавшиеся файлы 
+      отладочных сообщений по-прежнему присутствуют в вашей рабочей копии.
+      Просто Subversion больше не напоминает вам о том, что эти файлы
+      есть и при этом они не версионированы. Теперь, когда
+      весь не представляющий интереса "мусор" исчез с экрана, вам остается
+      разобраться с более интересными элементами — в частности,
+      с исходным файлом <filename>data.c</filename>, который вы, вероятно,
+      забыли добавить под версионный контроль.</para>
 
+      <!-- @ENGLISH {{{
     <para>Of course, this less-verbose report of your working copy
       status isn't the only one available.  If you actually want to
       see the ignored files as part of the status report, you can pass
-      the <option>--no-ignore</option> option to Subversion:</para>
+      the <option>-ﳢ-no-ignore</option> option to Subversion:</para>
+        @ENGLISH }}} -->
+    <para>Конечно же, вам доступен не только этот короткий отчет 
+      о статусе вашей рабочей копии. Если в какой-то момент времени вам
+      действительно захочется увидеть в составе статусного отчета 
+      проигнорированные файлы, вы можете передать Subversion опцию
+      <option>--no-ignore</option>:</para>
 
     <screen>
 $ svn status --no-ignore
@@ -1883,6 +2413,7 @@
 I      calc/debug_log.3.gz
 </screen>
     
+      <!-- @ENGLISH {{{
     <para>As mentioned earlier, the list of file patterns to ignore is
       also used by <command>svn add</command> and <command>svn
       import</command>.  Both of these operations involve asking
@@ -1893,9 +2424,23 @@
       lists—to determine which files should not be swept into
       the version control system as part of a larger recursive
       addition or import operation.  And here again, you can use the
-      <option>--no-ignore</option> option to tell Subversion ignore
+      <option>-ﳢ-no-ignore</option> option to tell Subversion ignore
       its ignores list and operate on all the files and directories
       present.</para>
+        @ENGLISH }}} -->
+    <para>Как было отмечено выше, список файловых масок для пропуска 
+      также учитывается командами <command>svn add</command> и <command>svn
+      import</command>.  В результате обеих операций Subversion
+      начинает управлять некоторым множеством файлов и каталогов.
+      Прежде чем требовать у пользователя, чтобы он выбирал те файлы 
+      в структуре каталогов, которые необходимо версионировать,
+      Subversion применяет маски пропуска — как глобальные,
+      так и назначаемые отдельным каталогам — чтобы определить,
+      какие файлы не должны подхватываться системой управления версиями
+      в ходе рекурсивной операции добавления или импорта. И снова вы можете
+      воспользоваться опцией <option>--no-ignore</option>, чтобы предложить
+      Subversion не учитывать списки пропуска и обрабатывать все имеющиеся
+      файлы и каталоги.</para>
 
   </sect1>
 
@@ -1903,8 +2448,12 @@
   <!-- ================================================================= -->
   <!-- ================================================================= -->
   <sect1 id="svn.advanced.props.special.keywords">
+      <!-- @ENGLISH {{{
     <title>Keyword Substitution</title>
+        @ENGLISH }}} -->
+    <title>Подстановка ключевых слов</title>
 
+      <!-- @ENGLISH {{{
     <para>Subversion has the ability to substitute
       <firstterm>keywords</firstterm>—pieces of useful,
       dynamic information about a versioned file—into the
@@ -1916,7 +2465,21 @@
       for any process except the version control system to keep
       the data completely up-to-date.  Left to human authors, the
       information would inevitably grow stale.</para>
+        @ENGLISH }}} -->
+    <para>Subversion имеет функциональную возможность по подстановке 
+      <firstterm>ключевых слов</firstterm> — элементов полезной 
+      динамической информации о версионированном файле —
+      в содержание самого файла. Ключевые слова в большинстве случаев 
+      замещают информацию о времени, когда файл был последний раз изменен.
+      Поскольку эта информация меняется каждый раз при изменении файла,
+      и, что особенно важно, сразу <emphasis>после</emphasis> 
+      того, как файл будет изменен, никакой другой процесс, за 
+      исключением системы управления версиями, не в состоянии 
+      поддерживать полную актуальность этих данных. Будучи
+      отданной на откуп человеку, эта информация неизбежно 
+      оказывалась бы устаревшей.</para>
 
+      <!-- @ENGLISH {{{
     <para>For example, say you have a document in which you would
       like to display the last date on which it was modified.  You
       could burden every author of that document to, just before
@@ -1930,65 +2493,126 @@
       location in the file.  This anchor is just a string of text
       formatted as
       <literal>$</literal><replaceable>KeywordName</replaceable><literal>$</literal>.</para>
+        @ENGLISH }}} -->
+    <para>Для примера предположим, что у вас есть документ,
+      в котором вы хотели бы записывать, какого числа он был изменен
+      последний раз. Вы могли бы вменить в обязанность каждому автору
+      этого документа, чтобы непосредственно перед фиксацией своих
+      изменений он также исправлял ту часть документа, в которой
+      записывается время последнего внесения изменений. 
+      Но рано или подзно кто-нибудь забудет сделать это.
+      Вместо этого мы просто запросим Subversion производить
+      подстановку на место ключевого слова <literal>LastChangedDate</literal>.  
+      Вы определяете, в каком месте документа будет производиться
+      подстановка, помещая <firstterm>указатель ключевого слова</firstterm> 
+      на желаемую позицию в файле.  Этот указатель представляет собой
+      обычную текстовую строку, имеющую формат
+      <literal>$</literal><replaceable>KeywordName</replaceable><literal>$</literal>.</para>
 
+      <!-- @ENGLISH {{{
     <para>All keywords are case-sensitive where they appear as
       anchors in files: you must use the correct capitalization in
       order for the keyword to be expanded.  You should consider the
       value of the <literal>svn:keywords</literal> property to be
       case-sensitive too—certain keyword names will be recognized
       regardless of case, but this behavior is deprecated.</para>
+        @ENGLISH }}} -->
+    <para>Все ключевые слова регистро-зависимы, когда речь идет
+      об указателях на них в файлах: вы должны корректно использовать
+      регистр символов, чтобы указать ключевое слово. Значение свойства
+      <literal>svn:keywords</literal> также следует рассматривать как
+      чувствительное к регистру — отдельные имена ключевых слов
+      будут распознаны вне зависимости от регистра, однако 
+      рассчитывать на это не стоит.</para>
 
+      <!-- @ENGLISH {{{
     <para>Subversion defines the list of keywords available for
       substitution.  That list contains the following five keywords, 
       some of which have aliases that you can also use:</para>
+        @ENGLISH }}} -->
+    <para>Subversion задает список ключевых слов, доступных для 
+      подстановки.  Этот список содержит следующие пять ключевых
+      слов; некоторые из них имеют псевдонимы, которые
+      вы также можете использовать:</para>
 
     <variablelist>
       <varlistentry>
         <term><literal>Date</literal></term>
         <listitem>
+      <!-- @ENGLISH {{{
           <para>This keyword describes the last time the file was
             known to have been changed in the repository, and
             looks something like <literal>$Date:
             2006-07-22 21:42:37 -0700 (Sat, 22 Jul 2006)
             $</literal>.  It may also be specified as
             <literal>LastChangedDate</literal>.</para>
+        @ENGLISH }}} -->
+          <para>Это ключевое слово замещает время последнео
+            изменения файла в хранилище и выглядит примерно так:
+            <literal>$Date: 2006-07-22 21:42:37 -0700 (Sat, 22 Jul 2006)
+            $</literal>.  Также его можно задать как 
+            <literal>LastChangedDate</literal>.</para>
         </listitem>
       </varlistentry>
       <varlistentry>
         <term><literal>Revision</literal></term>
         <listitem>
+      <!-- @ENGLISH {{{
           <para>This keyword describes the last known revision in
             which this file changed in the repository, and looks
             something like <literal>$Revision: 144 $</literal>.  
             It may also be specified as
             <literal>LastChangedRevision</literal> or
             <literal>Rev</literal>.</para>
+        @ENGLISH }}} -->
+          <para>Это ключевое слово замещает номер последней правки,
+            в которой файл был изменен в хранилище, и выглядит
+            примерно так: <literal>$Revision: 144 $</literal>.  
+            Также его можно задать как 
+            <literal>LastChangedRevision</literal> или
+            <literal>Rev</literal>.</para>
         </listitem>
       </varlistentry>
       <varlistentry>
         <term><literal>Author</literal></term>
         <listitem>
+      <!-- @ENGLISH {{{
           <para>This keyword describes the last known user to
             change this file in the repository, and looks
             something like <literal>$Author: harry $</literal>.  
             It may also be specified as 
             <literal>LastChangedBy</literal>.</para>
+        @ENGLISH }}} -->
+          <para>Это ключевое слово замещает имя пользователя,
+            который последним изменил этот файл в хранилище,
+            и выглядит примерно так: <literal>$Author: harry $</literal>.  
+            Также его можно задать как 
+            <literal>LastChangedBy</literal>.</para>
         </listitem>
       </varlistentry>
       <varlistentry>
         <term><literal>HeadURL</literal></term>
         <listitem>
+      <!-- @ENGLISH {{{
           <para>This keyword describes the full URL to the latest
             version of the file in the repository, and looks
             something like <literal>$HeadURL:
             http://svn.collab.net/repos/trunk/README $</literal>.
             It may be abbreviated as
             <literal>URL</literal>.</para>
+        @ENGLISH }}} -->
+          <para>Это ключевое слово замещает полный URL
+            к последней версии файла в хранилище, и 
+            выглядит примерно так: <literal>$HeadURL:
+            http://svn.collab.net/repos/trunk/README $</literal>.
+            Оно может быть сокращено до
+            <literal>URL</literal>.</para>
         </listitem>
       </varlistentry>
       <varlistentry>
         <term><literal>Id</literal></term>
         <listitem>
+      <!-- @ENGLISH {{{
           <para>This keyword is a compressed combination of the
             other keywords.  Its substitution looks something like
             <literal>$Id: calc.c 148 2006-07-28 21:30:43Z sally
@@ -1996,10 +2620,19 @@
             <filename>calc.c</filename> was last changed in revision
             148 on the evening of July 28, 2006 by the user
             <literal>sally</literal>.</para>
+        @ENGLISH }}} -->
+          <para>Это ключевое слово — компактная комбинация
+            всех остальных. Его подстановка выглядит примерно так:
+            <literal>$Id: calc.c 148 2006-07-28 21:30:43Z sally
+            $</literal>, и означает, что файл 
+            <filename>calc.c</filename> последний раз был изменен в правке
+            148, зафиксированной вечером 28 июля 2006 года пользователем 
+            <literal>sally</literal>.</para>
         </listitem>
       </varlistentry>
     </variablelist>
 
+      <!-- @ENGLISH {{{
     <para>Simply adding keyword anchor text to your file does
       nothing special.  Subversion will never attempt to perform
       textual substitutions on your file contents unless
@@ -2011,7 +2644,21 @@
       about how to use keywords, and you don't want Subversion to
       substitute your beautiful examples of un-substituted keyword
       anchors!</para>
+        @ENGLISH }}} -->
+    <para>Если просто добавить в файл текст указателя на ключевое слово,
+      ничего не произойдет. Subversion никогда не пытается осуществить
+      текстовую подстановку в содержании файла, пока вы явно его об 
+      этом не попросите.  В конце концов, вы ведь могли бы написать
+      документ 
+      a document
+      <footnote>
+        <para>… или даже, возможно, раздел книги …</para>
+      </footnote> 
+      о том, как пользоваться ключевыми словами, и вы, очевидно, не захотите,
+      чтобы Subversion заместил указатели на ключевые слова, приведенные 
+      вами в качестве примера!</para>
 
+      <!-- @ENGLISH {{{
     <para>To tell Subversion whether or not to substitute keywords
       on a particular file, we again turn to the property-related
       subcommands.  The <literal>svn:keywords</literal> property,
@@ -2019,10 +2666,23 @@
       be substituted on that file.  The value is a space-delimited
       list of the keyword names or aliases found in the previous
       table.</para>
+        @ENGLISH }}} -->
+    <para>Чтобы указать Subversion, следует ли ему выполнять подстановку
+      ключевых слов в конкретном файле, снова обратимся к подкомандам
+      для работы со свойствами.  Свойство The <literal>svn:keywords</literal>,
+      устанавливаемое для версионированного файла, задает перечень ключевых
+      слов, которые будут замещаться в этом файле. Его значение представляет
+      собой список имен ключевых слов или псевдонимов из приведенной
+      выше таблицы, разделенных пробелами.</para>
 
+      <!-- @ENGLISH {{{
     <para>For example, say you have a versioned file named
       <filename>weather.txt</filename> that looks like
       this:</para>
+        @ENGLISH }}} -->
+    <para>В качестве примера допустим, что у вас есть версионированный
+      файл с именем <filename>weather.txt</filename>, который выглядит
+      следующим образом::</para>
 
     <programlisting>
 Here is the latest report from the front lines.
@@ -2031,10 +2691,16 @@
 Cumulus clouds are appearing more frequently as summer approaches.
 </programlisting>
 
+      <!-- @ENGLISH {{{
     <para>With no <literal>svn:keywords</literal> property set on
       that file, Subversion will do nothing special.  Now, let's
       enable substitution of the
       <literal>LastChangedDate</literal> keyword.</para>
+        @ENGLISH }}} -->
+    <para>Если для этого файла не задать свойство 
+      <literal>svn:keywords</literal>, Subversion не будет делать 
+      ничего особенного. Давайте разрешим теперь подстановку ключевого 
+      слова <literal>LastChangedDate</literal>.</para>
 
     <screen>
 $ svn propset svn:keywords "Date Author" weather.txt
@@ -2042,6 +2708,7 @@
 $
 </screen>
     
+      <!-- @ENGLISH {{{
     <para>Now you have made a local property modification on the
       <filename>weather.txt</filename> file.  You will see no
       changes to the file's contents (unless you made some of your
@@ -2052,7 +2719,19 @@
       substitute keywords that are not present in the file, and
       will not substitute keywords that are not present in the
       <literal>svn:keywords</literal> property value.</para>
+        @ENGLISH }}} -->
+    <para>Итак, вы произвели локальное изменение свойства файла 
+      <filename>weather.txt</filename>.  Вы не увидите каких-либо
+      изменений в содержании файла (при условии, что вы не делали
+      своих изменений до того, как задать свойство).  Заметьте, что
+      файл содержал также указатель на ключевое слово <literal>Rev</literal>,
+      которое мы не стали включать в значение свойства при его 
+      задании. Subversion успешно проигнорирует подстановку тех 
+      ключевых слов, которые не присутствуют в файле, а также не 
+      будет замещать ключевые слова, не перечисленные в
+      значении свойства <literal>svn:keywords</literal>.</para>
 
+      <!-- @ENGLISH {{{
     <para>Immediately after you commit this property change,
       Subversion will update your working file with the new
       substitute text.  Instead of seeing your keyword anchor
@@ -2062,11 +2741,28 @@
       (<literal>$</literal>) characters.  And as we predicted, the
       <literal>Rev</literal> keyword was not substituted because
       we didn't ask for it to be.</para>
+        @ENGLISH }}} -->
+    <para>Сразу же после того, как вы зафиксируете изменение свойства,
+      Subversion обновит файл рабочей копии с новым текстом подстановки.
+      Вместо указателя ключевого слова <literal>$LastChangedDate$</literal>
+      вы увидите результат его подстановки.  Этот результат так же
+      будет содержать имя ключевого слова, и по-прежнему будет
+      ограничен знаками доллара (<literal>$</literal>).  
+      Как мы и предсказывали, подстановка ключевого слова 
+      <literal>Rev</literal> не была произведена, поскольку
+      мы не попросили ее сделать.</para>
 
+      <!-- @ENGLISH {{{
     <para>Note also that we set the <literal>svn:keywords</literal>
       property to <quote>Date Author</quote> yet the keyword
       anchor used the alias <literal>$LastChangedDate$</literal>
       and still expanded correctly.</para>
+        @ENGLISH }}} -->
+    <para>Заметим также, что мы установили свойству 
+      <literal>svn:keywords</literal> значение <quote>Date Author</quote>,
+      в то время как указатель ключевого слова использовал псевдоним 
+      <literal>$LastChangedDate$</literal>. Тем не менее, его замещение 
+      прошло корректно.</para>
 
     <screen>
 Here is the latest report from the front lines.
@@ -2075,6 +2771,7 @@
 Cumulus clouds are appearing more frequently as summer approaches.
 </screen>
 
+      <!-- @ENGLISH {{{
     <para>If someone else now commits a change to
       <filename>weather.txt</filename>, your copy of that file
       will continue to display the same substituted keyword value
@@ -2082,10 +2779,23 @@
       time the keywords in your <filename>weather.txt</filename>
       file will be re-substituted with information that
       reflects the most recent known commit to that file.</para>
+        @ENGLISH }}} -->
+    <para>Теперь, если кто-то другой зафиксирует изменения в 
+      <filename>weather.txt</filename>, ваша копия этого файла
+      продолжит показывать прежний результат подстановки —
+      до тех пор, пока вы не обновите рабочую копию.
+      При обновлении в вашем файле <filename>weather.txt</filename>
+      будет произведена переподстановка ключевого слова 
+      той информацией, которая отражает наиболее свежую
+      фиксацию этого файла.</para>
 
     <sidebar>
+      <!-- @ENGLISH {{{
       <title>Where's $GlobalRev$?</title>
+        @ENGLISH }}} -->
+      <title>Где взять $GlobalRev$?</title>
 
+      <!-- @ENGLISH {{{
       <para>New users are often confused by how the
         <literal>$Rev$</literal> keyword works.  Since the repository
         has a single, globally increasing revision number, many people
@@ -2098,7 +2808,21 @@
         support of a Subversion keyword to do so, how can you
         automatically get the global revision number into your
         files?</para>
+        @ENGLISH }}} -->
+      <para>Новые пользователи часто не понимают, как работает ключевое
+        слово <literal>$Rev$</literal>. Поскольку хранилище имеет единый,
+        глобально возрастающий номер правки, многие люди предполагают,
+        что именно этот номер отражается значением ключевого слова 
+        <literal>$Rev$</literal>. Однако на самом деле 
+        <literal>$Rev$</literal> показывает последнюю правку,
+        в которой файл <emphasis>был изменен</emphasis>, а не 
+        правку, из которой обновлена рабочая копия. Осознание этого
+        устраняет путаницу, но неудовлетворенность часто остается
+        — как еще, если не через ключевые слова Subversion,
+        можно автоматически получить в файлах глобальный номер 
+        правки?</para>
 
+      <!-- @ENGLISH {{{
       <para>To do this, you need external processing.  Subversion
         ships with a tool called <command>svnversion</command> which
         was designed for just this purpose.
@@ -2108,9 +2832,21 @@
         revision information into your files.  For more information on
         <command>svnversion</command>, see <xref
         linkend="svn.ref.svnversion"/>.</para>
+        @ENGLISH }}} -->
+      <para>Чтобы добиться этого, потребуется внешняя обработка. 
+        Subversion поставляется вместе с утилитой 
+        <command>svnversion</command>, которая специально создана
+        только для этой цели. <command>svnversion</command> просматривает
+        вашу рабочую копию и выдает номера найденных правок. 
+        Вы можете пользоваться этой программой совместно с рядом
+        дополнительных инструментов, чтобы внедрить эту информацию
+        о правках в ваши файлы. За дополнительной информацией по
+        <command>svnversion</command>, обращайтесь в раздел <xref
+        linkend="svn.ref.svnversion"/>.</para>
 
     </sidebar>
 
+      <!-- @ENGLISH {{{
     <para>Subversion 1.2 introduced a new variant of the keyword
       syntax which brought additional, useful—though perhaps
       atypical—functionality.  You can now tell Subversion
@@ -2127,12 +2863,39 @@
       substituted field; if it is too long, it is truncated with a
       special hash (<literal>#</literal>) character just before
       the final dollar sign terminator.</para>
+        @ENGLISH }}} -->
+    <para>Subversion 1.2 предлагает новый вариант синтаксиса для
+      работы с ключевыми словами, который предоставляет дополнительные, 
+      весьма полезные — хотя, вероятно, не совсем типичные
+      — функциональные возможности.  Теперь вы можете
+      попросить Subversion сохранять фиксированную длину для результата
+      подстановки ключевого слова (имеется в виду число занимаемых
+      байтов). Для этого используйте удвоенное двоеточие 
+      (<literal>::</literal>) после имени ключевого слова, вслед за 
+      которым поместите столько пробелов, сколько нужно для 
+      задания фиксированной длины. Когда Subversion на место ключевого
+      слова будет подставлять ключевое слово и его значение, 
+      она заменит только эти пробельные символы, оставив полную
+      длину поля с ключевым словом неизменной. Если подставляемое
+      значение окажется короче, чем заданная ширина поля, оно
+      будет дополнено на конце символами-заполнителями
+      (пробелами). Если подставляемое значение окажется слишком
+      длинным, оно будет усечено, при этом непосредственно перед
+      закрывающим знаком доллара (ограничителем) будет помещен
+      специальный хэш-символ (<literal>#</literal>).</para>
 
+      <!-- @ENGLISH {{{
     <para>For example, say you have a document in which you have
       some section of tabular data reflecting the document's
       Subversion keywords.  Using the original Subversion keyword
       substitution syntax, your file might look something
       like:</para>
+        @ENGLISH }}} -->
+    <para>Допустим, к примеру, что в вашем документе имеется
+      раздел табулированных данных, отражающих значение ключевых
+      слов Subversion для этого документа.  При использовании 
+      исходного синтаксиса подстановки ключевых слов Subversion
+      ваш файл мог бы выглядеть примерно так:</para>
 
     <screen>
 $Rev$:     Revision of last commit
@@ -2140,9 +2903,15 @@
 $Date$:    Date of last commit
 </screen>
     
+      <!-- @ENGLISH {{{
     <para>Now, that looks nice and tabular at the start of things.
       But when you then commit that file (with keyword substitution
       enabled, of course), you see:</para>
+        @ENGLISH }}} -->
+    <para>Поначалу он выглядит красиво и похож на таблицу.
+      Но когда вы выполните фиксацию этого файла (конечно же,
+      при разрешенной подстановке ключевых слов), то увидите 
+      следующее:</para>
 
     <screen>
 $Rev: 12 $:     Revision of last commit
@@ -2150,6 +2919,7 @@
 $Date: 2006-03-15 02:33:03 -0500 (Wed, 15 Mar 2006) $:    Date of last commit
 </screen>
     
+      <!-- @ENGLISH {{{
     <para>The result is not so beautiful.  And you might be
       tempted to then adjust the file after the substitution so
       that it again looks tabular.  But that only holds as long as
@@ -2160,6 +2930,20 @@
       you are using Subversion 1.2 or better, you can use the new
       fixed-length keyword syntax, define some field widths that
       seem sane, and now your file might look like this:</para>
+        @ENGLISH }}} -->
+    <para>Результат уже не столь красив. Возможно, вам даже захочется
+      выровнять содержимое файла после подстановки, чтобы он снова
+      выглядел как таблица. Но выравнивание будет держаться
+      только до тех пор, пока значение ключевого слова будет 
+      иметь неизменную длину. Если в номере последней зафиксированной
+      правки добавится новый разряд  (скажем, при переходе от 99 к 100),
+      или фиксацию выполнит другой человек, с более длинным именем
+      пользователя, ваши труды снова пойдут насмарку. 
+      Однако, если вы используете Subversion версии 1.2 или выше, 
+      вы можете пользоваться новым синтаксисом ключевых слов с 
+      фиксированной длиной, задавая полям такую длину, чтобы 
+      получить аккуратный внешний вид. Теперь ваш файл мог бы
+      выглядеть примерно так:</para>
 
     <screen>
 $Rev::               $:  Revision of last commit
@@ -2167,6 +2951,7 @@
 $Date::              $:  Date of last commit
 </screen>
     
+      <!-- @ENGLISH {{{
     <para>You commit this change to your file.  This time,
       Subversion notices the new fixed-length keyword syntax, and
       maintains the width of the fields as defined by the padding
@@ -2176,6 +2961,17 @@
       <literal>Rev</literal> and <literal>Author</literal> are
       padded with spaces, and the long <literal>Date</literal>
       field is truncated by a hash character:</para>
+        @ENGLISH }}} -->
+    <para>Зафиксируем эти изменения в вашем файле. Теперь 
+      Subversion заметит новый синтаксис ключевых слов с 
+      фиксированной длиной, и сохранит ширину полей такой,
+      какой она была задана с помощью пробелом, помещенных вами
+      между удвоенным двоеточием и замыкающим знаком доллара.
+      После выполнения подстановки ширина поля совершенно не 
+      изменится — короткие значения для 
+      <literal>Rev</literal> и <literal>Author</literal> будут
+      дополнены пробелами, а длинное поле <literal>Date</literal>
+      будет обрезано хэш-символом:</para>
 
     <screen>
 $Rev:: 13            $:  Revision of last commit
@@ -2183,14 +2979,24 @@
 $Date:: 2006-03-15 0#$:  Date of last commit
 </screen>
        
+      <!-- @ENGLISH {{{
     <para>The use of fixed-length keywords is especially handy
       when performing substitutions into complex file formats that
       themselves use fixed-length fields for data, or for which
       the stored size of a given data field is overbearingly
       difficult to modify from outside the format's native
       application (such as for Microsoft Office documents).</para>
+        @ENGLISH }}} -->
+    <para>Использование ключевых слов с фиксированной длиной 
+      особенно удобно, когда подстановки производятся в сложных
+      файловых форматах, которые сами используют поля фиксированной
+      длины для своих данных, либо в которых достаточно трудно изменить 
+      размер определенного поля данных, не прибегая к использованию
+      родного для данного формата приложения (в качестве примера
+      можно привести документы Microsoft Office).</para>
 
     <warning>
+      <!-- @ENGLISH {{{
       <para>Be aware that because the width of a keyword field is
         measured in bytes, the potential for corruption of
         multi-byte values exists.  For example, a username which
@@ -2204,6 +3010,19 @@
         would notice the broken UTF-8 text and deem the entire
         file corrupt, refusing to operate on the file
         altogether.</para> 
+        @ENGLISH }}} -->
+      <para>Принимайте во внимание, что, поскольку ширина поля для 
+        ключевого слова измеряется в байтах, существует опасность 
+        повреждения многобайтовых символов. Например, имя пользователя,
+        содержащее многобайтовые символы UTF-8, может подвергнуться
+        усечению посреди строки байтов, отрезав часть байтов одного
+        из символов. Результатом может стать не только усечение,
+        видимое на байтовом уровне, но и строка с некорректным или
+        искаженным последним символов при ее просмотре как текста 
+        в формате UTF-8. Вполне возможно, что некоторые приложения 
+        при загрузке такого файла обнаружат поврежденный текст UTF-8
+        и посчитают поврежденным весь файл, отказавшись из-за этого
+        с ним работать.</para> 
     </warning>
 
   </sect1>




More information about the svnbook-dev mailing list