==================== Общий стиль перевода ==================== Как и в английском оригинале, следует придерживаться стиля среднего между формальным и неформальным. Оригинал написан отличным живым английским языком, перевод также должен быть выполнен отличным живым русским языком. В переводе следует стремиться использовать русскоязычную терминологию (см. глоссарий для переводчиков). Глоссарий не является догмой, его задача -- обеспечить последовательность использования терминов по всему тексту книги, но в нём могут быть не учтены контекстуальные нюансы. Непереводимые фрагменты необходимо воспроизводить в точности так же, как в оригинале (например, использовать длинные названия команд: "checkout", а не "co"). Используйте букву "ё" там, где это необходимо. ======================= Руководство по разметке ======================= - В работе с книгой используется Docbook Lite DTD от O'Reilly & Associates. Копия DTD имеется в хранилище и также доступна по адресу ftp://ftp.oreilly.com/pub/dblite/. - Перед публикацией *всегда* следует выполнять проверку правильности разметки xml. Не следует помещать в хранилище файл, не проходящий такую проверку. Подробнее см. файл README. - Фрагменты, содержащие вывод на экране и программный код, не должны использовать строки длиннее, чем 78 символов. В качестве символа продолжения строки следует использовать обратную косую черту ('\'). - Используйте — а не дефис, где это необходимо. - Если в DTD имеется сущность, определённая для обозначения того или иного специального символа, используйте сущность, а не символ напрямую, например — вместо --. - В разметке следует использовать правильные отступы (2 символа), за исключением блоков , которые выравниваются по левому краю. Текстовые узлы должны начинаться непосредственно после открывающего тэга и заканчиваться закрывающим тэгом, без лишних переносов строк. Например: Tips Flornthorple Plathering The real key to Plathering is to start with a good glab. A good glab provides a solid thorpy foundation. Cross-blather Cross-blather tends to create a hoopy pile of crandy. You can avoid this by using the cross-blather avoid command. $ cb-avoid Avoiding blather......... Done $ ============================================ Отслеживание изменений в оригинальном тексте ============================================ - Для отслеживания изменений в оригинальном (английском) тексте книги мы применяем метод разработанный норвежским переводчиком Ойвином Хольмом [Øyvind A. Holm ]. "Норвежский метод" использует принцип реализованный в Subversion для внесения изменений. Собственно говоря, ничего нового в сам механизм слияния Subversion не привнесла, так как для отражения изменений использует единый формат записи различий (unified diff). Смотри: http://www.gnu.org/software/diffutils/manual/html_node/Detailed-Unified.html#Detailed%20Unified При внесении изменений в целевой файл на основении diff-файлов алгоритм ищет место, куда изменения были внесены. Зная о том что алгоритм руководствуется он номерами строк И несколькими (обычно хватает трех) неизмененными строками до и после блока измененных строк "викинги" этим воспользовались. Полагаясь на приципом "Ничего не удалять, только добавлять." при переводе они стараются как можно меньше влиять на оригинальный текст, что бы не сбивать с толку алгоритм наложения изменений. Так как книга оформлена при помощи языка DocBook (облегченная версия используемая издательством O'Reilly), а следовательно это XML, добавление в код сток вида === === позволяет исключить оригинальный текст из последующей обработки не удаляя его физически. Если кто не понял, то это слегка модифицированные теги блока комментариев испольуемые в XML. Сразу за блоком "закомментаренного" оригинала следует его перевод. При этом, все использемые в оригинале теги DocBook используются и в переводе. Обратите внимание, на два важных правила: 1) Oбрамляемый тегами комментариев текст не должен нарушать "правильность XML". То есть с точки зрения правил XML, файл должен оставаться "wellformed". 2) Чем больше строк оригинального текста будет обрамлено за раз, тем проще будет жизнь у алгоритма наложения изменений! Так что, НЕ МЕЛЬЧИТЕ когда делаете перевод! BTW, в оригинальном тексте могут встречаться последовательности из двух дефисов вида === -- === В большинстве случаев, они возникают при описании параметров передаваемых программе командной строки. Вот пример: === Enables auto-props, overriding the enable-auto-props directive in the config file. === В таком случае, для выполнения первого правила, приходится идти на хитрости. Хитростей бывают двух видов: норвежская и наша. "Варяги" разрывают последовательность двух дефисов Unicode-сущностью: === ﳢ === мотивируя это тем, что этот символ находиться в "private use" Unicode area. Смотри: http://www.unicode.org/charts/PDF/UE000.pdf Наша хитрость того же плана, но в качестве "разделителя" используется вот такая последовательность: === ->