.\" Automatically generated by Pod::Man 4.07 (Pod::Simple 3.32) .\" .\" 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 .. .if !\nF .nr F 0 .if \nF>0 \{\ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . if !\nF==2 \{\ . nr % 0 . nr F 2 . \} .\} .\" ======================================================================== .\" .IX Title "Locale::Po4a::Sgml 3pm" .TH Locale::Po4a::Sgml 3pm "2018-12-17" "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" Locale::Po4a::Sgml \- converte documentos \s-1SGML\s0 de/para ficheiros \s-1PO\s0 .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 Locale::Po4a::Sgml é um módulo para ajudar a tradução da documentação no formato \s-1SGML\s0 em outras idiomas [humanos]. .PP Este módulo usa \fBonsgmls\fR(1) para analisar os ficheiros \s-1SGML.\s0 Certifique-se de que é instalado. Certifique-se também de que o \s-1DTD\s0 dos ficheiros \s-1SGML\s0 está instalado no sistema. .SH "OPÇÕES ACEITES POR ESTE MÓDULO" .IX Header "OPÇÕES ACEITES POR ESTE MÓDULO" .IP "\fBdebug\fR" 4 .IX Item "debug" Lista separada por espaço de palavras-chave que indicam que parte você deseja. Valores de depuração possíveis são: tag, generic, entities e refs. .IP "\fBverbose\fR" 4 .IX Item "verbose" Dê mais informações sobre o que está acontecendo. .IP "\fBtranslate\fR" 4 .IX Item "translate" Lista separada por espaços de etiquetas extra (ao lado dos \s-1DTD\s0 fornecidos), cujo conteúdo devem formar um identificador de mensagem extra. .IP "\fBsection\fR" 4 .IX Item "section" Lista separada por espaços de etiquetas extra (ao lado dos \s-1DTD\s0 fornecidos), contendo outras etiquetas, sendo algumas de categoria \fBtranslate\fR. .IP "\fBindent\fR" 4 .IX Item "indent" Lista separada por espaço de etiquetas que aumentam o nível de recuo. .IP "\fBverbatim\fR" 4 .IX Item "verbatim" A apresentação dentro dessas marcas não deve ser alterada. Este número não vai ficar envolvido e, não há espaço de recuo extra ou nova linha será adicionada para finalidade estética. .IP "\fBempty\fR" 4 .IX Item "empty" Etiquetas não precisam ser fechados .IP "\fBignore\fR" 4 .IX Item "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, é um bom candidato para esta categoria desde que o coloque na secção de traduzir criaria identificadores de mensagens não sendo frases inteiras, o que é mau. .IP "\fBattributes\fR" 4 .IX Item "attributes" Uma lista separada por espaços de atributos que precisam ser traduzidos. Você pode especificar os atributos pelos seus nomes (por exemplo, \*(L"lang\*(R"), mas você 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: lang especifica que o atributo 'lang' só será traduzido se estiver numa etiqueta , que é uma etiqueta Os nomes de etiqueta são realmente expressões regulares, então você também pode escrever coisas como lang para apenas traduzir os atributos 'lang' que estão num ou uma etiqueta . .IP "\fBqualify\fR" 4 .IX Item "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'. .IP "\fBforce\fR" 4 .IX Item "force" Proceder mesmo se o \s-1DTD\s0 é desconhecido ou se onsgmls encontra erros no ficheiro de entrada. .IP "\fBinclude-all\fR" 4 .IX Item "include-all" Por padrão, o 'msgids' contém apenas uma entidade (como '&version;') são ignorados para o conforto tradutor. Ativando esta opção impede que ista otimização. Pode ser útil se o documento contém uma construção como \&\*(L"Á\*(R" , mesmo que eu duvide que tais coisas sempre acontecem ... .IP "\fBignore-inclusion\fR" 4 .IX Item "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. .SH "STATUS DESTE MÓDULO" .IX Header "STATUS DESTE MÓDULO" O resultado é perfeito. Ou seja, os documentos gerados são exatamente os mesmos. Mas ainda há alguns problemas: .IP "\(bu" 2 The error output of onsgmls is redirected to /dev/null by default, which is clearly bad. I don't know how to avoid that. .Sp O problema é que eu tenho para \*(L"proteger\*(R" as inclusões condicionais (ou seja, o material \f(CW\*(C`\*(C'\fR) de 'onsgmls'. Caso contrário 'onsgmls' come-os e, eu não sei como restaurá\-los no documento final. Para evitar isso, eu reescrevi-os para \f(CW\*(C`{po4a\-beg\-foo}\*(C'\fR e \&\f(CW\*(C`{po4a\-final}\*(C'\fR. .Sp The problem with this is that the \f(CW\*(C`{PO4A\-end}\*(C'\fR and such I add are invalid in the document (not in a

tag or so). .Sp If you want to view the onsgmls output, just add the following to your command line (or po4a configuration line): .Sp .Vb 1 \& \-o debug=onsgmls .Ve .IP "\(bu" 2 Ele funciona apenas com o DebianDoc e DocBook \s-1DTD.\s0 Adicionar suporte para um novo \s-1DTD\s0 deve ser muito fácil. O mecanismo é o mesmo para cada \s-1DTD,\s0 só tem que dar uma lista das etiquetas existentes e algumas das suascaracterísticas. .Sp Concordo. apenas necessita mais documentação, no entanto pode ser considerado como beta e eu detesto conteúdos de documentos que podem ainda ser sujeitos a alterações. .IP "\(bu" 2 Aviso, o suporte para DTDs é bastante experimental. Eu 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. .Sp Eu testei DocBook contra o \s-1SAG \s0(Guia do Administrador do Sistema), mas também este documento é muito grande, e deve usar mais especificidades do DocBook. .Sp Para DebianDoc, eu testei alguns dos manuais da \s-1DDP,\s0 mas não todos ainda. .IP "\(bu" 2 Em caso de inclusão de ficheiros, a sequência de referência de mensagens em ficheiros \s-1PO \s0(ou seja, linhas como \f(CW\*(C`#: en/titletoc. sgml:9460\*(C'\fR) vai estar errada. .Sp Isso é porque eu pre-processei o ficheiro para proteger a inclusão condicional (ou seja, o material \f(CW\*(C`) e algumas entidades (como &version;) de 'onsgmls' porque eu 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. .Sp Assim ele funciona, eu substituí as entidades que pedem a inclusão de ficheiros pelo conteúdo do ficheiro de dados (para que eu 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. Eu não tenho certeza qual é a melhor coisa a fazer. .SH "AUTORES" .IX Header "AUTORES" Este módulo é uma versão adaptada do 'sgmlspl' (pós\-processador \s-1SGML\s0 para os analisadores \s-1SGMLS\s0 e \s-1ONSGMLS\s0) que foi: .PP .Vb 1 \& Copyright © 1995 David Megginson .Ve .PP A adaptação para po4a foi feito por: .PP .Vb 3 \& Denis Barbier \& Martin Quinson (mquinson#debian.org) \&=head1 DIREITOS DE AUTOR E LICENÇA \& \& Copyright © 1995 David Megginson . \& Copyright © 2002\-2005 SPI, Inc. .Ve .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).