
        *****************************************************
        *           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.

Upon execution, B<po4a> parses all documentation files specified in its configuration file. It updates the PO files (containing the translation) to reflect any change to the documentation, and produce a translated documentation by injecting the content's translation (found in the PO files) into the structure of the original master document.

At first, the PO files only contain the strings to translate from the original documentation. This file format allows the translators to manually provide a translation for each paragraph extracted by B<po4a>. If the documentation is modified after translation, B<po4a> marks the corresponding translations as "fuzzy" in the PO file to request a manual review by the translators. The translators can also provide so-called "addendum", that are extra content stating for example who did the translation and how to report bugs.

 master documents ---+---->-------->---------+
  (doc authoring)    |                       |
                     V   (po4a executions)   >-----+--> translated
                     |                       |     |     documents
 existing PO files -->--> updated PO files >-+     |
      ^                            |               |
      |                            V               |
      +----------<---------<-------+               ^
       (manual translation process)                |
                                                   |
 addendum -->--------------------------------------+

The workflow of B<po4a> is asynchronous, as suited to open-source projects. The documentation writers author the master documents at their own pace. The translators review and update the translations in the PO files. The maintainers rerun B<po4a> on need, to reflect any change to the original documentation to the PO files, and to produce updated documentation translations, by injecting the latest translation into the latest document structure.

By default, a given translated document is produced when at least 80% of its content is translated. The untranslated text is kept in the original language.  The produced documentation thus mixes languages if the translation is not complete. You can change the 80% threshold with the I<--keep> option described below. Note however that discarding translations as soon as they are not 100% may be discouraging for the translators whose work will almost never be shown to the users, while showing "translations" that are too incomplete may be troubling for the end users.

Storing the translated documentation files in the version control system is probably a bad idea, since they are automatically generated. The precious files are the PO files, that contain the hard work of your fellow translators. Also, some people find it easier to interact with the translators through an online platform such as S<weblate>, but this is naturally fully optional.

=head2 Quick start tutorial

Let's assume you maintain a program named B<foo> which has a man page F<man/foo.1> written in English (the bridge language in most open-source projects, but B<po4a> can be used from or to any language). Some times ago, someone provided a German translation named F<man/foo.de.1> and disappeared.  This is a problem because you just got a bug report saying that your documentation contains a gravely misleading information that must be fixed in all languages, but you don't speak German so you can only modify the original, not the translation. Now, another contributor wants to contribute a translation to Japanese, a language that you don't master either.

It is time to convert your documentation to B<po4a> to solve your documentation maintenance nightmares. You want to update the doc when needed, you want to ease the work of your fellow translators, and you want to ensure that your users never see any outdated and thus misleading documentation.

The conversion includes two steps: setup the po4a infrastructure, and convert the previous German translation to salvage the previous work. This latter part is done using S<po4a-gettextize>, as follows. As detailed in the documentation of L<po4a-gettextize(1)>, this process rarely fully automatic, but once it's done, the B<de.po> file containing the German translation can be integrated in your po4a workflow.

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

Let's now configure po4a. With the appropriate file layout, your configuration file could be as simple as this:

 [po_directory] man/po4a/

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

It specifies that all PO files (containing the work of the translators) are the F<man/po4a/> directory, and that you have only one master file, F<man/foo.1>. If you had several master files, you would have several lines similar to the second one. Each such line also specify where to write the corresponding translation files. Here, the German translation of F<man/foo.1> is in F<man/translated/foo.de.1>.

The last thing we need to complete the configuration of B<po4a> is a POT file containing the template material that should be used to start a new translation.  Simply create an empty file with the S<.pot> extension in the specified S<po_directory> (e.g. F<man/po4a/foo.pot>), and B<po4a> will fill it with the expected content.

Here is a recap of the files in this setup:

  ├── man/
  │   ├── foo.1        <- The original man page, in English.
  │   ├── po4a/
  │   │   ├── de.po    <- The German PO translation, from gettextization.
  │   │   └── foo.pot  <- The POT template of future translations (empty at first)
  │   └── translated/  <- Directory where the translations will be created
  └── po4a.cfg         <- The configuration file.

Once setup, executing B<po4a> will parse your documentation, update the POT template file, use it to update the PO translation files, and use them to update the documentation translation files. All in one command:

        po4a --verbose po4a.cfg

This it. B<po4a> is now fully configured. Once you've fixed your error in F<man/foo.1>, the offending paragraph in the German translation will be replaced by the fixed text in English. Mixing languages is not optimal, but it's the only way to remove errors in translations that you don't even understand, and ensure that the content presented to the users is never misleading. Updating the German translation is also much easier in the corresponding PO file, so the language mix-up may not last long. Finally, when the Japanese translator gives you a S<jp.po> translated file, just drop it in F<man/po4a/po/>. A translated page will appear as F<man/translated/foo.jp.1> (provided that enough content is translated) when you run B<po4a> again.

=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<-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<--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

With this line, po4a will produce separate POT and PO files for each document to translate.  For example, if you have 3 documents and 5 languages, this will result in 3 POT files and 15 PO files. These files are named as specified on the C<po4a_paths> template, with C<$master> substituted to the basename of each document to translate. In case of name conflict, you can specify the POT file to use as follows, with the C<pot=> parameter.

This feature can also be used to group several translated files into the same POT file. The following example only produces 2 POT files: F<l10n/po/foo.pot> (containing the material from F<foo/gui.xml>) and F<l10n/po/bar.pot> (containing the material from both F<bar/gui.xml> and 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. 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-filter.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-filter.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 COPYRIGHT E LICENÇA

Copyright 2002-2022 by SPI, inc.

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

