Примеры
Запуск нового перевода
В качестве примера будет использоваться русский язык:
git pull cd webwml mkdir russian cd russian cp ../english/.wmlrc ../english/Make.* . echo 'include $(subst webwml/russian,webwml/english,$(CURDIR))/Makefile' > Makefile mkdir po git add Make* .wmlrc po cp Makefile po make -C po init-po git add po/Makefile po/*.ru.po
Отредактировать файл .wmlrc, изменив:
- '-D CUR_LANG=English' на '-D CUR_LANG=Russian'
- '-D CUR_ISO_LANG=en' на '-D CUR_ISO_LANG=ru'
- '-D CUR_LOCALE=en_US' на '-D CUR_LOCALE=ru_RU'
- '-D CHARSET=iso-8859-1' на '-D CHARSET=utf-8.
Отредактировать Make.lang, изменив 'LANGUAGE := en' на 'LANGUAGE := ru'. В случае, если вы переводите на язык, который использует многобайтовую кодировку, вам, вероятно, придётся изменить некоторые другие переменные в этом файле. Более подробную информацию можно найти в ../Makefile.common и, возможно, уже работающих переводах (например, китайском).
Зайдите в russian/po, и переведите содержимое PO-файлов. Как это делать, достаточно очевидно.
Не забывайте скопировать файл Makefile в каждый переводимый каталог.
Это необходимо, поскольку для преобразования файлов .wml в HTML используется
программа make
. Файлы Makefile необходимы для её работы.
Когда вы завершили добавление и редактирование файлов, выполните из каталога webwml следующие команды:
git commit -m "Сюда добавьте ваше сообщение о коммите" git pushТеперь вы можете приступать к переводу страниц.
Перевод страницы
В качестве примера будет использоваться русский перевод общественного договора:
cd webwml ./copypage.pl english/social_contract.wml cd russian
Это автоматически добавит заголовок translation-check, указывающий на версию оригинального файла, который был скопирован. Кроме того, будут созданы каталог назначения и Makefile, если они отсутствуют.
Отредактируйте social_contract.wml, переведя текст. Ссылки не следует переводить или изменять. Если вы хотите изменить что-либо, сначала задайте вопрос в списке debian-www. Закончив работу, выполните
git add social_contract.wml git commit -m "Translated social contract to Russian" git push
Добавление нового каталога
В этом примере показано добавление каталога intro/ в русский перевод:
cd webwml/russian mkdir intro cd intro cp ../Makefile . git add Makefile git commit -m "added the intro dir to git" git pushУбедитесь, что в новом каталоге есть файл Makefile и что он зафиксирован в git. В противном случае запуск make приведёт к ошибке.
Конфликт
Этот пример демонстрирует коммит, который не сработает из-за того, что копия в репозитории была изменена после вашего последнего выполнения команды git pull.
git add foo.wml git commit -m "fixed a broken link" git pushВыполнение этих команд приведёт к следующему:
To salsa.debian.org:webmaster-team/webwml.git ! [rejected] master -> master (fetch first) error: failed to push some refs to 'git@salsa.debian.org:webmaster-team/webwml.git'
или что-то типа того :)
Это означает, что ваши изменения не были отправлены в
git-репозитории из-за конфликта.
Вам следует выяснить, что пошло не так, разрешить конфликт и попытаться
снова сделать коммит и отправить изменения в репозиторий.