Provided by: po4a_0.41-1ubuntu1_all bug

ИМЯ

       po4a - одновременное обновление PO файлов и переведенной документации

ОБЗОР

       po4a [options] config_file

ОПИСАНИЕ

       Целью проекта po4a (PO везде или для всего) является облегчение
       процесса перевода (и что более важно - поддержка переводов)
       использующего инструменты gettext там, где переводимые файлы не
       выглядят как документация.

       Программа po4a очень полезна если вы хотите избежать вызова
       po4a-gettextize(1), po4a-updatepo(1), и po4a-translate(1) в достаточно
       сложных файлах сборки (Makefiles) когда слишком много файлов для
       перевода, много различных форматов или необходимо определить разные
       параметры для разных документов.

Содержание

       Этот документ устроен следующим образом:

   ОПИСАНИЕ
   ВВЕДЕНИЕ
   СИНТАКСИС ФАЙЛА НАСТРОЙКИ
         

            

           

          

          

         (aliases)

        

   ПАРАМЕТРЫ
   EXAMPLE
   НЕДОСТАТКИ
   СМ. ТАКЖЕ
   АВТОРЫ
   АВТОРСКИЕ ПРАВА И ЛИЦЕНЗИИ

ВВЕДЕНИЕ

       Программа po4a предназначена как для обновления PO файлов (для
       синхронизации их с оригинальными документами) так и для обновления
       переведенных документов (для синхронизации их с PO файлами). Главная
       цель состоит в том чтобы использование программы po4a было насколько
       возможно простым, благодаря тому, что нет необходимости запоминать
       параметры командной строки.

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

       Такое поведение может быть повторено другими инструментами пакета po4a
       (например с помощью Makefiles), но создавать одни и те же сложные
       Makefiles для каждого проекта, использующего po4a, сложнее и
       утомительнее.

       Работу с данными можно описать следующим образом. Любые изменения
       главного документа влияет на PO файлы, и все изменения PO файлов
       (ручные или вызванные предыдущими шагами) будут влиять на переведенный
       документ.

        главный документ --> PO файлы --> переводы

       Поток данных нельзя обратить с помощью данного инструмента, поэтому все
       изменения в переводах перезаписывается содержимым PO файлов. Данный
       инструмент нельзя использовать для преобразования существующего
       перевода в систему po4a. Для прешения этих задач смотрите
       po4a-gettextize(1).

СИНТАКСИС ФАЙЛА НАСТРОЙКИ

       (Обязательным) Параметром является путь к файлу настроек для
       использования.  Его синтаксис прост и максимально близок к синтаксису
       файлу настроек используемого в проекте intl-tools.

       Комментарии в этом файле помечаются символом '#'. Помеченный таким
       образом текст, до конца строки, является комментарием. Строка может
       быть продолжена с помощью перехода на новую строку. Все не пустые
       строки должны начинаться с команды [], следующей за ее аргументами.
       (звучит сложно, но на самом деле довольно просто, я надеюсь ;)

   Определение шаблона языков
       Примечание: рекомендуется использовать [po_directory], а не
       [po4a_langs] и [po4a_paths].  См. раздел Autodetection of the paths and
       languages (автоопределение путей и языков) ниже.

       Эта дополнительная команда может упростить весь файл настройки и
       сделать его более масштабируемым. Вам необходимо указать список языков
       на которые вы хотите перевести документы. Это довольно просто:

        [po4a_langs] fr de

       Это позволит вам расширить $lang на все определенные языки в оставшейся
       части файла настройки.

   Определение путей к входным файлам переводчика
       Примечание: рекомендуется использовать [po_directory], а не
       [po4a_langs] и [po4a_paths].  См. раздел Autodetection of the paths and
       languages (автоопределение путей и языков) ниже.

       Сначала вам необходимо определить где находятся входные файлы
       переводчика (например, файлы, используемые переводчиками при выполнении
       работы). Это можно сделать с помощью следующей команды:

        [po4a_paths] doc/l10n/project.doc.pot \
                     fr:doc/l10n/fr.po de:doc/l10n/de.po

       Вызывается команда [po4a_paths]. Первым аргументов которой является
       путь к используемому POT файлу. Следующие аргументы носят говорящие
       сами за себя названия:

           <lang>:<path to the PO file for this lang>

       Если вы определили шаблон языков, вы можете переписать строку выше
       следующим образом:

        [po4a_paths] doc/l10n/project.doc.pot $lang:doc/l10n/$lang.po

       Вы также можете использовать ссылку $master что бы сослаться на имя
       основного документа. В этом случае, po4a будет использовать раздельный
       режим (split mode): один POT и один PO (для каждого языка) файлы будут
       созданы для каждого документа определенного в файле настроек.  См.
       раздел Split mode.

        [po4a_paths] doc/$master/$master.pot $lang:doc/$master/$lang.po

   Автоопределение  путей и языков
       Можно использовать другую команду для того чтобы задать имя каталога в
       котором находятся PO и POT файлы. При ее использовании po4a будет
       обнаруживать POT файлы только в соответствии с шаблоном *.pot из
       указанного каталога. po4a также будет использовать список *.po файлов
       для определения списка языков (путем удаления расширения). Эти языки
       будут использованы для замены переменной $lang в оставшейся части
       конфигурационного файла.

       Эта команда не должна использоваться вместе с командами [po4a_langs]
       или [po4a_paths].

       При использовании этой команды, вы должны создать пустой POT файл при
       первом вызове po4a чтобы указать имя POT файла.

        [po_directory] po4a/po/

   Определение документов для преревода
       Теперь, вы должны указать, какие документы переведены, их формат, и
       местоположение переводов. Это можно сделать следующим образом:

        [type: sgml] doc/my_stuff.sgml fr:doc/fr/mon_truc.sgml \
                     de:doc/de/mein_cram.sgml
        [type: pod] script fr:doc/fr/script.1 de:doc/de/script.1 \
                    add_fr:doc/l10n/script.fr.add

       Это должно быть понятно само по себе. Заметим, что во втором случае
       doc/l10n/script.fr.add является дополнением, предназначенным для
       добавления к французской версии этого документа. Пожалуйста, прочитайте
       po4a(7) чтобы узнать подробней о дополнениях.

       Более детально, формат имеет вид:

        [type: <format>] <master_doc> (<lang>:<localized_doc>)* \
                         (add_<lang>:<modifier>*<addendum_path>)*

       Если модификатор отсутствует, addendum_path является путем к
       дополнению. Модификаторами являются

       ? Включить addendum_path если этот файл не существует, в противном
         случае ничего не делать.

       @ addendum_path is not a regular addendum but a file containg a list of
         addenda, one by line.  Each addendum may be preceded by modifiers.

       ! addendum_path отбрасывается, он не загружается и не будет загружаться
         никакими будущими дополнениями.

       Если вы определили шаблон языков, вы можете переписать строку выше
       следующим образом:

        [type: pod] script $lang:doc/$lang/script.1 \
                    add_fr:doc/l10n/script.fr.add

       Если бы все языки имели дополнения с подобными путями, можно было бы
       написать что-то вроде:

        [type: pod] script $lang:doc/$lang/script.1 \
                    add_$lang:doc/l10n/script.$lang.add

   Определение параметров для модулей
       po4a принимает параметры, которые будут переданы в модуль. Эти
       параметры, специфичные для модуля и задаются помощью переключателя .

       Если вам необходимы определенные настройки для одного документа,
       который вы хотите переводить, то их можно определить в файле настроек.
       Настройки определяются с помощью opt ключевого слова. Аргумент opt
       ключевого слова должен быть заключен в двойные кавычки, если содержит
       пробелы (например, если определены несколько параметров или параметр в
       аргументом). Вы можете также задать параметры, которые будут
       применяться только к определенному языку с помощью ключевого слова
       opt_lang.

       Ниже приведен пример:
        [type:man] data-05/test2_man.1 $lang:tmp/test2_man.$lang.1 \
                   opt:"-k 75" opt_it:"-L UTF-8" opt_fr:-v

       Аргументы могут содержать пробелы если вы используете одинарные или
       двойные кавычки:
        [po4a_alias:man] man opt:"-o \"mdoc=NAME,SEE ALSO\" -k 20"

       Если вы хотите использовать одни и те же параметры для нескольких
       документов, можете использовать псевдоним (см. раздел Specifying
       aliases ниже по тексту).

       Вы также можете установить параметры для всех документов, указанных в
       файле настроек:
        [options] opt:"..." opt_fr:"..."

   Определение ссылок (aliases)
       Если вы вынуждены указывать одни и те же параметры для большого
       количества файлов, то может возникнуть необходимость в определении
       псевдонима для модуля. Это можно сделать следующим образом:

       [po4a_alias:test] man opt:"-k 21" opt_es:"-o debug=splitargs"

       Таки образом определяется псевдоним модуля с именем test, основанный на
       модуле man, с ключем -k 21 для всех языков и с ключем -o
       debug=splitargs только для перевода на Испанский.

       Данный псевдоним модуля можно затем использовать как обычный модуль:

       [type:test] data-05/test2_man.1 $lang:tmp/test2_man.$lang.1 \
                   opt_it:"-L UTF-8" opt_fr:-v

       Обратите внимание, что вы можете указать дополнительные параметры для
       каждого файла.

   Раздельный режим
       Раздельный режим используется при использовании $master в строке
       [po4a_paths].

       При использовании раздельного режима используются временный большой POT
       и временный большие PO файлы. Это позволяет распределить переводы во
       все PO файлы.

       Если два PO файла имеют различные переводы для одной и той же строки,
       po4a будет помечать данные строчки как неточно переведенные и потребует
       подтвердить переводы во всех PO файлах, содержащих данную строку.
       Затем, когда переводчик обновит перевод и снимет пометку неточно
       переведенный с одного PO файла, перевод данной строки будет обновлен в
       каждом PO файле автоматически.

ПАРАМЕТРЫ

       -k, --keep
           Минимальное пороговое значение, в процентах, для сохранения
           (например, для записи) результирующего файла (по умолчанию: 80). То
           есть, по умолчанию, для того чтобы файл был записан, необходимо
           перевести 80%.

       -h, --help
           Отобразить короткую справку.

       -M, --master-charset
           Кодировка файла, содержащего переводимый документ. Обратите
           внимание на то, что все основные документы должны использовать одну
           и ту же кодировку, пока. Это известное ограничение, и мы работаем
           над его устранением.

       -L, --localized-charset
           Кодировка файла, содержащего переведенный документ. Обратите
           внимание на то, что все переведенные документы должны иметь одну и
           ту же кодировку, пока. Это известное ограничение, и мы работаем над
           его устранением.

       -A, --addendum-charset
           Кодировка дополнение. Обратите внимание, что все дополнения должны
           иметь одну и ту же кодировку.

       -V, --version
           Отобразить версию и завершить работу скрипта.

       -v, --verbose
           Увеличить количество выводимой пояснительной информации.

       -q, --quiet
           Уменьшить количество выводимой пояснительной информации.

       -d, --debug
           Вывод отладочной информации.

       -o, --option
           Дополнительный параметр(ы) для перехода в формат плагина.
           Определяйте каждый параметр в формате  'name=value'. См.
           документацию на каждый плагин для получения дополнительной
           информации о возможных параметрах и их значениях.

       -f, --force
           Всегда создавать POT и PO файлы, даже если po4a считает, что это не
           требуется.

           По умолчанию ведет (когда параметр --force не установлен) себя
           следующим образом:

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

               Кроме того, перевод обновляется (regenerated) только если его
               главный документ, PO файл, один из его дополнений или файл
               настроек были недавно обновлены. Чтобы избежать попыток
               обновления переводов, которые не преодолели порогового значения
               (см. --keep), можно создать файл с расширением .po4a-stamp (см.
               --stamp).

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

           PO файлы всегда обновляются из POT файлов с помощью msgmerge -U.

       --stamp
           Указывает po4a создать отпечаток файлов, если перевод не создается,
           поскольку он не преодалел порогового значения. Отпечаток файла
           буден называться также как и переводимый документ, с расширением
           .po4a-stamp.

           Примечание: Параметр только активирует создание файлов .po4a-stamp.
           Файлы отпечатков используются всегда если они существуют, и
           удаляются с помощью --rm-translations или когда файл полностью
           переведен.

       --no-translations
           Не регенерировать переведенные документы, только обновлять POT и PO
           файлы.

       --rm-translations
           Удалить переведенные файлы (подразумевается --no-translations).

       --no-backups
           This flag does nothing since 0.41, and may be removed in later
           releases.

       --rm-backups
           This flag does nothing since 0.41, and may be removed in later
           releases.

       --translate-only translated-file
           Translate only the specified file.  It may be useful to speed up
           processing if configuration file contains a lot of files.  Note
           that this option does not update PO and POT files.  This option can
           be used multiple times.

       --variable var=value
           Определить переменную которая будет использовано в файле настроек
           po4a. Каждое появление $(var) будет замещено на значение value.
           Данный параметр можно использовать несколько раз.

       --msgid-bugs-address email@address
           Установить адрес для сообщения об msgid ошибках. По умолчанию,
           созданные POT файлы не имеют поля Report-Msgid-Bugs-To.

       --copyright-holder string
           Указать владельца авторских прав в заголовке POT файла. Значение по
           умолчанию "Free Software Foundation, Inc."

       --package-name string
           Указать имя пакета в заголовке POT файла. Значение по умолчанию
           "PACKAGE".

       --package-version string
           Указать версию пакета в заголовке POT файла. Значение по умолчанию
           "VERSION".

       --msgmerge-opt options
           Дополнительные настройки для msgmerge.

           Примечание: $lang будет распространен на текущий язык.

       --no-previous
           Данный параметр удалает параметр --previous из настроек msgmerge.
           Что позволяет использовать версии gettext более ранние чем 0.16.

       --previous
           Данный параметр добавляет --previous к настройкам msgmerge. Что
           требует gettext версии 0.16 или выше, и активирован по умолчанию.

       --srcdir SRCDIR
           Указывает базовый каталог для всех входных документов указанных в
           файле настроек po4a.

       --destdir DESTDIR
           Указывает базовый каталог для всех выходных документов указанных в
           файле настроек po4a.

   EXAMPLE
       Let's assume you maintain a program named foo which has a man page
       man/foo.1 which naturally is maintained in English only. Now you as the
       upstream or downstream maintainer want to create and maintain the
       translation.  First you need to create the POT file necessary to send
       to translators using po4a-gettextize(1).

       So for our case we would call

        cd man && po4a-gettextize -f man -m foo.1 -p foo.pot

       You would then send this file to the appropriate language lists or
       offer it for download somewhere on your website.

       Now let's assume you received three translations before your next
       release: de.po (including an addendum de.add), sv.po and pt.po.  Since
       you don't want to change your Makefile(s) whenever a new translation
       arrives you can use po4a with an appropriate configuration file in your
       Makefile.  Let's call it po4a.cfg. In our example it would look like
       the following:

        [po_directory] man/po4a/po/

        [type: man] man/foo.1 $lang:man/translated/$lang/foo.1 \
                   add_$lang:?man/po4a/add_$lang/$lang.add opt:"-k 80"

       In this example we assume that your generated man pages (and all PO and
       add files) should be stored in man/translated/$lang/ (respectively in
       man/po4a/po/ and man/po4a/add_$lang/) below the current directory. In
       our example the man/po4a/po/ directory would include de.po, pt.po and
       sv.po, and the man/po4a/add_de/ directory would include de.add.

       Note the use of the modifier ? as only the German translation (de.po)
       is accompanied by an addendum.

       To actually build the translated man pages you would then (once!) add
       the following line in the build target of the appropriate Makefile:

               po4a po4a.cfg

       Once this is set up you don't need to touch the Makefile when a new
       translation arrives, i.e. if the French team sends you fr.po and fr.add
       then you simply drop them respectively in man/po4a/po/ and
       man/po4a/add_fr/ and the next time the programm is build the French
       translation is automatically build as well in man/translated/fr/.

       Note that you still need an appropriate target to install localized
       manual pages with English ones.

       Finally if you do not store generated files into your version control
       system, you will need a line in your clean target as well:
               -rm -rf man/translated

НЕДОСТАТКИ

       ·   Дублирует некоторый код в программах po4a-*.

       Заплатки (patch) приветствуются ;)

СМ. ТАКЖЕ

       po4a(7), po4a-gettextize(1), po4a-updatepo(1), po4a-translate(1),
       po4a-normalize(1), po4a-build(1), po4a-build.conf(5).

АВТОРЫ

        Denis Barbier <barbier@linuxfr.org>
        Nicolas François <nicolas.francois@centraliens.net>
        Martin Quinson (mquinson#debian.org)

АВТОРСКИЕ ПРАВА И ЛИЦЕНЗИИ

       Copyright 2002-2010 by SPI, inc.

       This program is free software; you may redistribute it and/or modify it
       under the terms of GPL (see the COPYING file).