Русская группа переводов www.gnu.org

Присылая перевод в группу, вы даете безусловное разрешение на то, чтобы проект GNU его изменял и публиковал, как и когда он сочтет нужным.

Далее следует описание практики переводов в группе. Оно предназначено для тех, кто хотел бы к ней присоединиться или просто помочь. На середину 2013 года эта практика устоялась, но мы всегда рады выслушать новые предложения.

Список рассылки

<www-ru-list@gnu.org> — единственный список рассылки группы, так что здесь можно попытаться обсудить любой вопрос, имеющий отношение к ее деятельности. Подписка рекомендуется всем активным переводчикам.

Архив списка рассылки можно просмотреть в виде HTML на http://lists.gnu.org/archive/html/www-ru-list/ или в формате mbox.

Регистрация на savannah.gnu.org

Дает более удобный доступ к службам сайта, в частности, журнал ошибок. Например, после размещения нового файла система будет оповещать вас по электронной почте, когда кто-нибудь добавляет комментарий к вашему файлу.

В долгосрочной перспективе учетная запись может потребоваться также для того, чтобы получить доступ на запись к файлам проектов savannah.gnu.org, в том числе и нашей группы переводов.

Регистрация обычно не представляет затруднений. От вас потребуется представиться и указать свой адрес электронной почты. На этот адрес будет выслано письмо для подтверждения регистрации.

С некоторых пор Gmail автоматически перемещает эти письма в Spam, а иногда даже вообще выбрасывает (это может зависеть от учетной записи, на которую приходит письмо, и настроения сервера). Если у вас возникают проблемы такого рода, можно обратиться в список рассылки группы или на <savannah-users@gnu.org>

Журнал ошибок группы

В журнал ошибок можно помещать файлы с переводами. Имеет смысл сообщать о новых файлах в списке рассылки проекта. Обсуждать файлы можно либо в списке рассылки, либо в том же журнале ошибок.

Журнал ошибок допускает анонимную работу (без учетной записи на savannah.gnu.org), но в этом случае вас не будут автоматически извещать о новых сообщениях (свой адрес в список оповещений можно добавить вручную).

Переведенные страницы

Список переводов, уже размещенных на www.gnu.org, можно найти на автоматически обновляемой странице.

Полное представление о том, в каком состоянии находится перевод конкретной страницы, можно составить, пробежав по списку:

В настоящее время больше всего не хватает людей, которые сверяли бы уже сделанные переводы с оригиналом или хотя бы проверяли грамматические ошибки. Переводов у нас довольно много, но большинство из них выполнено одним человеком, а это не обеспечивает желаемого качества.

Общая документация по переводам

На сайте www.gnu.org есть общие указания по переводам. Если вы собираетесь делать что-то большее, чем докладывать об опечатках и прочих несуразностях, то имеет смысл прочесть более подробное руководство переводчика.

На сегодня предпочтительная форма переводов — так называемые PO-файлы. Присылать переводы можно также в виде простого текста; в этом случае оформлять их придется другим членам группы.

Присылать переводы статей в других форматах не имеет смысла: если вы сумели создать текст в каком-то формате, то вам должно быть легко сохранить его в виде простого текста; для других переводчиков даже чтение в другом формате может быть затруднительно.

В списке документации по переводам находится также документация по GNUN — набору программ, с помощью которых PO-файлы преобразуются в страницы сайта. Полностью читать ее не обязательно. Ссылки на то, что представляет особый интерес для переводчика, собраны ниже на этой странице.

Стадии перевода

При подготовке перевод проходит три стадии: предварительная (журнал ошибок, список рассылки и т.д.), CVS www-ru, собственно сайт www.gnu.org (переводы попадают туда, когда руководитель группы отправляет их в CVS www).

Чтобы получить одновременно все исходные PO-файлы для редактирования, создается рабочая копия страниц с помощью CVS.

Если вы будете пользоваться CVS, рекомендуется освоить как минимум команды checkout и update. Перед командой cvs commit полезно просматривать изменения с помощью команды cvs diff.

Рабочая копия файлов группы

Файлы с переводами находятся в Web CVS:

    cvs -z3 -d:pserver:anonymous@cvs.savannah.gnu.org:/webcvs/www-ru co -P www-ru

Переводы сайта www.gnu.org размещаются в каталоге www-ru/translation. Два раза в час файлы автоматически сверяются с текстами статей: устаревшие фрагменты заменяются на новые; если перевод фрагмента обновили в группе www, то обновление переносится в файл группы www-ru.

Рабочая копия www.gnu.org

    cvs -z3 -d:pserver:anonymous@cvs.sv.gnu.org:/web/www co -P www

Команда выполняется достаточно долго, на начало 2023 года файлы занимают около восьмисот мегабайт.

Вас интересуют файлы с расширением .po. Если перевод еще не начат, инициализируйте новый PO-файл или попросите руководителя группы сделать это для вас.

Другие способы

Можно также получать файлы по одному без CVS:

ViewVC для www-ru

ViewVC для www

PO-файлы

По существу, PO-файл — это текстовый файл, в котором строкам оригинала сопоставлены строки перевода. Примерно так:

     # знаком `#' в первой позиции начинаются комментарии
     msgid ""
     "first half/"
     "second half"
     msgstr ""
     "одна половина/"
     "вторая половина"

В файлах используется кодировка UTF-8.

В документации GNUN довольно много сведений, которые могут не понадобиться переводчику. Для удобства здесь собраны ссылки на страницы, которые представляют наибольший интерес.

Работа с GNUN

Предварительно просмотреть переводы можно, пересобирая их у себя на компьютере. В редких случаях может быть полезно.

Дальше подразумевается, что у вас есть общие представления о том, как конфигурируются, собираются и устанавливаются пакеты, использующие GNU Autotools. Также подразумевается, что вы работаете в GNU. В других системах это не проверялось.

Сначала вы устанавливаете GNUN: gnun-1.3.tar.gz, gnun-1.3.tar.gz.sig. Для работы GNUN требуется Perl, GNU make 3.81 (с более старыми версиями не работает), GNU gettext, GNU wdiff и PO4A.

PO4A можно распаковать в домашний каталог, а потом прописать нужные пути в переменных среды:

    tar xzf po4a-v0.37.1.tar.gz;
    mkdir ${HOME}/gnun; mv po4a-v0.37.1 ${HOME}/gnun/po4a
    export PERLLIB=${HOME}/gnun/po4a/lib
    export PATH=${PATH}:${HOME}/gnun/po4a:${HOME}/gnun/bin

Обратите внимание на переменные PERLLIB и PATH. Не исключено, что вы захотите добавить их в сценарий инициализации своего командного интерпретатора.

Установка собственно GNUN:

    f=gnun-1.3.tar.gz
    gpg --verify $f{.sig,} && tar xzf $f
    mkdir build; cd build
    ../gnun-1.3/configure --prefix=${HOME}/gnun
    make && make install && make installcheck

После этого делаем рабочую копию страниц www и создаем ссылки на файлы config.mk и GNUMakefile в www/server/gnun:

    ln -s $prefix/share/gnun/config.mk /path/to/www/server/gnun/
    ln -s $prefix/share/gnun/GNUmakefile /path/to/www/server/gnun/

Обновление файлов переводов производится из каталога www командой

    make -C server/gnun

В процессе обновления из английских файлов HTML пересоздаются POT-файлы, изменения в них отражаются во всех имеющихся PO-файлы переводов, и уже после этого записываются переведенные файлы HTML.

Это означает, что для надежного обновления файлов нужно, чтобы оригинальный файл HTML на английском был новее, чем файл POT, что в некоторых случаях может не выполняться. Нужное состояние достигается командой

    touch gnu/rms-lisp.html

(замените gnu/rms-lisp.html на файл, с которым собираетесь работать)

В результате вы получаете обновленный файл в каталоге po (gnu/po/rms-lisp.ru.po) и файл HTML с переводом (gnu/rms-lisp.ru.html).

На самом деле gnu/rms-lisp.ru.html — это не совсем то, что будет показывать сайт. В файле остаются команды для Apache; главным образом это команды включения в страницу общих для всего сайта частей. Поэтому может потребоваться, например, вручную указать браузеру кодировку UTF-8. Но основной текст все же можно просмотреть.

Чтобы получить страницу в том виде, в каком она будет выдаваться сайтом, можно настроить Apache (если вы знаете, как это делается, или готовы в этом самостоятельно разобраться).

Кроме того, в GNUN есть команда gnun-validate-html, в которой предусмотрена возможность сохранения страницы в том виде, в каком она поступает на проверку синтаксиса HTML. Это делается примерно так:

    cd server/gnun
    gnun-validate-html --expand-to=gnu.ru.html ../../gnu/gnu.ru.html

Извлечь тексты переводов (например, для проверки орфографии) можно также без установки GNUN с помощью msgexec:

  1. Запишите следующие команды в файл extract-translation:
    #! /bin/sh
    case "x$MSGEXEC_MSGID" in
      x) cat >/dev/null;;
      *)
        fmt -w 100
        echo = ;;
    esac
    
  2. Сделайте файл исполняемым:
        chmod +x extract-translation
    
  3. Используйте полученный файл с командной строкой такого вида:
        msgexec ./extract-translation <x.ru.po >x.ru.txt
    

Главная страница группы на savannah.gnu.org