Translation:
debian-l10n-russian@lists.debian.org
Yuri Kozlov <kozlov.y@gmail.com>, 2005, 2006
НАЗВАНИЕ¶
debconf-gettextize -- создаёт
PO-файлы из
шаблонов debconf
для
последующего
перевода
СИНТАКСИС¶
debconf-gettextize [
-v] [
-h]
[
--podir=КАТАЛОГ
] [
--choices] [
--merge]
мастер_файл
[
мастер_файл
...]
ОПИСАНИЕ¶
В файлах
/var/lib/dpkg/info/*.templates,
которые
читает debconf,
содержится
и
английский
текст и его
перевод. Но
в пакетах с
исходными
текстами
переводы
выделены в
отдельные
файлы для
простоты
работы
переводчиков.
В
первоначальной
реализации
мастер-файл
templates
содержал
только
английский
текст, а
файлы
templates.xx --
оригинальные
и
переведённые
строки для
языка
xx.
Программа
debconf-mergetemplate
объединяла
мастер-файл
и
переведённые
шаблоны.
Новая
реализация
"po-debconf"
основывается
на
использовании
"gettext".
Сопровождающие
помечают
переводимые
поля,
предваряя
их
символом
подчёркивания,
строки с
английским
текстом
автоматически
выделяются
в POT-файл,
переводчики
работают с
обычными
PO-файлами, а
программа
po2debconf
генерирует
объединённый
файл
шаблонов
прежней
структуры.
Программа
debconf-gettextize
изначально
разрабатывалась
для помощи
в в
переходе к
новой
реализации.
- •
- Она читает
список
мастер-файлов
и
связанные
с ними
переводы, а
затем
генерирует
файлы po/*.po
для
каждого
языка, для
которого
есть
переведённые
строки.
- •
- Каждому
входному
файлу
добавляется
суффикс ".old",
и новый
мастер-файл
перезаписывается
на его
место; он
идентичен
предыдущему
мастер-файлу,
за
исключением
того, что
поля для
перевода
начинаются
с символа
подчёркивания.
Таким
образом
разработчики
могут
задать,
какие поля
должны
иметь
перевод, а
какие нет,
так как их
значения
не зависят
от локали.
- •
- Также
создаётся
файл po/POTFILES.in,
который
содержит
список templates
файлов для
обработки
debconf-updatepo.
Обычно,
программа
debconf-gettextize должна
запускаться
только
один раз
для
преобразования
из формата
первоначальной
реализации
в "po-debconf"
формат, но
она также
может быть
использована
после для
преобразования
поля "_Choices" в
"__Choices" (или
наоборот)
без потери
переводов,
если
используется
флаг "--merge"
(вместе с
"--choices" или нет).
Нужный
шаблон,
содержащий
изменяемые
поля "_Choices" или
"__Choices", будет
скопирован
в
временный
файл
шаблона,
который
будет
передан
как
параметр
для
debconf-gettextize.
Затем
будет
выполнено
следующее:
- 1.
- Для
создания
файла
шаблонов с
переводом
будет
запущена
po2debconf с
указанием
этого
файла
шаблонов в
параметре.
- 2.
- Файл
шаблонов с
переводом
будет
обработан
как
описано
выше и
будут
созданы
PO-файлы.
- 3.
- Эти
созданные
PO файлы
объединяются
с
существующими.
При
объединении
PO-файлов
перед
запуском
debconf-updatepo поля "_Choices"
будут
заменены
на "__Choices" (или
наоборот)
из
первоначального
файла
шаблонов,
иначе
новые
переводы
будут
помечены
как
неточные (fuzzy).
ПАРАМЕТРЫ¶
- -h, --help
- Показать
справку по
использованию
и
завершить
работу.
- -v, --verbose
- Выводить
подробности
работы.
- --podir=КАТ
- Указать
каталог
PO-файлов. По
умолчанию,
PO-файлы
ищутся в
подкаталоге
po, который
находится
ниже
местоположения
первого
мастер-файла.
- --choices
- По
умолчанию,
debconf-gettextize
заменяет
поля "Choices" на
"_Choices". Если
указан
этот флаг,
будут
использоваться
поля "__Choices".
- --merge
- Если этот
флаг
установлен,
то строки
добавляются
к
существующим
PO-файлам.
Файлы
шаблонов и
po/POTFILES.in не
изменяются.
ПРЕДОСТЕРЕЖЕНИЯ¶
Поле "Default"
является
специальным,
если типом
шаблона
являются
"Select" или "Multiselect",
так как
значение
выбирается
из списка
English, даже для
локализованных
значений.
Обычно, это
поле
изменять
не
требуется,
но иногда
локализованные
значения
более
выразительны
(например,
для выбора
языка по
умолчанию
для
приложения).
Для того,
чтобы
указать
переводчикам,
что
локализованное
поле "Default"
является
специальным,
по
соглашению,
вы должны
назвать
его "_DefaultChoice", а не
"_Default".
СМОТРИТЕ ТАКЖЕ¶
debconf-updatepo(1),
po2debconf(1),
debconf-devel(7),
po-debconf(7).
АВТОРЫ¶
Дэнис Барбье (Denis Barbier) <barbier@linuxfr.org>
Мартин Квинсон (Martin Quinson) <martin.quinson@ens-lyon.fr>