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

Locale::Po4a::Sgml - converte documentos SGML de/para ficheiros PO

=head1 DESCRIÇÃO

O objetivo do projeto po4a (PO for anything: PO para qualquer coisa) é facilitar traduções (e o mais interessante, a manutenção das traduções) a usar as ferramentas do gettext em áreas em que não se esperava, como na documentação.

Locale::Po4a::Sgml é um módulo para ajudar a tradução da documentação no formato SGML em outras idiomas [humanos].

Este módulo usa B<onsgmls>(1) para analisar os ficheiros SGML. Certifique-se de que é instalado. Certifique-se também de que o DTD dos ficheiros SGML está instalado no sistema.

=head1 OPÇÕES ACEITES POR ESTE MÓDULO

=over 4

=item B<debug>

Lista separada por espaços de palavras-chave que indicam que parte deseja depurar. Valores de depuração possíveis são: tag, generic, entities e refs.

=item B<verbose>

Dê mais informações sobre o que está a acontecer.

=item B<translate>

Lista separada por espaços de etiquetas extra (ao lado dos DTD fornecidos), cujo conteúdo devem formar um identificador de mensagem extra.

=item B<section>

Lista separada por espaços de etiquetas extra (ao lado dos DTD fornecidos), a conter outras etiquetas, a ser algumas de categoria B<translate>.

=item B<indent>

Lista separada por espaço de etiquetas que aumentam o nível de recuo.

=item B<verbatim>

A apresentação dentro dessas marcas não deve ser alterada. Este parágrafo não vai ficar envolvido e não há espaço de recuo adicional ou nova linha será adicionada para finalidade estética.

=item B<empty>

Etiquetas que não precisam ser fechadas.

=item B<ignore>

Etiquetas ignoradas e consideradas como simples dados de carateres por po4a. Isso quer dizer que elas podem ser parte de um identificador de mensagem. Por exemplo, E<lt>bE<gt> é um bom candidato para esta categoria desde que o ponha na secção de traduzir criaria identificadores de mensagens não a ser frases inteiras, o que é mau.

=item B<attributes>

Uma lista separada por espaços de atributos que precisam ser traduzidos. Pode especificar os atributos pelos seus nomes (por exemplo, "lang"), mas pode também prefixá-lo com uma hierarquia de etiquetas, para especificar que este atributo será apenas traduzido quando está na etiqueta especificada, por exemplo: E<lt>bbbE<gt>E<lt>aaaE<gt>lang especifica que o atributo 'lang' só será traduzido se estiver numa etiqueta E<lt>aaaE<gt>, que é uma etiqueta E<lt>bbbE<gt> Os nomes de etiquetas são realmente expressões regulares, então também podem escrever coisas como E<lt>aaa|bbbbE<gt>lang para apenas traduzir os atributos 'lang' que estão num E<lt>aaaE<gt> ou uma etiqueta E<lt>bbbE<gt>.

=item B<qualify>

Uma lista separada por espaços de atributos para que a tradução deve ser qualificada pelo nome do atributo. Note que esta definição adiciona automaticamente o atributo dado também na lista dos 'atributos'.

=item B<force>

Proceder mesmo se o DTD é desconhecido ou se onsgmls encontra erros no ficheiro de entrada.

=item B<include-all>

Por predefinição, o 'msgids' contém apenas uma entidade (como '&version;') são ignorados para o conforto do tradutor. Ativando esta opção impede que ista otimização. Pode ser útil se o documento contém uma construção como "<title>&Aacute;</title>" , mesmo que duvide que tais coisas sempre acontecem ...

=item B<ignore-inclusion>

Lista separada por espaço de entidades que não será indexadas. Use esta opção com cuidado: ela pode causar onsgmls (usado internamente) para adicionar etiquetas e render o documento de saída inválida.

=back

=head1 ESTADO DESTE MÓDULO

O resultado é perfeito. Ou seja, os documentos gerados são exatamente os mesmos. Mas ainda há alguns problemas:

=over 2

=item *

A saída de erro do onsgmls é redirecionada para /dev/null por predefinição, o que obviamente é ruim. Não sei como evitar isso.

O problema é que tenho a "proteger" as inclusões condicionais (ou seja, o material C<E<lt>! [%foo [> e C<]]E<gt>>) de 'onsgmls'. Caso contrário 'onsgmls' come-os e, não sei como restaurá-los no documento final. Para evitar isso, reescrevi-os para C<{po4a-beg-foo}> e C<{po4a-final}>.

O problema com isso é que o C<{PO4A-end}> e outros que acrescento, são inválidos no documento (não numa marcação E<lt>pE<gt> ou similar).

Se quiser ver a saída do onsgmls, adicione o seguinte à sua linha de comandos (ou linha de configuração po4a):

  -o debug=onsgmls

=item *

Ele funciona apenas com o DebianDoc e DocBook DTD. Adicionar suporte para um novo DTD deve ser muito fácil. O mecanismo é o mesmo para cada DTD, só tem que dar uma lista das etiquetas existentes e algumas das suascaracterísticas.

Concordo. apenas necessita mais documentação, no entanto pode ser considerado como beta e detesto conteúdos de documentos que podem ainda ser sujeitos a alterações.

=item *

Aviso, o suporte para DTDs é bastante experimental. Não li nenhum manual de referência para encontrar a definição de cada etiqueta. Adicionei a definição de etiqueta para o módulo, até que funciona para alguns documentos que eu encontrei na Internet. Se o documento usar mais etiqueta do que a minha, não vai funcionar. Mas como eu disse acima, reparar isto deve ser muito fácil.

Testei DocBook contra o SAG (Guia do Administrador do Sistema), mas também este documento é muito grande e deve usar mais especificidades do DocBook.

Para DebianDoc, testei alguns dos manuais da DDP, mas não todos ainda.

=item *

Em caso de inclusão de ficheiros, a cadeia de referência de mensagens em ficheiros PO (ou seja, linhas como C<#: en/titletoc. sgml:9460>) vai estar errada.

Isso é porque pre-processei o ficheiro para proteger a inclusão condicional (ou seja, o material C<E<lt>! [%foo [> e C<]]E <gt>>) e algumas entidades (como &version;) de 'onsgmls' porque quero-os textualmente no documento gerado. Para isso, fiz uma cópia temporária do ficheiro de entrada e faço todos as mudanças que quero para este antes de o passar para 'onsgmls' para análise.

Assim ele funciona, substituí as entidades que pedem a inclusão de ficheiros pelo conteúdo do ficheiro de dados (para que possa proteger também o que precisa de estar num sub-ficheiro também). Mas nada se fez até agora para corrigir as referências (ou seja o nome do ficheiro e o número da linha) mais tarde. Não tenho certeza qual é a melhor coisa a fazer.

=back

=head1 AUTORES

Este módulo é uma versão adaptada do 'sgmlspl' (pós-processador SGML para os analisadores SGMLS e ONSGMLS) que foi:

 Copyright © 1995 David Megginson <dmeggins@aix1.uottawa.ca>

A adaptação para po4a foi feito por:

 Denis Barbier <barbier@linuxfr.org>
 Martin Quinson (mquinson#debian.org)

=head1 DIREITOS DE AUTOR E LICENÇA

 Copyright © 1995 David Megginson <dmeggins@aix1.uottawa.ca>.
 Copyright © 2002-2005 SPI, Inc.

Este programa é software livre, pode redistribuí-lo e/ou modificá-lo sob os termos da GPL (consulte o ficheiro CÓPIA).

