
        *****************************************************
        *           GENERATED FILE, DO NOT EDIT             *
        * THIS IS NO SOURCE FILE, BUT RESULT OF COMPILATION *
        *****************************************************

This file was generated by po4a(7). Do not store it (in VCS, for example),
but store the PO file used as source file by po4a-translate.

In fact, consider this as a binary, and the PO file as a regular .c file:
If the PO get lost, keeping this translation up-to-date will be harder.

=encoding UTF-8

=head1 NOME

po4a - atualiza ambos arquivos PO e documentações traduzidas em um tiro

=head1 SINOPSE

B<po4a> [I<opções>] I<arquivo_config>

=head1 DESCRIÇÃO

po4a (PO for anything) facilita a manutenção de tradução da documentação
usando as ferramentas clássicas do gettext. A principal característica do
po4a é que ele dissocia a tradução do conteúdo da estrutura
documental. Consulte a página L<po4a(7)> para uma introdução suave a este
projeto.

Ao executar, B<po4a> analisa todos os arquivos de documentação especificados
em seu arquivo de configuração. Ele atualiza os arquivos PO (contendo a
tradução) para refletir qualquer alteração na documentação, e produzir uma
documentação traduzida, injetando a tradução do conteúdo (encontrado nos
arquivos PO) na estrutura do documento mestre original.

Inicialmente, os arquivos PO apenas contêm as strings para traduzir da
documentação original. Este formato de arquivo permite que os tradutores
forneçam manualmente uma tradução para cada parágrafo extraído por
B<po4a>. Se a documentação for modificada após a tradução, B<po4a> marca as
traduções correspondentes como "fuzzy" no arquivo PO para solicitar uma
revisão manual pelos tradutores. Os tradutores também podem fornecer o
chamado "addendum" (adendo), que são conteúdo extra afirmando por exemplo
quem fez a tradução e como relatar bugs.

 documentos mestres -+----->-------->---------+
  (criação de docs)  |                        |
                     V  (execuções do po4a)   >----+--> documentos
                     |                        |    |    traduzidos
                     |                        |    |
  arquivos PO ------->-----> arquivos PO -->--+    |
   existentes                atualizados           |
     ^                             |               |
     |                             V               ^
     +----------<---------<--------+               |
      (processo de tradução manual)                |
                                                   |
 adendo ---->--------------------------------------+

O fluxo de trabalho de B<po4a> é assíncrono, conforme adequado para projetos
de código aberto. Os autores de documentação escrevem os documentos mestre
em seu próprio ritmo. Os tradutores revisam e atualizam as traduções nos
arquivos PO. Os mantenedores executam novamente B<po4a> quando necessário,
para refletir qualquer alteração na documentação original para os arquivos
PO e para produzir traduções de documentação atualizadas, injetando a mais
recente tradução para a mais recente estrutura de documentos.

Por padrão, um documento traduzido é produzido quando pelo menos 80% de seu
conteúdo é traduzido. O texto não traduzido é mantido no idioma original. A
documentação produzida mistura idiomas se a tradução não estiver
completa. Você pode alterar o limite de 80% com a opção I<-keep> descrita
abaixo. Note no entanto que descartar traduções assim que não são 100% pode
ser desanimador para os tradutores cujo trabalho quase nunca será mostrado
aos usuários, ao mostrar "traduções" que são muito incompletas pode ser um
problema para os usuários finais.

Armazenar os arquivos de documentação traduzidos no sistema de controle de
versão é provavelmente uma má ideia, uma vez que eles são gerados
automaticamente. Os arquivos preciosos são os arquivos PO, que contêm o
trabalho duro de seus colegas tradutores. Além disso, algumas pessoas acham
mais fácil interagir com os tradutores através de uma plataforma online como
o S<weblate>, mas isso é naturalmente totalmente opcional.

=head2 Tutorial de início rápido

Vamos supor que você mantenha um programa chamado B<foo> que tem uma página
man F<man/foo.1> escrito em inglês (o idioma-ponte na maioria dos projetos
de código aberto, mas B<po4a> pode ser usado de ou para qualquer idioma). Um
tempo atrás, alguém forneceu uma tradução em alemão chamada F<man/foo.de.1>
e desapareceu. Este é um problema porque você acabou de ter um relatório de
bug dizendo que sua documentação contém uma informação gravemente enganosa
que deve ser corrigida em todos os idiomas, mas você não fala alemão para
que você só possa modificar o original, não a tradução. Agora, outro
colaborador quer contribuir com uma tradução para japonês, um idioma que
você também não domina.

É hora de converter sua documentação para B<po4a> para resolver seus
pesadelos de manutenção de documentação. Você quer atualizar o documento
quando necessário, você quer facilitar o trabalho de seus colegas
tradutores, e você quer garantir que seus usuários nunca vejam nenhuma
documentação desatualizada e, portanto, enganosa.

A conversão inclui dois passos: configurar a infraestrutura do po4a e
converter a tradução anterior alemã para salvar o trabalho anterior. Esta
última parte é feita usando S<po4a-gettextize>, como segue. Como detalhado
na documentação de L<po4a-gettextize(1)>, este processo raramente totalmente
automático, mas uma vez feito, o arquivo B<de.po> contendo a tradução alemã
pode ser integrado no seu fluxo de trabalho do po4a.

  po4a-gettextize --format man --master foo.1 --localized foo.de.1 --po de.po

Vamos agora configurar o po4a. Com o layout de arquivo apropriado, seu
arquivo de configuração pode ser tão simples como este:

 [po_directory] man/po4a/

 [type: man] man/foo.1 $lang:man/translated/foo.$lang.1

Isso especifica que todos os arquivos PO (contendo o trabalho dos
tradutores) estão no diretório F<man/po4a/>, e que você tem apenas um
arquivo mestre, F<man/foo.1>. Se você tivesse vários arquivos mestres, você
teria várias linhas semelhantes à segunda. Cada linha também especifica onde
escrever os arquivos de tradução correspondentes. Aqui, a tradução alemã de
F<man/foo.1> está em F<man/translated/foo.de.1>.

A última coisa que precisamos para completar a configuração do B<po4a> é um
arquivo POT contendo o material do modelo que deve ser usado para iniciar
uma nova tradução. Basta criar um arquivo vazio com a extensão S<.pot> no
especificado S<po_directory> (por exemplo, F<man/po4a/foo.pot>), e B<po4a> o
preencherá com o conteúdo esperado.

Aqui está uma recapitulação dos arquivos nesta configuração:

  ├── man/
  │   ├── foo.1        <- A página man original, em inglês
  │   ├── po4a/
  │   │   ├── de.po    <- O PO com tradução alemã, da gettextização
  │   │   └── foo.pot  <- O POT, modelo de futuras traduções (vazio no início)
  │   └── translated/  <- Diretório onde as traduções serão criadas
  └── po4a.cfg         <- O arquivo de configuração

Uma vez configurado, a execução do B<po4a> analisará sua documentação,
atualizará o arquivo de modelo POT, vai usá-lo para atualizar os arquivos de
tradução PO e vai usá-los para atualizar os arquivos de tradução da
documentação. Tudo em um comando:

        po4a --verbose po4a.cfg

É isto. B<po4a> está agora totalmente configurado. Uma vez que você tenha
corrigido seu erro no F<man/foo.1>, o parágrafo problemático na tradução
alemã será substituído pelo texto corrigido em inglês. Misturar idiomas não
é o melhor, mas é a única maneira de remover erros nas traduções que você
não entende e garantir que o conteúdo apresentado aos usuários nunca seja
enganoso. A atualização da tradução alemã também é muito mais fácil no
arquivo PO correspondente, então a mistura de idiomas pode não durar
muito. Finalmente, quando um tradutor japonês quer contribuir com uma nova
tradução, ela deve renomear o S<foo.pot> em S<ja.po> e completar a
tradução. Uma vez que você tem este arquivo, basta deixá-lo em
F<man/po4a/po/>. Uma página traduzida aparecerá como
F<man/translated/foo.ja.1> (desde que o conteúdo suficiente seja traduzido)
quando você executar B<po4a> novamente.

=head1 OPÇÕES

=over 4

=item B<-k>, B<--keep>

Limite mínimo de porcentagem de tradução para manter (i.e. escrever) o
arquivo resultante (padrão: 80). Isto é, por padrão, arquivos têm que estar
traduzidos em pelo menos 80% para serem escritos no disco.

=item B<-w>, B<--width>

Coluna na qual devemos quebrar linha no arquivo resultante se o formato
suportar (padrão: 76). Se o valor fornecido for 0 ou negativo, o arquivo
resultante não terá quebra de linha. Isso é útil com alguns formatos que
podem fixsr danificados ao quebrar linha novamente.

=item B<-h>, B<--help>

Mostra uma mensagem de ajuda.

=item B<-M>, B<--master-charset>

Conjunto de caracteres dos arquivos contendo os documentos para
traduzir. Note que todos os documentos mestres devem usar o mesmo conjunto
de caracteres.

=item B<-L>, B<--localized-charset>

Conjunto de caracteres dos arquivos contendo os documentos localizados. Note
que todos os documentos traduzidos devem usar o mesmo conjunto de
caracteres.

=item B<-A>, B<--addendum-charset>

Conjunto de caracteres dos adendos. Note que todos os adendos deveriam ser
do mesmo conjunto de caracteres.

=item B<-V>, B<--version>

Exibe a versão do script e sai.

=item B<-v>, B<--verbose>

Aumenta o nível de detalhamento do programa.

=item B<-q>, B<--quiet>

Reduz o nível de detalhamento do programa.

=item B<-d>, B<--debug>

Imprime algumas informações de depuração.

=item B<-o>, B<--option>

Opções extras para passar o plug-in de formato. Veja a documentação de cada
plug-in para mais informações sobre as opções válidas e seus
significados. Por exemplo, você poderia passar "-o tablecells" para o
analisador AsciiDoc, enquanto o analisador de texto aceitaria "-o
tabs=split".

=item B<-f>, B<--force>

Sempre gera os aquivos POT e PO, mesmo se B<po4a> considera isso
desnecessário.

O comportamento padrão (quando B<--force> não é especificado) é o seguinte:

=over

Se o arquivo POT já existe, ele é regerado se uma documentação mestre ou
arquivo de configuração for mais recente (a menos B<--no-update> seja
fornecido). O POT também é escrito em um documento temporário e B<po4a>
certifica-se de que as alterações são realmente necessárias.

Também, uma tradução é gerada novamente apenas se seu documento mestre, o
arquivo PO, um desses adendos ou arquivo de configuração é mais
recente. Para evitar tentativa de gerar traduções que não passam no teste de
limite (veja B<--keep>), um arquivo com a extensão F<.po4a-stamp> pode ser
criada (veja B<--stamp>).

=back

Se um documento mestre inclui arquivos, você deveria usar a opção B<--force>
porque o horário de modificação desses arquivos incluídos não são levados em
consideração.

Os arquivos PO são gerados novamente baseados no POT com B<msgmerge -U>.

=item B<--stamp>

Informa ao B<po4a> para criar arquivos stamp quando uma tradução não é
gerada porque ela não atingiu o limite. Esses arquivos stamp são nomeados de
acordo com o documento de tradução esperado, com a extensão F<.po4a-stamp>.

Nota: Isso somente ativa a criação dos arquivos F<.po4a-stamp>. Os arquivos
stamp são sempre usados se existirem e eles são removidos com
B<--rm-translations> ou quando o arquivo é finalmente traduzido.

=item B<--no-translations>

Não gera os documentos traduzidos, apenas atualiza os arquivos POT e PO.

=item B<--no-update>

Não altere os arquivos POT e PO, apenas a tradução pode ser atualizada.

=item B<--keep-translations>

Mantém os arquivos de tradução existentes mesmo se a tradução não atender o
limite especificado por B<--keep>.  Essa opção não cria novos arquivos de
tradução com pouco conteúdo, mas vai salvar traduções existentes que cujo
nível decai por causa de alterações nos arquivos de mestre.

ATENÇÃO: Esta opção muda o comportamento do po4a de uma maneira bastante
drástica: seus arquivos traduzidos não serão atualizados até que a tradução
melhore. Use esta opção somente se você preferir enviar uma documentação
traduzida desatualizada em vez de enviar apenas uma documentação não
traduzida precisa.

=item B<--rm-translations>

Remove os arquivos de tradução (implica em B<--no-translations>).

=item B<--no-backups>

Essa opção não faz nada desde 0.41 e pode ser removida em versões
posteriores.

=item B<--rm-backups>

Essa opção não faz nada desde 0.41 e pode ser removida em versões
posteriores.

=item B<--translate-only> I<arquivo-traduzido>

Traduz apenas o arquivo especificado. Pode ser útil para agilizar o
processamento se um arquivo de configuração contém muitos arquivos. Note que
essa opção não atualiza arquivos POT e PO. Essa opção pode ser usada
múltiplas vezes.

=item B<--variable> I<var>B<=>I<valor>

Define uma variável que vai ser expandida no arquivo de configuração do
B<po4a>. Toda ocorrência de I<$(var)> vai ser substituída por I<valor>. Essa
opção pode ser usada múltiplas vezes.

=item B<--target-lang> I<LANG>

Atualiza arquivos PO e gera documentos traduzidos apenas para o idioma
especificado. Esta opção pode ser usada várias vezes.

=item B<--srcdir> I<SRCDIR>

Define o diretório base para todos os documentos de entradas especificados
no arquivo de configuração do B<po4a>.

Se I<destdir> e I<srcdir> forem especificados, os arquivos de entrada serão
pesquisados nos seguintes diretórios, em ordem: I<destdir>, o diretório
atual e I<srcdir>. Os arquivos de saída são gravados em I<destdir>, se
especificado, ou no diretório atual.

=item B<--destdir> I<DESTDIR>

Define o diretório base para todos os documentos de saída especificados no
arquivo de configuração do B<po4a> (veja B<--srcdir> acima).

=back

=head2 Opções que modificam o cabeçalho do POT

=over 4

=item B<--porefs> I<tipo>

Especifica o formato de referência. O argumento I<tipo> pode ser um de:
B<never> para não produzir qualquer referência, B<file> para especificar o
arquivo sem o número de linha, B<counter> para substituir os números de
linha aumentando o contador e B<full> para incluir referências
completas. (padrão: full).

=item B<--wrap-po> B<no>|B<newlines>|I<number> (padrão: 76)

Especifica como o arquivo po deve ter sua quebra de linha. Isso permite
escolher entre arquivos que tem boa quebra de linha, mas que podem levar a
conflitos de git, ou arquivos que são mais fáceis de manipular
automaticamente, mas mais difíceis de ler para humanos.

Historicamente, o pacote gettext reformatou os arquivos po na 77ª coluna
para questões cosméticas. Esta opção especifica o comportamento de po4a. Se
definido como um valor numérico, o po4a quebrará linha do arquivo po após
esta coluna e após novas linhas no conteúdo. Se definido como B<newlines>, o
po4a dividirá apenas o msgid e o msgstr após as novas linhas no conteúdo. Se
definido como B<no>, o po4a não quebrará linha do arquivo po. Os comentários
de referência têm sempre as linhas quebradas pelas ferramentas do gettext
que nós usamos internamente.

Observe que esta opção não afeta a maneira como o msgid e o msgstr sofrem
quebra de linhas, ou seja, como os caracteres de nova linha são adicionados
ao conteúdo dessas strings.

=item B<--master-language>

Idioma dos arquivos fonte contendo os documentos para traduzir. Note que
todos os documentos mestres devem usar o mesmo idioma.

=item B<--msgid-bugs-address> I<e-mail@endereço>

Define o endereço para relatórios de erros em msgids. Por padrão, os
arquivos POT criados possuem nenhum campo Report-Msgid-Bugs-To.

=item B<--copyright-holder> I<string>

Define o detentor do copyright no cabeçalho do POT. O valor padrão é "Free
Software Foundation, Inc."

=item B<--package-name> I<string>

Define o nome do pacote para o cabeçalho do POT. O padrão é "PACKAGE".

=item B<--package-version> I<string>

Define a versão do pacote do cabeçalho do POT. O padrão é "VERSION".

=back

=head2 Opções para modificar os arquivos PO

=over 4

=item B<--msgmerge-opt> I<opções>

Opções extras para B<msgmerge>(1).

Nota: B<$lang> vai estar estendida do idioma atual.

=item B<--no-previous>

Essa opção remove B<--previous> das opções passadas ao B<msgmerge>. Isso é
necessário para oferecer suporte a versões do B<gettext> antes de 0.16.

=item B<--previous>

Essa opção adiciona B<--previous> às opções passadas ao B<msgmerge>. Isso
requer B<gettext> 0.16 ou posterior, e é ativada por padrão.

=back

=head1 ARQUIVO DE CONFIGURAÇÃO

po4a espera um arquivo de configuração como argumento. Este arquivo deve
conter os seguintes elementos:

=over

=item

O caminho para os arquivos PO e a lista de idiomas existentes no projeto;

=item

Opcionalmente, algumas opções globais e os chamados aliases de configuração
que são usados como modelos para configurar arquivos mestres individuais ;

=item

A lista de cada arquivo mestre a traduzir, juntamente com parâmetros
específicos.

=back

Todas as linhas contêm um comando entre colchetes, seguido dos seus
parâmetros.  Os comentários começam com o caractere "#" e correm até ao fim
da linha. Você pode escapar do fim da linha para espalhar um comando por
várias linhas.

Alguns exemplos completos são apresentados nesta página, enquanto outros
exemplos podem ser encontrados no diretório C<t/cfg> da distribuição de
origem.

=head2 Encontrando os arquivos PO e POT

A solução mais simples é dar explicitamente o caminho para arquivos POT e
PO, da seguinte forma:

 [po4a_paths] man/po/project.pot de:man/po/de.po fr:man/po/fr.po

Isso especifica o caminho para o arquivo POT primeiro e, em seguida, os
caminhos para os arquivos PO alemão e francês.

A mesma informação pode ser escrita da seguinte maneira para reduzir o risco
de erros de copiar/colar:

 [po4a_langs] fr de
 [po4a_paths] man/po/project.pot $lang:man/po/$lang.po

O componente C<$lang> é gasto automaticamente usando a lista de idiomas
fornecidos, reduzindo o risco de erro de copiar/colar quando um novo idioma
é adicionado.

Você pode compactar ainda mais as mesmas informações fornecendo apenas o
caminho para o diretório contendo seu projeto de tradução, da forma a
seguir.

 [po_directory] man/po/

O diretório fornecido deve conter um conjunto de arquivos PO, cada um
chamado F<XX.po> com C<XX> o ISO 631-1 do idioma utilizado neste arquivo. O
diretório deve conter também um único arquivo POT, com a extensão C<.pot>
file. Para a primeira execução, este arquivo pode estar vazio, mas deve
existir (po4a não pode adivinhar o nome a ser usado antes da extensão).

Observe que você deve escolher apenas um entre C<po_directory> e
C<po4a_paths>. O primeiro (C<po_directory>) é mais compacto, reduz ainda
mais o risco de erro de cópia/pasta, mas força você a usar a estrutura de
projeto esperada e nomes de arquivos. O segundo (C<po4a_paths>), é mais
explícito, provavelmente mais legível, e aconselhado quando você configura
seu primeiro projeto com po4a.

=head3 Arquivos PO centralizados ou divididos?

Por padrão, o po4a produz um único arquivo PO por idioma de destino,
contendo todo o conteúdo do seu projeto de tradução. Conforme o seu projeto
cresce, o tamanho desses arquivos pode se tornar problemático. Ao utilizar
weblate, é possível especificar prioridades para cada segmento de tradução
(isto é, msgid), de modo que os importantes sejam traduzidos primeiro. Mesmo
assim, algumas equipes de tradução preferem dividir o conteúdo em vários
arquivos.

Para ter um arquivo PO por arquivo mestre, basta usar a string C<$master> no
nome dos arquivos PO na linha C<[po4a_paths]>, da seguinte maneira.

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

Com esta linha, po4a produzirá arquivos POT e PO separados para cada
documento a ser traduzido. Por exemplo, se você tiver 3 documentos e 5
idiomas, isso resultará em 3 arquivos POT e 15 arquivos PO. Esses arquivos
são nomeados conforme especificado no modelo C<po4a_paths>, com C<$master>
substituído no nome de base de cada documento a ser traduzido. Em caso de
conflito de nome, você pode especificar o arquivo POT a ser usado da
seguinte maneira, com o parâmetro C<pot=>.

Este recurso também pode ser usado para agrupar vários arquivos traduzidos
no mesmo arquivo POT. O exemplo a seguir só produz 2 arquivos POT:
F<l10n/po/foo.pot> (contendo o material de F<foo/gui.xml>) e
F<l10n/po/bar.pot> (contendo o material de ambos F<bar/gui.xml> e
F<bar/cli.xml>).

 [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 pot=foo
 [type: xml] bar/gui.xml $lang:bar/gui.$lang.xml pot=bar
 [type: xml] bar/cli.xml $lang:bar/cli.$lang.xml pot=bar

No modo de divisão, B<po4a> cria um compêndio temporário durante a
atualização do PO, para compartilhar as traduções entre todos os arquivos do
pedido. Se dois arquivos PO tiverem traduções diferentes para a mesma
string, B<po4a> marcará essa string como difusa e enviará ambas as traduções
em todos os arquivos PO que contêm essa string. Quando não é confundida pelo
tradutor, a tradução é usada em todos os arquivos PO automaticamente.

=head2 Especificando os documentos para traduzir

Você também deve listar os documentos que devem ser traduzidos. Para cada
arquivo mestre, você deve especificar o analisador de formato a ser usado, o
local do documento traduzido a ser produzido e, opcionalmente, alguma
configuração. Nomes de arquivos devem estar entre aspas ou escapados se eles
contiverem espaços. Aqui está um exemplo:

 [type: sgml] "doc/my stuff.sgml"  "fr:doc/fr/mon truc.sgml"  de:doc/de/mein\ kram.sgml
 [type: man] script fr:doc/fr/script.1 de:doc/de/script.1
 [type: docbook] doc/script.xml fr:doc/fr/script.xml \
             de:doc/de/script.xml

Mas, novamente, essas linhas complexas são difíceis de ler e modificar, por
exemplo, ao adicionar um novo idioma. É muito mais simples reorganizar as
coisas usando o modelo C<$lang> da seguinte maneira:

 [type: sgml]    doc/my_stuff.sgml $lang:doc/$lang/my_stuff.sgml
 [type: man]     script.1          $lang:po/$lang/script.1
 [type: docbook] doc/script.xml    $lang:doc/$lang/script.xml

=head2 Especificando opções

Há dois tipos de opções: I<opções do po4a> são valores padrão para as opções
de linha de comando po4a enquanto I<opções de formato> são usadas para
alterar o comportamento dos analisadores de formato. Como uma I<opções do
po4a>, você pode, por exemplo, especificar em seu arquivo de configuração
que o valor padrão do parâmetro de linha de comando B<--keep> é de 50% em
vez de 80%. I<Opções de formato> estão documentadas na página específica de
cada módulo de análise, por exemplo, L<Locale::Po4a::Xml(3pm)>. Você pode,
por exemplo, passar B<nostrip> para o analisador XML para não remover os
espaços ao redor das strings extraídas.

Você pode passar essas opções para um arquivo mestre específico, ou mesmo
para uma tradução específica desse arquivo, usando C<opt:> e C<opt_XX:> para
o idioma C<XX>. No exemplo a seguir, a opção B<nostrip> é passada para o
analisador XML (para todos os idiomas), enquanto o limite será reduzido para
0% para a tradução em francês (que, portanto, é sempre mantida).

 [type:xml] toto.xml $lang:toto.$lang.xml opt:"-o nostrip" opt_fr:"--keep 0"

De qualquer forma, esses blocos de configuração devem estar localizados no
final da linha. A declaração dos arquivos deve vir primeiro, depois o
adendo, se houver (veja abaixo), e somente as opções. O agrupamento de
pedaços de configuração não é muito importante, pois os elementos são
internamente concatenados como strings. Os exemplos a seguir são todos
equivalentes:

  [type:xml] toto.xml $lang:toto.$lang.xml opt:"--keep 20" opt:"-o nostrip" opt_fr:"--keep 0"
  [type:xml] toto.xml $lang:toto.$lang.xml opt:"--keep 20 -o nostrip" opt_fr:"--keep 0"
  [type:xml] toto.xml $lang:toto.$lang.xml opt:--keep opt:20 opt:-o opt:nostrip opt_fr:--keep opt_fr:0

Observe que as opções específicas do idioma não são usadas ao criar o
arquivo POT. Por exemplo, é impossível passar B<nostrip> para o analisador
apenas ao criar a tradução em francês, porque o mesmo arquivo POT é usado
para atualizar todos os idiomas. Portanto, as únicas opções que podem ser
específicas do idioma são as usadas na produção da tradução, como a opção
C<--keep>.

=head3 Aliases de configuração

Para passar as mesmas opções para vários arquivos, o melhor é definir um
alias de tipo da seguinte maneira. No próximo exemplo, C<--keep 0> é passado
para todas as traduções em italiano usando este tipo C<test>, que é uma
extensão do tipo C<man>.

  [po4a_alias:test] man opt_it:"--keep 0"
  [type: test] man/page.1 $lang:man/$lang/page.1

Você também pode estender um tipo existente de reutilizar o mesmo nome para
o alias da seguinte forma. Este não é interpretada como uma errônea
definição recursiva.

  [po4a_alias:man] man opt_it:"--keep 0"
  [type: man] man/page.1 $lang:man/$lang/page.1

=head3 Opções padrão globais

Você também pode usar as linhas C<[options]> para definir opções que devem
ser usadas para todos os arquivos, independentemente do seu tipo.

  [options] --keep 20 --option nostrip

Como nas opções da linha de comando, você pode abreviar os parâmetros
passados no arquivo de configuração:

  [options] -k 20 -o nostrip

=head3 Prioridades das opções

As opções de todas as fontes são concatenadas, garantindo que os valores
padrão possam ser facilmente substituídos por opções mais específicas. A
ordem é a seguinte:

=over

=item

As linhas C<[options]> fornecem valores padrão que podem ser substituídos
por qualquer outra fonte.

=item

Os aliases de tipo são então usados. As configurações específicas do idioma
substituem as aplicáveis a todos os idiomas.

=item

As configurações específicas de um determinado arquivo mestre substituem as
padrão e as provenientes do alias de tipo. Também neste caso, as
configurações específicas do idioma substituem as globais.

=item

Finalmente, os parâmetros fornecidos na linha de comando B<po4a> substituem
quaisquer configurações do arquivo de configuração.

=back

=head3 Exemplo

Aqui está um exemplo mostrando como citar os espaços e aspas:

 [po_directory] man/po/
 
 [options] --master-charset UTF-8
 
 [po4a_alias:man] man opt:"-o \"mdoc=NAME,SEE ALSO\""
 [type:man] t-05-config/test02_man.1 $lang:tmp/test02_man.$lang.1 \
            opt:"-k 75" opt_it:"-L UTF-8" opt_fr:--verbose

=head2 Adendo: Acréscimo de conteúdo extra na tradução

Se você deseja adicionar uma seção extra à tradução, por exemplo, para dar
crédito ao tradutor, é necessário definir um adendo à linha que define seu
arquivo mestre. Consulte a página L<po4a(7)> para obter mais detalhes sobre
a sintaxe dos arquivos de adendo.

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

Você também pode usar modelos de idioma da seguinte maneira:

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

Se um adendo não se aplicar, a tradução será descartada.

=head3 Modificadores para a declaração de adendo

Os modificadores de adendo podem simplificar o arquivo de configuração no
caso em que nem todos os idiomas fornecem um adendo ou quando a lista de
adendos muda de um idioma para o outro. O modificador é um único caractere
localizado antes do nome do arquivo.

=over 2

=item B<?>

Inclua I<addendum_path> se esse arquivo não existir, do contrário nada para
fazer.

=item B<@>

I<addendum_path> não é um adendo regular, mas um arquivo contendo uma lista
de adendos, uma por linha. Cada adendo pode ser precedido por modificadores.

=item B<!>

I<addendum_path> está descartado, ele não é carregado e não vai ser
carregado por qualquer uma especificação de adendo.

=back

O seguinte inclui um adendo em qualquer idioma, mas se existir. Nenhum erro
será relatado se o adendo não existir.

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

O seguinte inclui uma lista de adendos para cada idioma:

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

=head2 Filtrando as strings traduzidas

Às vezes, você deseja ocultar algumas strings do processo de tradução. Nesse
sentido, você pode atribuir um parâmetro C<pot_in> ao seu arquivo mestre
para especificar o nome do arquivo a ser usado em vez do mestre real ao
criar o arquivo POT. Aqui está um exemplo:

  [type:docbook] book.xml          \
          pot_in:book-filtered.xml \
          $lang:book.$lang.xml

Com essa configuração, as strings a serem traduzidas serão extraídas do
F<book-filtered.xml> (que deve ser produzido antes da chamada de B<po4a>)
enquanto os arquivos traduzidos serão compilados a partir do
F<book.xml>. Como resultado, qualquer string que faça parte de F<book.xml>,
mas não em F<book-filtered.xml> não será incluída nos arquivos PO, impedindo
que os tradutores forneçam uma tradução para eles. Portanto, essas strings
não serão modificadas ao produzir os documentos traduzidos. Isso
naturalmente diminui o nível de tradução, portanto, você pode precisar da
opção C<--keep> para garantir que o documento seja produzido de qualquer
maneira.

=head1 VEJA TAMBÉM

L<po4a-gettextize(1)>, L<po4a(7)>.

=head1 AUTORES

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


=head1 TRADUÇÃO

 Luiz Fernando Ranghetti <elchevive@opensuse.org>
 Rafael Fontenelle <rafaelff@gnome.org>

=head1 COPYRIGHT E LICENÇA

Copyright 2002-2023 por SPI, inc.

Esse programa é um software livre; você pode redistribuí-lo e/ou modificá-lo
sob os termos da GPL v2.0 ou posterior (veja o arquivo COPYING).
