.\" Automatically generated by Pod::Man 4.14 (Pod::Simple 3.40) .\" .\" Standard preamble: .\" ======================================================================== .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. .de Vb \" Begin verbatim text .ft CW .nf .ne \\$1 .. .de Ve \" End verbatim text .ft R .fi .. .\" Set up some character translations and predefined strings. \*(-- will .\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left .\" double quote, and \*(R" will give a right double quote. \*(C+ will .\" give a nicer C++. Capital omega is used to do unbreakable dashes and .\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, .\" nothing in troff, for use with C<>. .tr \(*W- .ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' .ie n \{\ . ds -- \(*W- . ds PI pi . if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch . if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch . ds L" "" . ds R" "" . ds C` "" . ds C' "" 'br\} .el\{\ . ds -- \|\(em\| . ds PI \(*p . ds L" `` . ds R" '' . ds C` . ds C' 'br\} .\" .\" Escape single quotes in literal strings from groff's Unicode transform. .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" .\" If the F register is >0, we'll generate index entries on stderr for .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. .\" .\" Avoid warning from groff about undefined register 'F'. .de IX .. .nr rF 0 .if \n(.g .if rF .nr rF 1 .if (\n(rF:(\n(.g==0)) \{\ . if \nF \{\ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . if !\nF==2 \{\ . nr % 0 . nr F 2 . \} . \} .\} .rr rF .\" ======================================================================== .\" .IX Title "DEBCONF-GETTEXTIZE 1" .TH DEBCONF-GETTEXTIZE 1 "2020-12-30" "" "po-debconf" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .Vb 2 \& Translation: \& debian\-l10n\-russian@lists.debian.org \& \& Yuri Kozlov , 2005, 2006 .Ve .SH "НАЗВАНИЕ" .IX Header "НАЗВАНИЕ" debconf-gettextize \*(-- создаёт PO\-файлы из шаблонов debconf для последующего перевода .SH "СИНТАКСИС" .IX Header "СИНТАКСИС" \&\fBdebconf-gettextize\fR [\fB\-v\fR] [\fB\-h\fR] [\fB\-\-podir=\f(BIКАТАЛОГ\fB\fR] [\fB\-\-choices\fR] [\fB\-\-merge\fR] \fIмастер_файл\fR [\fIмастер_файл\fR ...] .SH "ОПИСАНИЕ" .IX Header "ОПИСАНИЕ" В файлах \fI/var/lib/dpkg/info/*.templates\fR, которые читает debconf, содержится и английский текст и его перевод. Но в пакетах с исходными текстами переводы выделены в отдельные файлы для простоты работы переводчиков. В первоначальной реализации мастер\-файл \fItemplates\fR содержал только английский текст, а файлы \fItemplates.\fIxx\fI\fR \*(-- оригинальные и переведённые строки для языка \fIxx\fR. Программа \fBdebconf-mergetemplate\fR объединяла мастер\-файл и переведённые шаблоны. .PP Новая реализация \f(CW\*(C`po\-debconf\*(C'\fR основывается на использовании \&\f(CW\*(C`gettext\*(C'\fR. Сопровождающие помечают переводимые поля, предваряя их символом подчёркивания, строки с английским текстом автоматически выделяются в POT\-файл, переводчики работают с обычными PO\-файлами, а программа \&\fBpo2debconf\fR генерирует объединённый файл шаблонов прежней структуры. .PP Программа \fBdebconf-gettextize\fR изначально разрабатывалась для помощи в в переходе к новой реализации. .IP "\(bu" 2 Она читает список мастер\-файлов и связанные с ними переводы, а затем генерирует файлы \fIpo/*.po\fR для каждого языка, для которого есть переведённые строки. .IP "\(bu" 2 Каждому входному файлу добавляется суффикс \f(CW\*(C`.old\*(C'\fR, и новый мастер\-файл перезаписывается на его место; он идентичен предыдущему мастер\-файлу, за исключением того, что поля для перевода начинаются с символа подчёркивания. Таким образом разработчики могут задать, какие поля должны иметь перевод, а какие нет, так как их значения не зависят от локали. .IP "\(bu" 2 Также создаётся файл \fIpo/POTFILES.in\fR, который содержит список \fItemplates\fR файлов для обработки \fBdebconf-updatepo\fR. .PP Обычно, программа \fBdebconf-gettextize\fR должна запускаться только один раз для преобразования из формата первоначальной реализации в \f(CW\*(C`po\-debconf\*(C'\fR формат, но она также может быть использована после для преобразования поля \&\f(CW\*(C`_Choices\*(C'\fR в \f(CW\*(C`_\|_Choices\*(C'\fR (или наоборот) без потери переводов, если используется флаг \f(CW\*(C`\-\-merge\*(C'\fR (вместе с \f(CW\*(C`\-\-choices\*(C'\fR или нет). Нужный шаблон, содержащий изменяемые поля \f(CW\*(C`_Choices\*(C'\fR или \f(CW\*(C`_\|_Choices\*(C'\fR, будет скопирован в временный файл шаблона, который будет передан как параметр для \&\fBdebconf-gettextize\fR. Затем будет выполнено следующее: .IP "1." 3 Для создания файла шаблонов с переводом будет запущена \fBpo2debconf\fR с указанием этого файла шаблонов в параметре. .IP "2." 3 Файл шаблонов с переводом будет обработан как описано выше и будут созданы PO\-файлы. .IP "3." 3 Эти созданные \s-1PO\s0 файлы объединяются с существующими. .PP При объединении PO\-файлов перед запуском \fBdebconf-updatepo\fR поля \&\f(CW\*(C`_Choices\*(C'\fR будут заменены на \f(CW\*(C`_\|_Choices\*(C'\fR (или наоборот) из первоначального файла шаблонов, иначе новые переводы будут помечены как неточные (fuzzy). .SH "ПАРАМЕТРЫ" .IX Header "ПАРАМЕТРЫ" .IP "\fB\-h\fR, \fB\-\-help\fR" 4 .IX Item "-h, --help" Показать справку по использованию и завершить работу. .IP "\fB\-v\fR, \fB\-\-verbose\fR" 4 .IX Item "-v, --verbose" Выводить подробности работы. .IP "\fB\-\-podir=\f(BIКАТ\fB\fR" 4 .IX Item "--podir=КАТ" Указать каталог PO\-файлов. По умолчанию, PO\-файлы ищутся в подкаталоге \&\fIpo\fR, который находится ниже местоположения первого мастер\-файла. .IP "\fB\-\-choices\fR" 4 .IX Item "--choices" По умолчанию, \fBdebconf-gettextize\fR заменяет поля \f(CW\*(C`Choices\*(C'\fR на \&\f(CW\*(C`_Choices\*(C'\fR. Если указан этот флаг, будут использоваться поля \f(CW\*(C`_\|_Choices\*(C'\fR. .IP "\fB\-\-merge\fR" 4 .IX Item "--merge" Если этот флаг установлен, то строки добавляются к существующим PO\-файлам. Файлы шаблонов и \fIpo/POTFILES.in\fR не изменяются. .SH "ПРЕДОСТЕРЕЖЕНИЯ" .IX Header "ПРЕДОСТЕРЕЖЕНИЯ" Поле \f(CW\*(C`Default\*(C'\fR является специальным, если типом шаблона являются \f(CW\*(C`Select\*(C'\fR или \f(CW\*(C`Multiselect\*(C'\fR, так как значение выбирается из списка \fBEnglish\fR, даже для локализованных значений. Обычно, это поле изменять не требуется, но иногда локализованные значения более выразительны (например, для выбора языка по умолчанию для приложения). Для того, чтобы указать переводчикам, что локализованное поле \f(CW\*(C`Default\*(C'\fR является специальным, по соглашению, вы должны назвать его \f(CW\*(C`_DefaultChoice\*(C'\fR, а не \f(CW\*(C`_Default\*(C'\fR. .SH "СМОТРИТЕ ТАКЖЕ" .IX Header "СМОТРИТЕ ТАКЖЕ" \&\fBdebconf\-updatepo\fR\|(1), \fBpo2debconf\fR\|(1), \fBdebconf\-devel\fR\|(7), \&\fBpo\-debconf\fR\|(7). .SH "АВТОРЫ" .IX Header "АВТОРЫ" .Vb 2 \& Дэнис Барбье (Denis Barbier) \& Мартин Квинсон (Martin Quinson) .Ve