
        *****************************************************
        *           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-gettextize - converte um arquivo original (e suas traduções) para um
arquivo PO

=head1 SINOPSE

B<po4a-gettextize> B<-f> I<fmt> B<-m> I<mestre.doc> B<-l> I<XX.doc> B<-p>
I<XX.po>

(I<XX.po> é a saída, e todo o resto é entrada)

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

O script B<po4a-gettextize> ajuda você a converter suas traduções
anteriormente existentes em um fluxo de trabalho baseado em po4a. Isso só
deve ser feito uma vez para salvar uma tradução existente ao converter para
po4a, não em uma base regular após a conversão de seu projeto. Este processo
tedioso é explicado em detalhes na Seção 'Convertendo uma tradução manual em
po4a' abaixo.

Você deve fornecer um arquivo mestre (por exemplo, a fonte em inglês) e um
arquivo traduzido existente (por exemplo, uma tentativa de tradução anterior
sem po4a). Se você fornecer mais de um mestre ou arquivos de tradução, eles
serão usados em sequência, mas pode ser mais fácil gettextizar cada página
ou capítulo separadamente e, em seguida, usar B<msgmerge> para mesclar todos
os arquivos PO produzidos. Como preferir.

Se o documento mestre possui caracteres não-ASCII, o novo arquivo PO gerado
vai estar in UTF-8. Se o documento mestre estiver completamente em ASCII, o
PO gerado vai usar a codificação do documento de entrada traduzido.

=head1 OPÇÕES

=over 4

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

Formato da documentação que você quer manipular. Use a opção
B<--help-format> para ver a lista de formatos disponíveis.

=item B<-m>, B<--master>

Arquivo contendo o documento mestre para traduzir. Você pode usar esta opção
múltiplas vezes, se você quiser usar gettextize em múltiplos documentos.

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

Conjunto de caracteres do arquivo contendo o documento para traduzir.

=item B<-l>, B<--localized>

Arquivo contendo o documento localizado (traduzido). Se você forneceu
múltiplos arquivos mestre, você pode desejar fornecer múltiplos arquivos
localizados usando esta opção mais de uma vez.

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

Conjunto de caracteres do arquivo contendo o documento localizado.

=item B<-p>, B<--po>

Arquivo para o qual a mensagem deve ser escrita. Se não fornecido, o
catálogo de mensagens será escrito para a saída padrã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<-h>, B<--help>

Mostra uma mensagem de ajuda.

=item B<--help-format>

Lista os formatos de documentação compreendidos pelo po4a.

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

Mantém o mestre temporário e os arquivos POT localizados criados antes da
mesclagem. Isso pode ser útil para entender por que esses arquivos são
dessincronizados, levando a problemas de gettextização.

=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<-d>, B<--debug>

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

=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 Convertendo uma tradução manual em po4a

B<po4a-gettextize> sincroniza os arquivos mestres e localizados para extrair
seu conteúdo em um arquivo PO. O conteúdo do arquivo mestre fornece o
B<msgid> enquanto o conteúdo do arquivo localizado fornece o B<msgstr>. Este
processo é um tanto frágil: supõe-se que a enésima string do arquivo
traduzido seja a tradução da enésima string no original.

A gettextização funciona melhor se você conseguir recuperar a versão exata
do documento original que foi usado para a tradução. Mesmo assim, você pode
precisar mexer com arquivos mestres e localizados para alinhar sua estrutura
se foi alterado pelo tradutor original, então trabalhar em cópias de
arquivos é aconselhado.

Internamente, cada analisador do po4a relata o tipo sintático de cada string
extraída. É assim que a dessincronização é detectada durante a
gettextização. No exemplo mostrado abaixo, é muito improvável que a quarta
string na tradução (do tipo "chapter") seja a tradução da quarta string no
original (do tipo "paragraph"). É mais provável que um novo parágrafo tenha
sido adicionado ao original ou que dois parágrafos originais tenham sido
mesclados na tradução.

    Original         Tradução

  capítulo           capítulo
    parágrafo          parágrafo
    parágrafo          parágrafo
    parágrafo        capítulo
  capítulo              parágrafo
    parágrafo          parágrafo

B<po4a-gettextize> diagnosticará verbosamente qualquer dessincronização de
estrutura. Quando isso acontece, você deve editar manualmente os arquivos
para adicionar parágrafos falsos ou remover algum conteúdo aqui e ali, até
que a estrutura dos dois arquivos corresponda perfeitamente. Alguns truques
são fornecidos abaixo para salvar ao máximo a tradução existente ao fazer
isso.

Se você tiver a sorte de ter uma correspondência perfeita de primeira nas
estruturas de arquivo prontas, construir um arquivo PO correto é uma questão
de segundos. Caso contrário, você logo entenderá por que esse processo tem
um nome tão feio :) Mesmo assim, a gettextização geralmente permanece mais
rápida do que traduzir tudo novamente. Eu gettextifiquei a tradução francesa
de toda a documentação do Perl em um dia, apesar dos problemas de
sincronização. Dada a quantidade de texto (2MB de texto original), reiniciar
a tradução sem primeiro salvar as traduções antigas teria exigido vários
meses de trabalho. Além disso, esse trabalho pesado é o preço a pagar para
obter o conforto do po4a. Uma vez convertido, a sincronização entre
documentos mestre e traduções será sempre totalmente automática.

Após uma gettextização bem sucedida, os documentos produzidos devem ser
verificados manualmente para disparidades não detectadas e erros
silenciosos, como explicado abaixo.

=head3 Dicas e truques para o processo de gettextização

A gettextização para assim que uma dessincronização é detectada. Quando isso
acontece, você precisa editar os arquivos o quanto for necessário para
realinhar as estruturas dos arquivos. B<po4a-gettextize> é bastante
detalhado quando as coisas dão errado. Informa as strings que não
correspondem, suas posições no texto e o tipo de cada uma delas. Além disso,
o arquivo PO gerado até agora é descartado como F<gettextization.failed.po>
para inspeção adicional.

Aqui estão alguns truques para ajudá-lo neste processo tedioso e garantir
que você salve ao máximo a tradução anterior:

=over

=item

Remova todo o conteúdo extra das traduções, como a seção que dá créditos aos
tradutores. Eles devem ser adicionados separadamente a B<po4a> como adendos
(veja L<po4a(7)>).

=item

Ao editar os arquivos para alinhar suas estruturas, prefira editar a
tradução se possível. Na verdade, se as alterações no original forem muito
intrusivas, as versões antiga e nova não serão correspondidas durante a
primeira execução do po4a após a gettextização (veja abaixo). Qualquer
tradução sem correspondência será descartada de qualquer maneira. Dito isto,
você ainda deseja editar o documento original se for muito difícil fazer com
que a gettextização prossiga de outra forma, mesmo que isso signifique que
um parágrafo da tradução seja descartado. O importante é obter um primeiro
arquivo PO para começar.

=item

Não hesite em eliminar qualquer conteúdo original que não exista na versão
traduzida. Este conteúdo será reintroduzido automaticamente posteriormente,
ao sincronizar o arquivo PO com o documento.

=item

Você provavelmente deve informar o autor original de qualquer alteração
estrutural na tradução que pareça justificada. Problemas no documento
original devem ser relatadas ao autor. Corrigi-los na sua tradução os
corrige apenas para uma parte da comunidade. Além disso, é impossível fazer
isso ao usar po4a ;) Mas você provavelmente desejará esperar até o final da
conversão para B<po4a> antes de alterar os arquivos originais.

=item

Algumas vezes, o conteúdo do parágrafo não corresponde, mas não os seus
tipos. Corrigir isso é até dependente do formato. No POD e man,
frequentemente ele vem do fato que um deles contém uma linha começando com
espaço em branco, enquanto a outra não. Naqueles formatos, tal parágrafo não
pode ser dimensionado e, então, se torna um tipo diferente. Basta remover o
espaço e está terminado. Pode ser um erro de escrita no nome da marcação em
XML.

Da mesma forma, dois parágrafos podem ser mesclados no POD quando a linha
separadora contém alguns espaços ou quando não há linha vazia entre a linha
B<=item> e o conteúdo do item.

=item

Às vezes, a mensagem de dessincronização parece estranha porque a tradução
está anexada ao parágrafo original errado. É o sinal de um problema não
detectado no início do processo. Procure o ponto de dessincronização real
inspecionando o arquivo F<gettextization.failed.po> que foi produzido e
corrija o problema onde ele realmente está.

=item

Outros problemas podem vir de strings duplicadas no original ou na
tradução. Strings duplicadas são mescladas em arquivos PO, com duas
referências. Isso constitui uma dificuldade para o algoritmo de
gettextização, que é um emparelhamento simples entre os B<msgid>s dos
arquivos mestre e localizado. No entanto, acredita-se que as versões
recentes do po4a lidam adequadamente com strings duplicadas, portanto você
deve relatar qualquer problema remanescente que possa encontrar.

=back

=head2 Revisando arquivos produzidos pelo B<po4a-gettextize>

Qualquer arquivo produzido pelo B<po4a-gettextize> deve ser revisado
manualmente, mesmo quando o script tiver concluído com sucesso. Você deve
dar uma olhada no arquivo PO, garantindo que B<msgid> e B<msgstr> realmente
correspondam. Ainda não é necessário garantir que a tradução esteja
perfeitamente correta, pois todas as entradas são marcadas como traduções
difusas de qualquer maneira. Você só precisa verificar se há problemas de
correspondência óbvios, pois as traduções com correspondência incorreta
serão descartadas nas etapas subsequentes enquanto você deseja salvá-las.

Felizmente, esta etapa não requer o domínio dos idiomas de destino, pois
você deseja apenas reconhecer elementos semelhantes em cada B<msgid> e seu
B<msgstr> correspondente. Como falante de francês, inglês e um pouco de
alemão, posso fazer isso pelo menos para todos os idiomas europeus, mesmo
que não consiga dizer uma palavra da maioria desses idiomas. Às vezes
consigo detectar problemas de correspondência em idiomas não latinos
observando o comprimento das strings, as estruturas das frases (a quantidade
de pontos de interrogação corresponde?) e outras pistas, mas prefiro quando
outra pessoa pode revisar esses idiomas.

Se você detectar uma incompatibilidade, edite os arquivos originais e de
tradução como se B<po4a-gettextize> tivesse relatado um erro e tente
novamente. Depois de ter um arquivo PO decente para sua tradução anterior,
faça backup dele até que o po4a funcione corretamente.

=head2 Executando B<po4a> pela primeira vez

A maneira mais fácil de configurar o po4a é escrever um arquivo de
configuração B<po4a.conf> e usar o programa B<po4a> integrado
(B<po4a-updatepo> e B<po4a-translate> foram descontinuados). Por favor,
verifique a seção "ARQUIVO DE CONFIGURAÇÃO" na documentação do L<po4a(1)>
para mais detalhes.

Quando B<po4a> for executado pela primeira vez, a versão atual dos
documentos mestre será usada para atualizar os arquivos PO contendo as
traduções antigas que você recuperou através da gettextização. Isso pode
levar muito tempo, porque muitos dos B<msgid>s da gettextização não
correspondem exatamente aos elementos do arquivo POT criado a partir dos
arquivos mestres recentes. Isso força o gettext a procurar o mais próximo
usando um algoritmo custoso de proximidade de string. Por exemplo, a
primeira execução da tradução francesa da documentação Perl (arquivo PO de
5,5 MB) levou cerca de 48 horas (sim, dois dias), enquanto as subsequentes
levaram apenas alguns segundos.

=head2 Movendo suas traduções para produção

Após esta primeira execução, os arquivos PO estão prontos para serem
revisados pelos tradutores. Todas as entradas foram marcadas como
aproximadas (fuzzy) no arquivo PO pelo B<po4a-gettextization>, forçando sua
revisão cuidadosa antes do uso. Os tradutores devem verificar cada entrada
para verificar se a tradução recuperada realmente corresponde ao texto
original atual, atualizar a tradução conforme necessário e remover as
marcações de fuzzy.

Depois que marcadores de fuzzy suficientes forem removidos, B<po4a> começará
a gerar os arquivos de tradução no disco e você estará pronto para mover seu
fluxo de trabalho de tradução para produção. Alguns projetos acham útil
contar com o weblate para coordenação entre tradutores e mantenedores, mas
isso está além do escopo do B<po4a>.

=head1 VEJA TAMBÉM

L<po4a(1)>, L<po4a-normalize(1)>, L<po4a-translate(1)>, L<po4a-updatepo(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).
