.\" Automatically generated by Pod::Man 4.10 (Pod::Simple 3.35) .\" .\" 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 "2018-11-20" "" "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 .SH "NOME" .IX Header "NOME" debconf-gettextize \- extrair traduções de templates debconf para ficheiros \&\s-1PO\s0 .SH "SINOPSE" .IX Header "SINOPSE" \&\fBdebconf-gettextize\fR [\fB\-v\fR] [\fB\-h\fR] [\fB\-\-podir=\f(BI\s-1DIR\s0\fB\fR] [\fB\-\-choices\fR] [\fB\-\-merge\fR] \fImaster\fR [\fImaster\fR ...] .SH "DESCRIÇÃO" .IX Header "DESCRIÇÃO" Os ficheiros \fI/var/lib/dpkg/info/*.templates\fR lidos pelo debconf contêm texto em Inglês e traduções no mesmo ficheiro. Mas nos pacotes fonte, as traduções são geridas em ficheiros separados para ajudar os tradutores. Na implementação inicial, um ficheiro mestre \fItemplates\fR continha apenas o texto em Inglês, e os ficheiros \fItemplates.\fIxx\fI\fR continham as mensagens originais e as mensagens traduzidas para o idioma \fIxx\fR. O programa \&\fBdebconf-mergetemplate\fR juntava os ficheiros mestre e traduzidos. .PP A nova implementação com \f(CW\*(C`po\-debconf\*(C'\fR é baseada em \f(CW\*(C`gettext\*(C'\fR. Os maintainers marcam os campos a traduzir acrescentando no seu inicio um underscore, as mensagens em Inglês são automaticamente extraídas para um ficheiro \s-1POT,\s0 os tradutores trabalham em ficheiros \s-1PO\s0 normais, e o \&\fBpo2debconf\fR gera um ficheiro combinado de templates com a mesma estrutura. .PP O programa \fBdebconf-gettextize\fR foi desenvolvido inicialmente para ajudar a migrar para a nova implementação. .IP "\(bu" 2 Lê uma lista de ficheiros mestre e as suas traduções associadas, e gera ficheiros \fIpo/*.po\fR para cada idioma contendo as mensagens traduzidas. .IP "\(bu" 2 Cada ficheiro de entrada recebe um sufixo \f(CW\*(C`.old\*(C'\fR, e um novo ficheiro mestre sobrescreve o antigo; é idêntico ao ficheiro mestre anterior excepto que acrescentado no inicio um underscore aos campos a traduzir. Os developers podem então escolher quais os campos em que os tradutores têm de trabalhar e quais são evitados porque os seus valores não dependem de definições locais. .IP "\(bu" 2 Também é criado um ficheiro \fIpo/POTFILES.in\fR, que contém a lista de ficheiros \fItemplates\fR que o \fBdebconf-updatepo\fR tem de processar. .PP Normalmente o programa \fBdebconf-gettextize\fR tem de ser executado apenas uma vez quando se transforma da primeira implementação para o formato \&\f(CW\*(C`po\-debconf\*(C'\fR, mas também pode ser utilizado posteriormente para transformar um campo \f(CW\*(C`_Choices\*(C'\fR em \f(CW\*(C`_\|_Choices\*(C'\fR (ou vice-versa) sem perder traduções, quando utilizar a flag \f(CW\*(C`\-\-merge\*(C'\fR (juntamente com \f(CW\*(C`\-\-choices\*(C'\fR, ou não). O template desejado que contém os campos \f(CW\*(C`_Choices\*(C'\fR ou \f(CW\*(C`_\|_Choices\*(C'\fR a modificar tem de ser copiado para um ficheiro template temporário, que é passado, como argumento, ao \fBdebconf-gettextize\fR . De seguida são executados os seguintes passos: .IP "1." 3 O \fBpo2debconf\fR é executado neste ficheiro template para gerar um ficheiro templates traduzido. .IP "2." 3 O ficheiro templates traduzido é processado conforme é descrito acima e são gerados os ficheiros \s-1PO.\s0 .IP "3." 3 Os ficheiros \s-1PO\s0 acabados de criar são combinados com os existentes. .PP Quando os ficheiros \s-1PO\s0 são combinados, os campos \f(CW\*(C`_Choices\*(C'\fR têm de ser substituídos por \f(CW\*(C`_\|_Choices\*(C'\fR (ou vice-versa) no ficheiro templates original antes de executar \fBdebconf-updatepo\fR, caso contrário as novas traduções serão marcadas como 'fuzzy'. .SH "OPÇÕES" .IX Header "OPÇÕES" .IP "\fB\-h\fR, \fB\-\-help\fR" 4 .IX Item "-h, --help" Mostrar um sumário de utilização para o programa e sair. .IP "\fB\-v\fR, \fB\-\-verbose\fR" 4 .IX Item "-v, --verbose" Processar em modo detalhado. .IP "\fB\-\-podir=\f(BI\s-1DIR\s0\fB\fR" 4 .IX Item "--podir=DIR" Definir o directório para os ficheiros \s-1PO.\s0 O pré\-definido é procurar ficheiros \s-1PO\s0 no sub\-directório \fIpo\fR por baixo da localização do primeiro ficheiro mestre. .IP "\fB\-\-choices\fR" 4 .IX Item "--choices" Por omissão, o \fBdebconf-gettextize\fR substitui os campos \f(CW\*(C`Choices\*(C'\fR por \&\f(CW\*(C`_Choices\*(C'\fR. Com esta opção são sobrescritos, em vez disso, os campos \&\f(CW\*(C`_\|_Choices\*(C'\fR. .IP "\fB\-\-merge\fR" 4 .IX Item "--merge" Quando for esta opção for definida, as mensagens são combinadas com os ficheiros \s-1PO\s0 existentes. Os ficheiros templates e \fIpo/POTFILES.in\fR não são modificados. .SH "AVISOS" .IX Header "AVISOS" O campo \f(CW\*(C`Default\*(C'\fR é especial quando o tipo de template for \f(CW\*(C`Select\*(C'\fR ou \&\f(CW\*(C`Multiselect\*(C'\fR, porque tem de ser escolhido um valor entre a lista de escolhas em \fBInglês\fR, mesmo para valores traduzidos. Normalmente este campo não pode ser alterado, mas em raras circunstâncias os valores traduzidos fazem sentido (e.g. escolher o idioma de uma aplicação). De modo a deixar os tradutores saberem que este campo traduzido \f(CW\*(C`Default\*(C'\fR é especial, você tem de, por convenção, chama-lo de \f(CW\*(C`_DefaultChoice\*(C'\fR em vez de \f(CW\*(C`_Default\*(C'\fR. .SH "VEJA TAMBÉM" .IX Header "VEJA TAMBÉM" \&\fBdebconf\-updatepo\fR\|(1), \fBpo2debconf\fR\|(1), \fBdebconf\-devel\fR\|(7), \&\fBpo\-debconf\fR\|(7). .SH "AUTORES" .IX Header "AUTORES" .Vb 2 \& Denis Barbier \& Martin Quinson .Ve