.\" 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 "PO4A 1p" .TH PO4A 1p "2018-12-09" "Ferramentas Po4a" "Ferramentas Po4a" .\" 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" po4a \- atualizar ambos os ficheiros \s-1PO\s0 e documentos traduzidos numa só vez .SH "SINOPSE" .IX Header "SINOPSE" \&\fBpo4a\fR [\fIoptions\fR] \fIconfig_file\fR .SH "DESCRIÇÃO" .IX Header "DESCRIÇÃO" O objetivo do projeto po4a (\s-1PO\s0 para tudo) é facilitar traduções (e mais interessante, a manutenção das traduções) usando ferramentas gettext em áreas onde eles não eram esperados como documentação. .PP O programa \fBpo4a\fR é útil se você quiser evitar a chamada \&\fBpo4a\-gettextize\fR\|(1), \fBpo4a\-updatepo\fR\|(1), e \fBpo4a\-translate\fR\|(1) no complexo Makefiles quando você tem vários ficheiros para traduzir, de formato diferente, ou a necessidade de especificar diferentes opções para diferentes documentos. .SH "Tabela de conteúdo" .IX Header "Tabela de conteúdo" Este documento está organizado da seguinte forma: .SS "DESCRIÇÃO" .IX Subsection "DESCRIÇÃO" .SS "INTRODUÇÃO" .IX Subsection "INTRODUÇÃO" .SS "\s-1SINTAXE DE FICHEIROS DE\s0 CONFIGURAÇÃO" .IX Subsection "SINTAXE DE FICHEIROS DE CONFIGURAÇÃO" \fIEspecificando as línguas modelo\fR .IX Subsection "Especificando as línguas modelo" .PP \fIEspecificando o caminho para entradas do tradutor\fR .IX Subsection "Especificando o caminho para entradas do tradutor" .PP \fIDeteção automática dos caminhos e linguagens\fR .IX Subsection "Deteção automática dos caminhos e linguagens" .PP \fIEspecificando os documentos para traduzir\fR .IX Subsection "Especificando os documentos para traduzir" .PP \fIEspecificar opções para os módulos\fR .IX Subsection "Especificar opções para os módulos" .PP \fIEspecificando aliases\fR .IX Subsection "Especificando aliases" .PP \fIModo de divisão\fR .IX Subsection "Modo de divisão" .SS "OPÇÕES" .IX Subsection "OPÇÕES" .SS "\s-1EXEMPLO\s0" .IX Subsection "EXEMPLO" .SS "DEFICIÊNCIAS" .IX Subsection "DEFICIÊNCIAS" .SS "\s-1VER\s0 TAMBÉM" .IX Subsection "VER TAMBÉM" .SS "\s-1AUTORES\s0" .IX Subsection "AUTORES" .SS "\s-1DIREITOS DE AUTOR E\s0 LICENÇA" .IX Subsection "DIREITOS DE AUTOR E LICENÇA" \fI\fR .IX Subsection "" .SH "INTRODUÇÃO" .IX Header "INTRODUÇÃO" O programa \fBpo4a\fR é responsável pela atualização tanto dos ficheiros \s-1PO\s0 (para sincronizá\-los com os documentos originais) como dos documentos traduzidos (para sincronizá\-los para os ficheiros \s-1PO\s0). O ponto principal é tornar mais fácil o uso do po4a sem ter que se lembrar das opções de linha de comando. .PP Ele também permite que você misture os documentos tendo formatos diferentes no mesmo ficheiro \s-1POT\s0 para que possa ter apenas um ficheiro por projeto. .PP Este comportamento pode ser imitado por outras ferramentas da suite po4a (por exemplo com Makefiles), mas é um pouco difícil de fazer, e cansativo refazer o mesmo complicado Makefiles para cada projeto usando po4a. .PP O fluxo de dados pode ser resumido como a seguir. Quaisquer alterações ao documento principal será refletida nos ficheiros \s-1PO,\s0 e todas as alterações aos ficheiros \s-1PO\s0 (manual ou causada por etapa anterior) será refletido nos documentos de tradução. .PP Normal case without specifying \fBpot_in\fR: .PP .Vb 1 \& <\- source files \->|<\-\-\-\-\-\-\-\-\- build results \-\-\-\-\-\-\-\-\-\-\-\-\-\-\-> \& \& addendum \-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-+ \& | \& master document \-\-+\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-+ | \& V +\-\-+\-\-> translations \& old PO files \-\-\-\-\-+\-\-> updated PO files + \& ^ | \& | V \& +<.....................+ \& (the updated PO files are manually \& copied to the source of the next \& release while manually updating \& the translation contents) .Ve .PP Special case with specifying \fBpot_in\fR: .PP .Vb 1 \& <\- source files \->|<\-\-\-\-\-\-\-\-\- build results \-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-> \& \& master document \-\-+\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-+ \& : | \& external : filtered | \& filtering ========X..> master | \& program document | \& | | \& V +\-\-> translations \& old PO files \-\-\-\-\-\-\-\-\-\-+\-\-> updated PO files + \& ^ | \& | V \& +<..........................+ \& (the updated PO files are manually \& copied to the source of the next \& release while manually updating \& the translation contents) .Ve .PP The dataflow cannot be reversed in this tool, and changes in translations are overwritten by the content of the \s-1PO\s0 files. As a matter of fact, this tool cannot be used to convert existing translations to the po4a system. For that task, please refer to \fBpo4a\-gettextize\fR\|(1). .SH "SINTAXE DE FICHEIROS DE CONFIGURAÇÃO" .IX Header "SINTAXE DE FICHEIROS DE CONFIGURAÇÃO" O argumento (obrigatório) é o caminho para o ficheiro de configuração a usar. A sua sintaxe pretende ser simples e perto dos ficheiros de configuração usados pelos projetos intl-tools. .PP Comentários nestes ficheiros são anotados pelo caratere '#'. Comenta tudo até ao fim da linha. As linhas podem ser continuadas por escapar do fim da linha. Todas as linhas não em branco devem começar com um comando [], seguido pelos seus argumentos. (parece difícil dizer desta maneira, mas é bastante fácil, espero ;) .SS "Especificando as línguas modelo" .IX Subsection "Especificando as línguas modelo" \&\fBNote:\fR Recomenda-se utilizar \fB[po_directory]\fR em vez de \fB[po4a_langs]\fR e \&\fB[po4a_paths]\fR. Ver secção \fBDetecção automática dos caminhos e linguagens\fR abaixo. .PP Este é um comando opcional que pode simplificar todo o ficheiro de configuração, e irá torná\-lo mais escalável. Você tem que especificar uma lista das línguas em que deseja traduzir os documentos. Isto é tão simples como: .PP .Vb 1 \& [po4a_langs] fr de .Ve .PP Isto irá permitir-lhe expandir \fB\f(CB$lang\fB\fR para todos os idiomas especificados no resto do ficheiro de configuração. .SS "Especificando o caminho para entradas do tradutor" .IX Subsection "Especificando o caminho para entradas do tradutor" \&\fBNote:\fR Recomenda-se utilizar \fB[po_directory]\fR em vez de \fB[po4a_langs]\fR e \&\fB[po4a_paths]\fR. Ver secção \fBDetecção automática dos caminhos e linguagens\fR abaixo. .PP Primeiro, você tem que especificar onde os ficheiros de entrada do tradutor (ou seja, os ficheiros utilizado pelos tradutores para fazer o seu trabalho) estão localizados. Isso pode ser feito por uma tal linha: .PP .Vb 2 \& [po4a_paths] doc/l10n/project.doc.pot \e \& fr:doc/l10n/fr.po de:doc/l10n/de.po .Ve .PP O comando é portanto \fB[po4a_paths]\fR. O primeiro argumento é o caminho para o ficheiro \s-1POT\s0 a usar. Todos os argumentos subsequentes são em forma auto-explicativa: .PP .Vb 1 \& : .Ve .PP Se você definiu as línguas de modelo, pode reescrever a linha acima desta forma: .PP .Vb 1 \& [po4a_paths] doc/l10n/project.doc.pot $lang:doc/l10n/$lang.po .Ve .PP Você também pode usar \fB\f(CB$master\fB\fR para se referir ao nome do documento. Neste caso, \fBpo4a\fR vai usar um modo de divisão: um \s-1POT\s0 e um \s-1PO\s0 (para cada idioma) será criado para cada documento especificado no ficheiro de configuração \&\fBpo4a\fR. Veja a secção \fBSplit mode\fR. .PP .Vb 1 \& [po4a_paths] doc/$master/$master.pot $lang:doc/$master/$lang.po .Ve .SS "Deteção automática dos caminhos e linguagens" .IX Subsection "Deteção automática dos caminhos e linguagens" Outro comando pode ser usado para especificar o nome de um diretório onde os ficheiros \s-1PO\s0 e \s-1POT\s0 estão localizados. Quando é usado, \fBpo4a\fR irá detectar o ficheiro \s-1POT\s0 como o único \fI*.pot\fR ficheiro do diretório especificado. \fBpo4a\fR também vai usar a lista de \fI*.po\fR ficheiros para definir a lista de idiomas (removendo para fora a extensão). Estas idiomas serão utilizados para a substituição da \fB\f(CB$lang\fB\fR variável no resto do ficheiro de configuração. .PP Este comando não deve ser usado em conjunto com os comandos \fB[po4a_langs]\fR ou \fB[po4a_paths]\fR. .PP Ao usar este comando, você tem que criar um ficheiro \s-1POT\s0 vazio na primeira invocação de \fBpo4a\fR para deixá\-lo saber o nome do ficheiro \s-1POT.\s0 .PP .Vb 1 \& [po_directory] po4a/po/ .Ve .SS "Especificando os documentos para traduzir" .IX Subsection "Especificando os documentos para traduzir" Agora você naturalmente tem que especificar que documentos são traduzidos, o seu formato, e onde colocar as traduções. Isso pode ser feita por tais linhas: .PP .Vb 7 \& [type: sgml] doc/my_stuff.sgml fr:doc/fr/mon_truc.sgml \e \& de:doc/de/mein_kram.sgml \& [type: pod] script fr:doc/fr/script.1 de:doc/de/script.1 \e \& add_fr:doc/l10n/script.fr.add \& [type: docbook] doc/script.xml fr:doc/fr/script.xml \e \& de:doc/de/script.xml \e \& pot_in:doc/script.filtered.xml .Ve .PP Isto deve ser também bastante auto-explicativo. Note-se que, no segundo caso, \fIdoc/l10n/script.fr.add\fR é uma adenda para adicionar à versão francesa deste documento. Por favor, consulte \fBpo4a\fR\|(7) para obter mais informações sobre adendas. .PP Mais formalmente, o formato é: .PP .Vb 3 \& [type: ] (:)* \e \& (pot_in:)? \e \& (add_:*)* .Ve .PP If \fBpot_in\fR is specified, \fIfiltered_master_doc\fR is used to create \s-1POT\s0 file instead of \fImaster_doc\fR. This feature allows user to create flexible ways to avoid contents which shouldn't be included in the \s-1PO\s0 files. Tools such as C preprocessor (\fBcpp\fR) or \s-1XSL\s0 Transformation utility (e.g., \fBxsltproc\fR) can be used to create the external filtering program and call it before invoking \fBpo4a\fR. .PP Se não houver um modificador, \fIaddendum_path\fR é um caminho para uma adenda. Modificadores são .IP "\fB?\fR" 2 .IX Item "?" Incluir \fIaddendum_path\fR se este ficheiro existir, caso contrário não fazer nada. .IP "\fB@\fR" 2 .IX Item "@" \&\fIaddendum_path\fR não é uma adenda regular, mas um ficheiro contendo uma lista de adendas, uma por linha. Cada adenda pode ser precedida de modificadores. .IP "\fB!\fR" 2 .IX Item "!" \&\fIaddendum_path\fR é descartado, não é carregado e não será carregado por qualquer especificação de adenda. .PP Se você definiu as línguas de modelo, pode reescrever a linha acima desta forma: .PP .Vb 2 \& [type: pod] script $lang:doc/$lang/script.1 \e \& add_fr:doc/l10n/script.fr.add .Ve .PP Se todos os idiomas tinham adendas com caminhos semelhantes, você também pode escrever algo como: .PP .Vb 2 \& [type: pod] script $lang:doc/$lang/script.1 \e \& add_$lang:doc/l10n/script.$lang.add .Ve .SS "Especificar opções para os módulos" .IX Subsection "Especificar opções para os módulos" \&\fBpo4a\fR aceita opções que serão passadas para o módulo. Estas opções são módulos específicos e são especificados com a troca \fB\-o\fR. .PP If you need a specific option for one of the documents you want to translate, you can also specify it in the configuration file. Options are introduced by the \fBopt\fR keyword. The argument of the \fBopt\fR keyword must be quoted with double quotes if it contains a space (e.g. if you specify multiple options, or an option with an argument). You can also specify options that will only apply to a specific language by using the \&\fBopt_\fR\fIlang\fR keyword. .PP Aqui está um exemplo: [type:man] t\-05\-config/test02_man.1 \f(CW$lang:tmp\fR/test02_man.$lang.1 \e opt:\*(L"\-k 75\*(R" opt_it:\*(L"\-L \s-1UTF\-8\*(R"\s0 opt_fr:\-v .PP Argumentos podem conter espaços, se você usar aspas simples ou aspas duplas: [po4a_alias:man] man opt:\*(L"\-o \e\*(R"mdoc=NAME,SEE ALSO\e\*(L" \-k 20\*(R" .PP Se você quer especificar as mesmas opções para muitos documentos, pode querer usar um alias (consulte a secção abaixo \fBSpecifying aliases\fR). .PP Você também pode definir opções para todos os documentos especificados no ficheiro de configuração: [options] opt: \*(L"...\*(R"opt_fr: \*(L"...\*(R" .SS "Especificando aliases" .IX Subsection "Especificando aliases" Se você deve especificar as mesmas opções para vários ficheiros, pode estar interessado em definir um módulo alias. Isto pode ser feito desta forma: .PP .Vb 1 \& [po4a_alias:test] man opt:"\-k 21" opt_es:"\-o debug=splitargs" .Ve .PP Isto define um módulo alias denominado \fBtest\fR, com base no módulo \fBman\fR, com o \fB\-k 21\fR aplicado a todas as línguas e com \fB\-o debug=splitargs\fRaplicada à tradução espanhola. .PP This module alias can then be used like a regular module: .PP .Vb 2 \& [type:test] t\-05\-config/test02_man.1 $lang:tmp/test02_man.$lang.1 \e \& opt_it:"\-L UTF\-8" opt_fr:\-v .Ve .PP Note que pode especificar opções adicionais num ficheiro por base. .SS "Modo de divisão" .IX Subsection "Modo de divisão" O modo de divisão é usado quando \fB\f(CB$master\fB\fR é usado na linha \&\fB[po4a_paths]\fR. .PP Quando o modo de divisão é usado, um temporário e grande \s-1POT\s0 e um grande POs são utilizados. Isto permite compartilhar as traduções entre todos POs. .PP Se dois POs tiverem traduções diferentes para a mesma sequência, \fBpo4a\fR irá marcar essa sequência como imprecisa e apresentará duas traduções em todos os POs que contêm essa sequência. Então, quando um tradutor atualiza a tradução e remove o comando impreciso num \s-1PO,\s0 a tradução dessa sequência será atualizada automaticamente em cada POs. .PP If there are name conflicts because several files have the same filename, the name of the master file can be specified by adding a \&\f(CW\*(C`master:file=\*(C'\fR\fIname\fR option: .PP .Vb 4 \& [po4a_langs] de fr ja \& [po4a_paths] l10n/po/$master.pot $lang:l10n/po/$master.$lang.po \& [type: xml] foo/gui.xml $lang:foo/gui.$lang.xml master:file=foo\-gui \& [type: xml] bar/gui.xml $lang:bar/gui.$lang.xml master:file=bar\-gui .Ve .SH "OPÇÕES" .IX Header "OPÇÕES" .IP "\fB\-k\fR, \fB\-\-keep\fR" 4 .IX Item "-k, --keep" Minimal threshold for translation percentage to keep (i.e. write) the resulting file (default: 80). I.e. by default, files have to be translated at least at 80% to get written. .IP "\fB\-h\fR, \fB\-\-help\fR" 4 .IX Item "-h, --help" Mostrar uma pequena mensagem de ajuda. .IP "\fB\-M\fR, \fB\-\-master\-charset\fR" 4 .IX Item "-M, --master-charset" Conjunto de carateres dos ficheiros contendo os documentos para traduzir. Note-se que todos documentos mestre devem usar o mesmo conjunto de carateres por agora. Esta é uma limitação conhecida, e estamos a trabalhar para resolver isso. .IP "\fB\-L\fR, \fB\-\-localized\-charset\fR" 4 .IX Item "-L, --localized-charset" Conjunto de carateres dos ficheiros contendo os documentos localizados. Note-se que todos documentos traduzidos usarão o mesmo conjunto de carateres por agora. Esta é uma limitação conhecida, e estamos a trabalhar para resolver isso. .IP "\fB\-A\fR, \fB\-\-addendum\-charset\fR" 4 .IX Item "-A, --addendum-charset" Conjunto de carateres da adenda. Note-se que todas as adendas devem estar no mesmo conjnto de carateres. .IP "\fB\-V\fR, \fB\-\-version\fR" 4 .IX Item "-V, --version" Mostrar a versão do script e sair .IP "\fB\-v\fR, \fB\-\-verbose\fR" 4 .IX Item "-v, --verbose" Aumentar o detalhe do programa. .IP "\fB\-q\fR, \fB\-\-quiet\fR" 4 .IX Item "-q, --quiet" Diminuir o detalhe do programa. .IP "\fB\-d\fR, \fB\-\-debug\fR" 4 .IX Item "-d, --debug" Saída de alguma informação de depuração. .IP "\fB\-o\fR, \fB\-\-option\fR" 4 .IX Item "-o, --option" Opção(s) extra para passar para o formato em modo de extensão. Especificar cada opção no formato '\fIname\fR\fB=\fR\fIvalue\fR'. Consulte a documentação de cada modo de extenção para mais informações sobre as opções válidas e seus significados. .IP "\fB\-f\fR, \fB\-\-force\fR" 4 .IX Item "-f, --force" Gera sempre os ficheiros \s-1POT\s0 e \s-1PO,\s0 mesmo se \fBpo4a\fR considera que não é necessário. .Sp O comportamento padrão (quando \fB\-\-force\fR não é especificado) é o seguinte: .RS 4 .Sp .RS 4 Se o ficheiro \s-1POT\s0 já existe, ele é regenerado se um documento mestre ou o ficheiro de configuração é mais recente. O ficheiro \s-1POT\s0 também é escrito num documento temporário e \fBpo4a\fR verifica que as mudanças são realmente necessárias. .Sp Além disso, uma tradução é regenerada somente se o seu documento mestre, o ficheiro \s-1PO,\s0 uma das suas adendas ou o ficheiro de configuração é mais recente. Para evitar tentar regenerar traduções que não passam no teste de limite (ver \fB\-\-keep\fR), um ficheiro com a extensão \fI.po4a\-stamp\fR pode ser criado (ver \fB\-\-stamp\fR). .RE .RE .RS 4 .Sp Se um documento mestre inclui ficheiros, você deve usar a flag \fB\-\-force\fR porque o tempo de modificação dos ficheiros incluídos não são tomados emconta. .Sp Os ficheiros \s-1PO\s0 são sempre regenerados com base em \s-1POT\s0 com \fBmsgmerge \-U\fR. .RE .IP "\fB\-\-stamp\fR" 4 .IX Item "--stamp" Diz \fBpo4a\fR para criar ficheiros de informação quando uma tradução não é gerada porque não atingiu o limiar. Esses ficheiros de informação são nomeados de acordo com o documento traduzido esperado, com a extensão \&\fI.po4a\-stamp\fR. .Sp Nota: Isso só ativa a criação dos ficheiros \fI.po4a\-stamp\fR. Os ficheiros de informação são sempre utilizados se existirem, e são removidos com \&\fB\-\-rm\-translations\fR ou quando o ficheiro é finalmente traduzido. .IP "\fB\-\-no\-translations\fR" 4 .IX Item "--no-translations" Não gerar os documentos traduzidos, apenas atualizar os ficheiros \s-1POT\s0 e \s-1PO.\s0 .IP "\fB\-\-no\-update\fR" 4 .IX Item "--no-update" Do not change the \s-1POT\s0 and \s-1PO\s0 files, only the translation may be updated. .IP "\fB\-\-keep\-translations\fR" 4 .IX Item "--keep-translations" Keeps the existing translation files even if the translation doesn't meet the threshold specified by \-\-keep. This option does not create new translation files with few content, but it will save existing translations which decay because of changes to the master files. .Sp \&\s-1WARNING:\s0 This flag changes the po4a behavior in a rather drastic way: your translated files will not get updated at all until the translation improves. Only use this flag if you prefer shipping an outdated translated documentation rather than only shipping an accurate untranslated documentation. .IP "\fB\-\-rm\-translations\fR" 4 .IX Item "--rm-translations" Remover os ficheiros traduzidos (implica \fB\-\-no\-translations\fR). .IP "\fB\-\-no\-backups\fR" 4 .IX Item "--no-backups" Esta flag não faz nada desde 0.41, e pode ser removida em versões posteriores. .IP "\fB\-\-rm\-backups\fR" 4 .IX Item "--rm-backups" Esta flag não faz nada desde 0.41, e pode ser removida em versões posteriores. .IP "\fB\-\-translate\-only\fR \fItranslated-file\fR" 4 .IX Item "--translate-only translated-file" Traduzir apenas o ficheiro especificado. Pode ser útil para acelerar o processamento se um ficheiro de configuração contém muitos ficheiros. Note que o que esta opção faz não é possível atualizar ficheiros \s-1PO\s0 e \s-1POT.\s0 Esta opção pode ser usada várias vezes. .IP "\fB\-\-variable\fR \fIvar\fR\fB=\fR\fIvalue\fR" 4 .IX Item "--variable var=value" Definir uma variável que será expandida no ficheiro de configuração \&\fBpo4a\fR.Cada ocorrência de \fI$(var)\fR será substituída por \fIvalue\fR. Esta opção pode ser usada várias vezes. .IP "\fB\-\-srcdir\fR \fI\s-1SRCDIR\s0\fR" 4 .IX Item "--srcdir SRCDIR" Definir o diretório de base para todos os documentos de entrada especificados no ficheiro de configuração \fBpo4a\fR. .IP "\fB\-\-destdir\fR \fI\s-1DESTDIR\s0\fR" 4 .IX Item "--destdir DESTDIR" Definir o diretório base para todos os documentos de saída especificados no ficheiro de configuração \fBpo4a\fR. .SS "OPÇÕES \s-1QUE MODIFICAM O\s0 CABEÇALHO \s-1POT\s0" .IX Subsection "OPÇÕES QUE MODIFICAM O CABEÇALHO POT" .IP "\fB\-\-porefs\fR \fItype\fR[,\fBwrap\fR|\fBnowrap\fR]" 4 .IX Item "--porefs type[,wrap|nowrap]" Specify the reference format. Argument \fItype\fR can be one of \fBnever\fR to not produce any reference, \fBfile\fR to only specify the file without the line number, \fBcounter\fR to replace line number by an increasing counter, and \&\fBfull\fR to include complete references (default: full). .Sp O argumento pode ser seguido por uma vírgula ou pela palavra-chave \fBwrap\fR ou \fBnowrap\fR. Referências são escritas por padrão em uma única linha. A opção \fBwrap\fR envolve referências sobre várias linhas, para imitar as ferramentas \fBgettext\fR (\fBxgettext\fR e \fBmsgmerge\fR). Esta opção irá tornar-se o padrão num lançamento futuro, porque é mais sensível. A opção \fBnowrap\fR é acessível para os utilizadores que querem manter o comportamento antigo. .IP "\fB\-\-msgid\-bugs\-address\fR \fIemail@address\fR" 4 .IX Item "--msgid-bugs-address email@address" Definir o endereço do relatório para msgid bugs. Por padrão, os ficheiros \&\s-1POT\s0 criados não têm campos Report-Msgid-bugs-To. .IP "\fB\-\-copyright\-holder\fR \fIstring\fR" 4 .IX Item "--copyright-holder string" Definir o titular dos direitos de autor no cabeçalho \s-1POT. O\s0 valor padrão é \&\*(L" Free Software Foundation, Inc. \*(R" .IP "\fB\-\-package\-name\fR \fIstring\fR" 4 .IX Item "--package-name string" Definir o nome do pacote para o cabeçalho \s-1POT. O\s0 padrão é \*(L"\s-1PACOTE\*(R".\s0 .IP "\fB\-\-package\-version\fR \fIstring\fR" 4 .IX Item "--package-version string" Definir o nome do pacote para o cabeçalho \s-1POT. O\s0 padrão é \*(L"VERSÃO\*(R". .SS "OPÇÕES \s-1PARA MODIFICAR FICHEIROS PO\s0" .IX Subsection "OPÇÕES PARA MODIFICAR FICHEIROS PO" .IP "\fB\-\-msgmerge\-opt\fR \fIoptions\fR" 4 .IX Item "--msgmerge-opt options" Opções extra para \fBmsgmerge\fR(1). .Sp Nota: \fB\f(CB$lang\fB\fR será estendida para o idioma atual. .IP "\fB\-\-no\-previous\fR" 4 .IX Item "--no-previous" Esta opção remove \fB\-\-previous\fR a partir das opções passadas para B Isto permite suportar versões do \fBgettext\fR mais cedo do que 0.16. .IP "\fB\-\-previous\fR" 4 .IX Item "--previous" Esta opção acrescenta \fB\-\-previous\fR ás opções passadas para \&\fBmsgmerge\fR. Isso requer \fBgettext\fR 0.16 ou posterior, e é ativado por padrão. .SS "\s-1EXEMPLO\s0" .IX Subsection "EXEMPLO" Vamos supor que você mantém um programa chamado \fBfoo\fR que tem uma página do manual \fIman/foo.1\fR que naturalmente, é mantida apenas em Inglês. Agora você como gestor do upstream ou downstream quer criar e manter a tradução. Primeiro precisa criar o ficheiro \s-1POT\s0 necessário para enviar para os tradutores usando \fBpo4a\-gettextize\fR\|(1). .PP Então para o nosso caso chamaríamos .PP .Vb 1 \& cd man && po4a\-gettextize \-f man \-m foo.1 \-p foo.pot .Ve .PP Você teria então que enviar este ficheiro para as listas de idiomas adequadas ou oferecê\-lo para descarregar em algum lugar do seu site. .PP Agora, vamos supor que você recebeu três traduções antes do seu próximo lançamento: \fIde.po\fR (incluindo uma adenda \fIde.add\fR), \fIsv.po\fR e \&\fIpt.po\fR. Desde que não queira mudar o seu \fIMakefile\fR(s) sempre que uma nova tradução chega, pode usar \fBpo4a\fR com um ficheiro de configuração apropriado no seu \fIMakefile\fR. Vamos chamá\-lo \fIpo4a.cfg\fR. No nosso exemplo seria algo como o seguinte: .PP .Vb 1 \& [po_directory] man/po4a/po/ \& \& [type: man] man/foo.1 $lang:man/translated/$lang/foo.1 \e \& add_$lang:?man/po4a/add_$lang/$lang.add opt:"\-k 80" .Ve .PP Neste exemplo, vamos supor que suas páginas de manual geradas (e todos ficheiros \s-1PO\s0 e adendas) devem ser armazenadas em \fIman/translated/$lang/\fR (respectivamente em \fIman/po4a/po/\fR e \fIman/po4a/add_$lang/\fR) abaixo do diretório atual. No nosso exemplo o diretório \fIman/po4a/po/\fR incluiria \&\fIde.po\fR, \fIpt.po\fR e \fIsv.po\fR, e o diretório \fIman/po4a/add_de/\fR incluiria F . .PP Observe o uso do modificador \fB?\fR apenas como a tradução alemã (\fIde.po\fR) é acompanhado por uma adenda. .PP Para realmente construir as páginas do manual traduzidas você então (uma vez!) adiciona a seguinte linha no ponto \fBbuild\fR do \fIMakefile\fR apropriado: .PP .Vb 1 \& po4a po4a.cfg .Ve .PP Once this is set up you don't need to touch the \fIMakefile\fR when a new translation arrives, i.e. if the French team sends you \fIfr.po\fR and \&\fIfr.add\fR then you simply drop them respectively in \fIman/po4a/po/\fR and \&\fIman/po4a/add_fr/\fR and the next time the program is built the French translation is automatically build as well in \fIman/translated/fr/\fR. .PP Note que você ainda precisa de um destino apropriado para instalar páginas do manual localizadas em Inglês. .PP Finalmente, se você não armazenar ficheiros gerados no seu sistema de controlo de versão, vai precisar de uma linha no seu ponto \fBclean\fR bem como: \-rm \-rf man/translated .SH "DEFICIÊNCIAS" .IX Header "DEFICIÊNCIAS" .IP "\(bu" 4 Duplicar algum código com os programas \fBpo4a\-\fR\fI*\fR. .PP Fragmento de boas-vindas;) .SH "VER TAMBÉM" .IX Header "VER TAMBÉM" \&\fBpo4a\-gettextize\fR\|(1), \fBpo4a\-normalize\fR\|(1), \fBpo4a\-translate\fR\|(1), \&\fBpo4a\-updatepo\fR\|(1), \fBpo4a\fR\|(7) .SH "AUTORES" .IX Header "AUTORES" .Vb 3 \& Denis Barbier \& Nicolas François \& Martin Quinson (mquinson#debian.org) .Ve .SH "DIREITOS DE AUTOR E LICENÇA" .IX Header "DIREITOS DE AUTOR E LICENÇA" Direitos de Autor 2002\-2012 por \s-1SPI,\s0 inc. .PP Este programa é software livre, você pode redistribuí\-lo e/ou modificá\-lo sob os termos da \s-1GPL\s0 (consulte o ficheiro CÓPIA).