Проект перевода NetBSD. HowTo (Win).
Version 2.4.1 qnub[lost][Russian NetBSD team][runetbsd]
Содержание.
Предыстория.
Вступление в ряды.
SVN клиент и его Настройка.
Правила перевода.
Отправка перевода в репозиторий.
Обновление локального репозитория.
Проверка изменений в версиях.
Линки.
Предыстория. Ни для кого не секрет, что ОС NetBSD в России не может похвастаться огромной популярностью, в силу чего не может она и похвастаться наличием необходимого количества документации на русском языке. Ежели заинтересовала данная ОС и есть желание исправить положение дел на фронте документации то будет не безынтересно узнать, что существует проект перевода документации по NetBSD на русский язык. На странице http://www.netbsd.org/developers/translate.html сайта NetBSD указано, что официально занимается переводом Mike M. Volokhov , язык русский. У проекта есть свой лист рассылки, архив которой можно посмотреть по адресу http://mail-index.netbsd.org/netbsd-docs-ru/, а подписаться http://www.netbsd.org/cgi-bin/subscribe_list.pl?list=netbsd-docs-ru. Так вот этот человек предоставил желающим возможность составить ему компанию в этом не легком деле посредством соучастия в переводе. Синхронизация действий участников перевода осуществляется средствами репозитория svn, для доступа к которому достаточно зарегистрироваться. Получить письмо с подтверждением права доступа к svn репозиторию документации. в начало
Вступление в ряды. Как я уже говорил, чтобы попасть в команду нужно всего лишь отправить письмо, только вот письмо не простое, а... оформленное по определенному шаблону. Чтобы соблюсти все требования нам понадобится программа PuTTYgen (puttygen.exe), которую можно скачать по адресу: http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html. Для регистрации в проекте и дальнейшем подключении к репозиторию необходимо сгенерировать RSA или DSA ключ. Генерируется он программой PuTTYgen следующим образом:
- Запускаем puttygen.exe.
- В "Type of key generate" выбираем "SSH2 RSA" или "SSH2 DSA".
- Жмем кнопку "Generate" и начнется первая фаза генерации ключа, т.е. выбор случайных чисел, для чего необходимо будет двигать мышью до тех пор пока полностью не заполнится строка прогресса. Второй этап генерации - создание самого ключа, пройдет автоматически.
- В "Key komment:" необходимо написать:
RuNetBSD (Subversion) - В полях "Key passphrase:" и "Confirm passphrase:" вводим пароль для файла ключа (главное не забыть его потом!).
- Жмем кнопку "Save private key" и сохраняем наш приватный ключ в безопасном месте.
- Свои реальные имя и фамилию.
- Ник, который собираемся использовать в рамках проекта.
- Если есть желание получать все отправляемые сообщения, указываем адрес электронной почты, чтобы подписаться на рассылку.
- Название проекта, то есть "
runetbsd". - Сгенерированный публичный ключ и его тип. Чтобы его узнать запускаем puttygen.exe, жмем кнопку "Load" для загрузки приватного ключа. Копируем и вставляем в письмо все содержимое окна "Public key for pasting into OpenSSH authorized_keys file"
Real Name: Vadim N. Lopatyuk
Login: qnub
E-mail:
Projects: runetbsd
SSH DSA key: ssh-dss AAAAB3NzaC1kc3MAAACBAKsZU2RJORqscxMtieA9sjxp/
<вырезано>
wPD6KgW6U8X2BTACZ5sKH7ufrbo73CEx2K769w== RuNetBSD (Subversion)
в начало
SVN клиент и его настройка.
Для подключения к репозиторию нам понадобится TortoiseSVN, последнюю версию которого можно скачать по адресу: http://tortoisesvn.tigris.org/download.html
С установкой программы есть один нюанс - глюк Microsoft Installer'а. Если при попытке установки ничего не вышло - скопируйте инсталляционный файл в корень диска c:\ и запустите установку снова.
Следующим шагом будет настройка соединения TortoiseSVN с репозиторием сервера документации svn.runetbsd.ru. Так как доступ к репозиторию осуществляется через протокол ssh2. Снова кликаем правой кнопкой на папке с локальным репозиторием и выбираем "TortiseSVN/Settings". В открывшемся окне переходим на вкладку "Network" и в поле "SSH client:" прописываем путь к файлу "tortoiseplink.exe", это поставляемый в комплекте клиент ssh. Если установка происходила по умолчанию, то это:
C:\Program Files\TortoiseSVN\bin\TortoisePlink.exe
В этой же строке необходимо дописать ключи, с которыми будет запускаться ssh клиент:
| обязательные: | |
| -ssh | использовать SSH; |
| -l | имя пользователя для соединения; |
| -i | полный путь к файлу ПРИВАТНОГО сегенерированного ключа; |
| -pw | пароль, использованный при генерации ключа. |
| необязательный: | |
| -С | использовать сжатие SSH. |
У меня выглядит так:
C:\Program Files\TortoiseSVN\bin\TortoisePlink.exe -ssh -l qnub -C -i D:\private\DevNetSVN.ppk -pw MySuperMegaPassword!
Жмем "ОК".
Сначала необходимо создать локальную папку, где будет лежать репозиторий. Далее, кликнув на ней правой кнопкой, выбрать "Export...".
В поле "URL of repository:" вводим следующее:
svn+ssh://svn.runetbsd.ru/tnp/runetbsd/svnroot
Жмем "ОК", появится информационное окно и программа начнет загружать весь репозиторий с сервера в нашу папку.
В принципе репозиторий довольно обширный и многие вещи могут не понадобитья. По этому желающие могут скачть только необходимое или воспользоваться SVN Exloplorer'ом и выбрать нужное.
Основные пункты:
svn+ssh://svn.runetbsd.ru/tnp/runetbsd/svnroot/htdocsсодержит все документы находящиеся на сайте http://netbsd.org.svn+ssh://svn.runetbsd.ru/tnp/runetbsd/svnroot/htdocs/guideсодержит только "The NetBSD guide", но на всех языках офисиально зарегистрированных на NetBSD (в т.ч. и наш проект перевода).svn+ssh://svn.runetbsd.ru/tnp/runetbsd/svnroot/extradocsсодержит любую информацию, которой нет на сайте http://netbsd.org, но которая относится к NetBSD.svn+ssh://svn.runetbsd.ru/tnp/runetbsd/svnroot/extradocs/driverguideсодержит файлы проекта перевода документации по написанию дорайверов для NetBSD.svn+ssh://svn.runetbsd.ru/tnp/runetbsd/svnroot/extradocs/reference_bookсодержит файлы проекта по созданию справочника NetBSD.
Только не стоит нажимать эту кнопочку, пока не придет ответное письмо от Mike M. Volokhov с уведомлением об успешной регистрации.
в начало
Правила перевода. Выбрав себе документ для перевода, сообщите об этом в листе рассылки netbsd-docs-ru@netbsd.org Чтобы другие не переводили уже переводимое в данный момент. Правила перевода разберем на примере перевода главы "Система rc.d". В репозитории в папке с переведенными документами находится файл "PROGRESS". В него нужно добавить название выбранного для перевода файла и заполнить поля. Если файла не существовало его необходимо создать и добавить+настроить как обычный документ, что будет описано далее. Вид файла следующий:
$Id: PROGRESS 134 2005-05-12 09:01:13Z mishka $+---------------------+---------------+-------------------+
| Chapter | Translator | Condition |
+---------------------+---------------+-------------------+==========содержание документа================
Note: Condition - condition of work, e.g.: done;
in progress;
planning;
left.
Смысл колонок:
- Chapter - наименование переводимого файла;
- Name - имя (ник в проекте) человека выполняющего (вшего) работу;
- Condition - состояние работы (в процессе, закончена, планируется, отказался).
Пример заполнения полей (реально существующий файл, для сверки можно посмотреть в htdocs/guide/ru/PROGRESS):
chap-boot.xml msgibnev planing
chap-rc.xml qnub done
chap-pack.xml qnub in progress
Формат файла - Unix (перевод строк только LF).
Так как для руководства NetBSD мы переводим только *.xml документы, то оригинальный текст главы находится в файле
htdocs/guide/en/chap-rc.xml. Копируем его во временную папку, не находящуюся в пределах локальной копии репозитория. (Рекомендую для любых операций над файлами и папками использовать какой-нибудь консольный файл менеджер, иначе войдя в стандартных окнах в папку с репозиторием вы будете ожидать пока TortoiseSVN проверит все его содержимое, дабы выдать вам корректную иконку папки, т.к. они меняются в зависимости от состояния содержимого.) Редактируем обычным текстовым редактором, поддерживающим сохранение документов в формате Unix (перевод строки не CRLF как в windows, а просто LF) и в кодировке koi8-r. Я использую GridinSoft Notepad for Windows 9x/NT4/2000/XP Version LITE, т.к. он бесплатен и довольно комфортен в использовании (имеет кучу подсветок синтаксисов), имеет русский интерфейс, плюс полностью соответствует нашим требованиям. Скачать программу можно сhttp://www.gridinsoft.com/downloads/gsnote.zip (0,9Mb)
Переводить необходимо внутри .xml документа, оставляя все оригинальные теги и разметку. Пример:
- Открываем английскую оригинальную версию нашей главы, chap-rc.xml, в редакторе. Выставляем кодировку koi8-r и формат файла Unix (для GridinSoft Notepad это необходимо делать в начале, во всяком случае кодировку, в остальных не знаю, но лучше перестраховаться, чтоб потом не конвертировать текст специальными программами).
- Находим начало текста, который нужно переводить:
<chapter id="chap-rc">
<title>rc.d System</title><para>As of &os; 1.5, the startup of the system changed
to using rc-scripts for controlling services, similar to the
init-system System V and Linux use, but without runlevels.
This chapter is an overview of the rc-system and its
configuration on &os;.</para> - Вставляем текст перевода до/после английской версии:
<chapter id="chap-rc">
<title>Система rc.d System</title><para>Начиная с версии &os; 1.5 загрузка системы изменена для
использования rc-сценариев (скриптов), для контроля за сервисами,
используемых в некоторых системах инициализации (init-system) System
V и Linux, но без уровней запуска (runlevels). Эта глава - обзор rc-
системы и ее конфигурации в &os;.</para><para>As of &os; 1.5, the startup of the system changed
to using rc-scripts for controlling services, similar to the
init-system System V and Linux use, but without runlevels.
This chapter is an overview of the rc-system and its
configuration on &os;.</para> - Удаляем ненужные английские части текста, оставляя читабельный перевод:
<chapter id="chap-rc">
<title>Система rc.d</title><para>Начиная с версии &os; 1.5 загрузка системы изменена для
использования rc-сценариев (скриптов), для контроля за сервисами,
используемых в некоторых системах инициализации (init-system) System
V и Linux, но без уровней запуска (runlevels). Эта глава - обзор rc-
системы и ее конфигурации в &os;.</para>
В начале каждого переведенного документа должен идти специальный комментарий.
<!--
$NetBSD$
OrigDoc: <RCS ID тег оригинального документа>
OrigPath: <путь к оригинальному документу, включая htdocs>
ruNetBSD Responsible: <имя и адрес автора перевода>
ruNetBSD $LastChangedBy$
ruNetBSD $LastChangedDate$
ruNetBSD $LastChangedRevision$
-->
Но его также необходимо редактировать, оставляя неизменными 1,6,7 и 8-ю строки. Во вторую строку вставляется все что между знаками "$" первой строки оригинального документа, т.е. из моей строки
<!-- $NetBSD: chap-rc.xml,v 1.9 2004/12/14 14:09:02 wiz Exp $ --> я оставляю только NetBSD: chap-rc.xml,v 1.9 2004/12/14 14:09:02 wiz Exp . По остальным двум строкам все станет понятно из примера. Вот что у меня вышло:<!--
$NetBSD$
OrigDoc: NetBSD: chap-rc.xml,v 1.9 2004/12/14 14:09:02 wiz Exp
OrigPath: htdocs/guide/en/
ruNetBSD Responsible: Vadim N. Lopatyuk <qnub@mail.ru>
ruNetBSD $LastChangedBy$
ruNetBSD $LastChangedDate$
ruNetBSD $LastChangedRevision$
-->
По окончании перевода сохраняем документ. Но не забываем, про следующие требования к переводу:
- Максимальное соответствие форматирования оригиналу (неизменность ВСЕХ оригинальных тэгов).
- Служебный комментарий в начале каждого документа.
- Грамотность русского языка (рекомендую прогонять копию через Word).
- Кодировка - КОИ8 (koi8-r).
- Переводы строк (каретки) - только LF (Unix формат файла).
- Максимальная длина строк - 76 символов.
Дополнительная информация по стилистике перевода имеется на http://wwwip.runetbsd.ru/ru/developers/translate-russian.html#sec-style.
Копируем результат трудов туда, где лежат переводы других глав руководства, т.е. в
htdocs/guide/ru/chap-rc.xml.в начало
Отправка перевода в репозиторий. Ну вот и закончен перевод. Можно перекурить и погордится собой любимым, сотворившим такое доброе дело :) Но об этом пока никто не знает, и не узнает если оставить плоды трудов в черном ящике своего винчестера. Нужно отправлять перевод в репозиторий. Но для начала нужно устроить так, чтобы сервер SVN заполнил три последних поля комментария. Для этого нужно указать ему какие ключевые слова имеются в тексте для замены. Для этого:
- Находим наш файл
htdocs/guide/ru/chap-rc.xml, жмем на нем правую кнопку и жмем "SVN add". В открывшемся окне отмечаем новый файл и жмем "хорошо". - Далее снова правый клик на новом файле и заходим в "Свойства...".
- Идем на вкладку "Subversion".
- В ниспадающем списке (по середине) выбираем "svn:keywords".
- В нижнем окошке прописываем:
LastChangedBy LastChangedDate LastChangedRevision
- Жмем кнопку "Set" затем "хорошо".
Чтобы отправить результат в репозиторий кликаем правой кнопкой на папке локальной его копии и выбираем "SVN Commit...". Поставим галочку в чекбоксе "Show unversioned files" и подождем пока проанализируется содержимое папки. Далее ставим галку на нашем появившемся сверху списка в нижнем окошке файле. В верхнем окошке необходимо обязательно написать комментарий. Что и зачем
изменяется в репозитории. Вот мой первый комментарий, прописанный к файлу перевода:
translate (full):
htdocs/guide/en/chap-rc.xml
to:
htdocs/guide/ru/chap-rc.xml
На что от Михаила была получена следующая рекомендация:
А вот это уже почти "в яблочко". по моему скромному мнению,
этот текст смотрелся бы чуть лучше, если бы был написан более вольным
стилем. Например:Import complete Russian translation of "rc.d System" chapter.
Другими словами, в отчете изменений НЕ нужно помещать информацию,
которую можно получить другими способами (и которая тем более ведется
автоматически). Хороший вопрос, который стоит задать себе при написании
комментариев: "Почему я сделал эти изменения?" В данном случае ответ
прост - потому что закончена работа над главой "Система rc.d".
С чем я полностью солидарен.
Остается только нажать "хорошо" и наблюдать за процессом.
в начало
Обновление локального репозитория. Если вам пришло письмо от сервера с уведомлением, что кто-то что-то изменил в репозитории, то вам необходимо обновить его локальную копию. Делается это очень просто, нужно лишь кликнуть правой кнопкой мыши на папке с репозиторием, выбрать "SVN Update" и подождать пока не завершится обновление. Дальнейшее изучение способов использования TortoiseSVN целиком и полностью возлагаю на плечи энтузиастов. в начало
Проверка изменений в версиях. Часто необходимо узнать какие конкретные изменения произошли в файле оригинала чтобы не сохранять у себя все старые версии и затем выискивать разночтения. TortoiseSVN позволяет это сделать встроенными в него средствами. Чтобы провести эту операцию необходимо кликнуть правой кнопкой мыши по интересующему файлу и выбрать "SVN Show log". Дождавшись загрузки лога с сервера найти в нижнем окошке свой файл, кликнуть по нему правой кнопкой мыши и выбрать "Show Differences". Опять же дожидаемся загрузки старой и новой версий файла. В результате октроется новое окно с двумя областями с текстом разделенными вертикальной чертой. В левой половине будет отображаться более старая версия файла, в правой соответственно наоборот. Строки с разночтения выделены цветом, При наведении на них курсора, в нижней области окна появляются конкретизированные, расцвеченные подсказки "что конкретно не совпадает". Левая узкая область представляет собой "карту разночтений", на которой красными полосками выдлены несовпадения, что позволяет быстро перемещаться от одного несовпадения к другому одним кликом мыши. в начало
Info.
- Лист рассылки netbsd-docs-ru.
- Перевод документации NetBSD на русский язык.
- Ассоциация Лексикографов Lingvo.
- Форумы Lingvo.
- Английский толковый словарь The DICT Development Group.
Online.
- Онлайн словарь МултиЛекс.
- Онлайн перевод слов ABBYY Lingvo.
- Онлайн перевод текстов ПРОМТ (советую зарегитсрироваться).
Soft.
и да пребудет с тобой великий Джа!
2005.12.15 6:36 (GMT+5)
в начало
__________________________
и да пребудет с тобой великий Джа!


