.\" Automatically generated by Pod::Man 4.14 (Pod::Simple 3.43) .\" .\" 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 .. .nr rF 0 .if \n(.g .if rF .nr rF 1 .if (\n(rF:(\n(.g==0)) \{\ . if \nF \{\ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . if !\nF==2 \{\ . nr % 0 . nr F 2 . \} . \} .\} .rr rF .\" ======================================================================== .\" .IX Title "Locale::Po4a::TeX 3pm" .TH Locale::Po4a::TeX 3pm "2023-01-03" "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::TeX \- converte documentos TeX e derivados de/para ficheiros \s-1PO\s0 .SH "DESCRIÇÃO" .IX Header "DESCRIÇÃO" O objetivo do projeto po4a (\s-1PO\s0 for anything: \s-1PO\s0 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. .PP Locale::Po4a::TeX é um módulo para ajudar na tradução de documentos TeX em outra língua [humana]. Também pode ser usado como uma base para a construção de módulos de TeX documentos baseados. .PP Utilizadores provavelmente deveriam usar o módulo LaTeX, o qual herdou do módulo TeX e contém as definições dos comandos comuns do LaTeX. .SH "TRADUÇÃO COM PO4A::TEX" .IX Header "TRADUÇÃO COM PO4A::TEX" Este módulo pode ser usado diretamente para lidar com documentos genéricos TeX. Isto irá dividir o seu documento em blocos menores (parágrafos, blocos textuais, ou mesmo menores, como títulos ou índices). .PP Há algumas opções (descritas na próxima secção) que podem personalizar este comportamento. Se isso não se adequar ao formato do seu documento, encorajamos-o a escrever o seu próprio módulo derivado deste, para descrever os detalhes do seu formato. Veja a secção abaixo \fB\s-1ESCREVENDO\s0 MÓDULOS \s-1DERIVADOS\s0\fR, para a descrição do processo. .PP Esse módulo também pode ser personalizado por linhas iniciais com \*(L"% po4a:\*(R" no ficheiro TeX. Esse processo é descrito na secção \fBPERSONALIZAÇÃO \s-1INTEGRADA\s0\fR. .SH "OPÇÕES ACEITES POR ESTE MÓDULO" .IX Header "OPÇÕES ACEITES POR ESTE MÓDULO" Estas são as opções particulares deste módulo: .IP "\fBdebug\fR" 4 .IX Item "debug" Ativar a depuração para alguns mecanismos internos deste módulo. Use a fonte para ver que partes podem ser depuradas. .IP "\fBno_wrap\fR" 4 .IX Item "no_wrap" Lista de ambientes separada por vírgula que não deve ser re-envolvidos. .Sp Note que há uma diferença entre os ambientes textuais e no_wrap. Não existe um comando e análise de comentários em blocos textuais. .Sp Se este ambiente não foi já registado, po4a irá considerar que este ambiente não leva nenhum parâmetro. .IP "\fBexclude_include\fR" 4 .IX Item "exclude_include" Lista de ficheiros separada por dois pontos que não devem ser incluídos por \einput e \einclude. .IP "\fBdefinitions\fR" 4 .IX Item "definitions" O nome de um ficheiro que contém as definições para po4a, como definido na secção \fB\s-1INLINE CUSTOMIZATION\s0\fR. Pode usar esta opção se não é possível pôr as definições no documento a ser traduzido. .IP "\fBverbatim\fR" 4 .IX Item "verbatim" Lista de ambientes separada por vírgula que devem ser tomados como textuais. .Sp Se este ambiente não foi já registado, po4a irá considerar que este ambiente não leva nenhum parâmetro. .PP Use these options to override the default behavior of the defined commands. .SH "INLINE CUSTOMAZITION" .IX Header "INLINE CUSTOMAZITION" O módulo TeX pode ser personalizado com linhas a começar por \fB% po4a:\fR. Estas as linhas são interpretadas como comandos para o analisador. Os seguintes comandos são reconhecido: .IP "\fB% po4a: command\fR \fIcommand1\fR \fBalias\fR \fIcommand2\fR" 4 .IX Item "% po4a: command command1 alias command2" Indica que os argumentos do comando \fIcommand1\fR devem ser tratado como os argumentos do comando \fIcommand2\fR. .IP "\fB% po4a: command\fR \fIcommand1\fR \fIparameters\fR" 4 .IX Item "% po4a: command command1 parameters" This describes in detail the parameters of the \fIcommand1\fR command. This information will be used to check the number of arguments and their types. .Sp Pode preceder o comando \fIcommand1\fR por .RS 4 .IP "um asterisco (\fB*\fR)" 4 .IX Item "um asterisco (*)" po4a irá extrair este comando a partir de parágrafos (se ele está localizado no começo ou o fim de um parágrafo). Os tradutores terão então de traduzir os parâmetros que são marcados como traduzível. .IP "um mais (\fB+\fR)" 4 .IX Item "um mais (+)" As for an asterisk, the command will be extracted if it appear at an extremity of a block, but the parameters won't be translated separately. The translator will have to translate the command concatenated to all its parameters. This keeps more context, and is useful for commands with small words in parameter, which can have multiple meanings (and translations). .Sp Nota: Neste caso, não tem que especificar quais os parâmetros que são traduzíveis, mas po4a deve saber o tipo e a quantidade de parâmetros. .IP "um menos (\fB\-\fR)" 4 .IX Item "um menos (-)" Neste caso, o comando não será extraído a partir de qualquer bloco. Mas se aparece sozinho num bloco, então, apenas os parâmetros marcados como traduzíveis serão apresentados ao tradutor. Isto é útil para os comandos de fonte. Estes comandos geralmente não devem ser separados dos seus parágrafos (para manter o contexto), mas não há motivo para chatear o tradutor com eles, se uma cadeia inteira é incluída em tal comando. .RE .RS 4 .Sp O argumento \fIparameters\fR é um conjunto de [] (para indicar um argumento opcional) ou {} (para indicar um argumento obrigatório). Pode pôr um traço baixo (_) entre estas chavetas para indicar isso O parâmetro deve ser traduzido. Por exemplo: % po4a: command *chapter [_]{_} .Sp Isto indica que o comando capítulo tem dois parâmetros: um opcional (título curto) e um obrigatório, que devem ser ambos traduzidos. Se quer especificar que o comando 'href' tem dois parâmetros obrigatórios, que não quer traduzir o '\s-1URL\s0' (primeiro parâmetro) e que não quer que esse comando seja separado do seu parágrafo (que permitem ao tradutor mover a ligação (link) na frase), pode usar: \f(CW%po4a:\fR comando \-href {} {_} .Sp Neste caso, a informação a indicar que argumentos devem ser traduzidos só é usada se um parágrafo é composto apenas por este comando href. .RE .IP "\fB% po4a: ambiente\fR \fIenv\fR \fIparameters\fR" 4 .IX Item "% po4a: ambiente env parameters" This defines the parameters accepted by the \fIenv\fR environment and specifies the ones to be translated. This information is later used to check the number of arguments of the \&\ebegin command. The syntax of the \fIparameters\fR argument is the same as described for the others commands. The first parameter of the \ebegin command is the name of the environment. This parameter must not be specified in the list of parameters. Here are some examples: % po4a: environment multicols {} % po4a: environment equation .Sp Como para os comandos, \fIenv\fR pode ser precedido por um sinal de mais (+) para indicar que o comando \ebegin deve ser traduzido com todos os seus argumentos. .ie n .IP "\fB% po4a: separator\fR \fIenv\fR \fB""\fR\fIregex\fR\fB""\fR" 4 .el .IP "\fB% po4a: separator\fR \fIenv\fR \fB``\fR\fIregex\fR\fB''\fR" 4 .IX Item "% po4a: separator env ""regex""" Indica que um ambiente deve ser dividido de acordo com a expressão regular dada. .Sp The regular expression is delimited by quotes. It should not create any back-reference. You should use (?:) if you need a group. It may also need some escapes. .Sp Por exemplo, o módulo LaTeX usa a \*(L"(:?&|\e\e\e\e)\*(R" expressão regular para traduzir separadamente cada célula de uma tabela (linhas são separadas por '\e\e' e por células por '&'). .Sp A noção de ambiente é expandida ao tipo exibido no ficheiro \s-1PO.\s0 Isso pode ser usado para dividir em \*(L"\e\e\e\e\*(R" no primeiro argumento obrigatório no comando title. neste caso, o ambiente é title{#1}. .IP "B <% po4a: ambiente textual> \fIenv\fR" 4 .IX Item "B <% po4a: ambiente textual> env" Indica que \fIenv\fR é um ambiente textual. Comentários e comandos serão ignorados neste ambiente. .Sp Se este ambiente não foi já registado, po4a irá considerar que este ambiente não leva nenhum parâmetro. .SH "ESCREVENDO MÓDULOS DERIVADOS" .IX Header "ESCREVENDO MÓDULOS DERIVADOS" .IP "\fBpre_trans\fR" 4 .IX Item "pre_trans" .PD 0 .IP "\fBpost_trans\fR" 4 .IX Item "post_trans" .IP "\fBadd_comment\fR" 4 .IX Item "add_comment" .PD Adiciona uma cadeia como um comentário a ser adicionado em torno do próximo elemento traduzido. Isso é principalmente útil para o módulo texinfo, já que os comentários são tratados automaticamente no TeX. .IP "\fBtranslate\fR" 4 .IX Item "translate" Envolvido em torno da tradução do Transtractor, com filtros pré e pós\-processamento. .Sp Comentários de um parágrafo são inseridos como um comentário \s-1PO\s0 para a primeira cadeia traduzida deste parágrafo. .IP "\fBget_leading_command\fR($buffer)" 4 .IX Item "get_leading_command($buffer)" Esta função retorna: .RS 4 .IP "Um nome de comando" 4 .IX Item "Um nome de comando" Se nenhum comando é encontrado no início do 'buffer' dado, esta cadeia estará vazia. Apenas os comandos que podem ser separados são considerados. O \f(CW%separated_command\fR contém a lista desses comandos. .IP "Uma variante" 4 .IX Item "Uma variante" Isto indica se uma variante é usada. Por exemplo, um asterisco (*) pode ser adicionado no final das secções de comando para especificar que não devem ser numerada. Neste caso, o campo irá conter \*(L"*\*(R". Se não houver uma variante, o campo é uma cadeia vazia. .IP "Uma matriz de tuplos (tipo de argumento, argumento)" 4 .IX Item "Uma matriz de tuplos (tipo de argumento, argumento)" O tipo de argumento pode ser '{' (para argumentos obrigatórios) ou '[' (para argumentos opcionais). .IP "O 'buffer' restante" 4 .IX Item "O 'buffer' restante" O resto do 'buffer' após a remoção do comando de liderança e os argumentos dele. Se nenhum comando for encontrado, o 'buffer' original não é tocado e retornado neste campo. .RE .RS 4 .RE .IP "\fBget_trailing_command\fR($buffer)" 4 .IX Item "get_trailing_command($buffer)" O mesmo que \fBget_leading_command\fR, mas para comandos no fim do 'buffer'. .IP "\fBtranslate_buffer\fR" 4 .IX Item "translate_buffer" Recursivamente traduzir um 'buffer' a separar comandos à esquerda e à direita (aqueles que devem ser convertidos em separado) a partir do 'buffer'. .Sp Se uma função é definida em \f(CW%translate_buffer_env\fR para o atual ambiente, esta função irá ser usada para converter o 'buffer' em vez de translate_buffer (). .IP "\fBread\fR" 4 .IX Item "read" Sobrepõe o \fBread()\fR do Transtractor. .IP "\fBread_file\fR" 4 .IX Item "read_file" Recursivamente ler um ficheiro, a anexar ficheiros incluídos que não estão listadas na matriz \f(CW@exclude_include\fR. Ficheiros incluídos são pesquisados a utilizar o comando \fBkpsewhich\fR comando a partir da biblioteca kpathsea. .Sp Com exceção de parte a inclusão do ficheiros, é um corte e cole a partir da leitura Transtractor. .IP "\fBparse_definition_file\fR" 4 .IX Item "parse_definition_file" Sub-rotina para analisar um ficheiro com as directivas po4a (definições de novoscomandos). .IP "\fBparse_definition_line\fR" 4 .IX Item "parse_definition_line" Analisar uma linha de definição da forma \*(L"% po4a:\*(R". .Sp Ver a secção \fB\s-1INLINE CUSTOMIZATION\s0\fR para mais detalhes. .IP "\fBis_closed\fR" 4 .IX Item "is_closed" .PD 0 .IP "\fBparse\fR" 4 .IX Item "parse" .IP "\fBdocheader\fR" 4 .IX Item "docheader" .PD .SH "FUNÇÕES INTERNAS usadas para escrever analisadores derivados" .IX Header "FUNÇÕES INTERNAS usadas para escrever analisadores derivados" Funções de comando e ambiente que precisam dos seguintes argumentos (em adição do objeto \f(CW$self\fR): .IP "Um nome de comando" 4 .IX Item "Um nome de comando" .PD 0 .IP "Uma variante" 4 .IX Item "Uma variante" .IP "Uma matriz de tuplos (tipo, argumneto)" 4 .IX Item "Uma matriz de tuplos (tipo, argumneto)" .IP "O ambiente corrente" 4 .IX Item "O ambiente corrente" .PD .PP Os primeiros três argumentos são extraídos por get_leading_command ouget_trailing_command. .PP Funções de comando e ambiente retornam a tradução do comando com os argumentos dele e um novo ambiente. .PP Funções do ambiente são chamadas quando um comando \ebegin é encontrado. Eles são chamados com o comando \ebegin e os argumentos dele. .PP O módulo TeX propõe apenas uma função de comando e uma função de ambiente: generic_command e generic_environment. .PP generic_command usa as informações especificadas por register_generic_command ou pela adição de definição para o ficheiro TeX: \f(CW%po4a:\fR comando \fIcommand1\fR \fIparameters\fR .PP generic_environment usa as informações especificadas por register_generic_environment ou pela adição de definição para o ficheiro TeX: \&\f(CW%po4a:\fR ambiente \fIenv\fR \fIparameters\fR .PP Ambas as funções só traduzem os parâmetros que foram especificados como traduzível (com um '_'). generic_environment irá acrescentar o nome do ambiente à pilha do ambiente e generic_command irá acrescentar o nome do comando seguido por um identificador do parâmetro (como {#7} ou [#2]). .SH "ESTADO DESTE MÓDULO" .IX Header "ESTADO DESTE MÓDULO" Este módulo precisa de mais testes. .PP Ele foi testado num livro e com a documentação de Python. .SH "LISTA PARAFAZER" .IX Header "LISTA PARAFAZER" .IP "Detecção automática de novos comandos" 4 .IX Item "Detecção automática de novos comandos" O módulo TeX pode analisar os argumentos do novo comando e tentar adivinhar a quantidade de argumentos, o tipo deles e se eles devem ou não ser traduzidos. .IP "Tradução do separador de ambiente" 4 .IX Item "Tradução do separador de ambiente" Quando \eitem é utilizado como um separador de ambiente, o argumento item é ligado à seguinte cadeia. .IP "Alguns comandos devem ser adicionados à pilha de ambiente" 4 .IX Item "Alguns comandos devem ser adicionados à pilha de ambiente" These commands should be specified by couples. This can be used to specify commands beginning or ending a verbatim environment. .IP "Outros" 4 .IX Item "Outros" Vários outros pontos são marcados A \s-1FAZER\s0 na fonte. .SH "ERROS CONHECIDOS" .IX Header "ERROS CONHECIDOS" Vários pontos são marcados CORREÇÃO na fonte. .SH "VER TAMBÉM" .IX Header "VER TAMBÉM" \&\fBLocale::Po4a::LaTeX\fR\|(3pm), \fBLocale::Po4a::TransTractor\fR\|(3pm), \fBpo4a\fR\|(7) .SH "AUTORES" .IX Header "AUTORES" .Vb 1 \& Nicolas François .Ve .SH "DIREITOS DE AUTOR E LICENÇA" .IX Header "DIREITOS DE AUTOR E LICENÇA" Copyright © 2004, 2005 Nicolas FRANÇOIS . .PP Este programa é software livre, pode redistribuí\-lo e/ou modificá\-lo sob os termos da \s-1GPL\s0 (consulte o ficheiro CÓPIA).