LOCALE::PO4A::TEX.3PM(1) User Contributed Perl Documentation NOME Locale::Po4a::TeX - converte documentos TeX e derivados de/para ficheiros PO DESCRICAO O objetivo do projeto po4a (PO for anything: PO para qualquer coisa) e facilitar traducoes (e o mais interessante, a manutencao das traducoes) a usar as ferramentas do gettext em areas em que nao se esperava, como na documentacao. Locale::Po4a::TeX e um modulo para ajudar na traducao de documentos TeX em outras linguas [humanas]. Tambem pode ser usado como uma base para a construcao de modulos para documentos baseados em TeX. Utilizadores provavelmente deveriam usar o modulo LaTeX, o qual herdou do modulo TeX e contem as definicoes dos comandos comuns do LaTeX. TRADUCAO COM PO4A::TEX Este modulo pode ser usado diretamente para lidar com documentos genericos TeX. Isto ira dividir o seu documento em blocos menores (paragrafos, blocos textuais, ou mesmo menores, como titulos ou indices). Ha algumas opcoes (descritas na proxima seccao) que podem personalizar este comportamento. Se isso nao se adequar ao formato do seu documento, encorajamos-o a escrever o seu proprio modulo derivado deste, para descrever os detalhes do seu formato. Veja a seccao abaixo WRITING DERIVATE MODULES, para a descricao do processo. Esse modulo tambem pode ser personalizado por linhas iniciais com "% po4a:" no ficheiro TeX. Esse processo e descrito na seccao INLINE CUSTOMIZATION. OPCOES ACEITES POR ESTE MODULO Estas sao as opcoes particulares deste modulo: debug Ativar a depuracao para alguns mecanismos internos deste modulo. Use a fonte para ver que partes podem ser depuradas. no_wrap Lista de ambientes separados por virgulas que nao devem ser re-envolvidos. Note que ha uma diferenca entre os ambientes verbatim e no_wrap. Nao existe um comando e analise de comentarios em blocos verbatim (literais). Se este ambiente nao foi ja registado, po4a ira considerar que este ambiente nao leva nenhum parametro. exclude_include Lista de ficheiros separados por dois pontos que nao devem ser incluidos por \input e \include. definitions O nome de um ficheiro que contem as definicoes para po4a, como definido na seccao INLINE CUSTOMIZATION. Pode usar esta opcao se nao e possivel por as definicoes no documento a ser traduzido. verbatim Lista de ambientes separados por virgulas que devem ser tomados como literais. Se este ambiente nao foi ja registado, po4a ira considerar que este ambiente nao leva nenhum parametro. Use essas opcoes para sobrepor o comportamento predefinido dos comandos definidos. PERSONALIZACAO EM LINHA O modulo TeX pode ser personalizado com linhas a comecar por % po4a:. Estas as linhas sao interpretadas como comandos para o analisador. Os seguintes comandos sao reconhecido: % po4a: command command1 alias command2 Indica que os argumentos do comando command1 devem ser tratado como os argumentos do comando command2. % po4a: command command1 parameters Isso descreve em detalhe os parametros do comando comando1. Essa informacao sera usada para verificar a quantidade de argumentos e os seus tipos. Pode preceder o comando command1 por um asterisco (*) po4a ira extrair este comando a partir de paragrafos (se ele esta localizado no comeco ou o fim de um paragrafo). Os tradutores terao entao de traduzir os parametros que sao marcados como traduzivel. um sinal mais (+) Assim como o asterisco, o comando sera extraido se ele aparecer numa extremidade de um bloco, mas os parametros nao serao traduzidos separadamente. O tradutor tera que traduzir o comando concatenado a todos os seus parametros. Isso mantem mais o contexto e e util para comandos com palavras pequenas em parametro, o qual pode ter multiplos significados (e traducoes). Nota: Neste caso, nao tem que especificar quais os parametros que sao traduziveis, mas po4a deve saber o tipo e a quantidade de parametros. um sinal menos (-) Neste caso, o comando nao sera extraido a partir de qualquer bloco. Mas se aparece sozinho num bloco, entao, apenas os parametros marcados como traduziveis serao apresentados ao tradutor. Isto e util para os comandos de fonte. Estes comandos geralmente nao devem ser separados dos seus paragrafos (para manter o contexto), mas nao ha motivo para chatear o tradutor com eles, se uma cadeia inteira e incluida em tal comando. O argumento parameters e um conjunto de [] (para indicar um argumento opcional) ou {} (para indicar um argumento obrigatorio). Pode por um traco baixo (_) entre estas chavetas para indicar isso O parametro deve ser traduzido. Por exemplo: % po4a: command *chapter [_]{_} Isto indica que o comando capitulo tem dois parametros: um opcional (titulo curto) e um obrigatorio, que devem ser ambos traduzidos. Se quer especificar que o comando 'href' tem dois parametros obrigatorios, que nao quer traduzir o 'URL' (primeiro parametro) e que nao quer que esse comando seja separado do seu paragrafo (que permitem ao tradutor mover a ligacao (link) na frase), pode usar: %po4a: comando -href {} {_} Neste caso, a informacao que indica quais argumentos devem ser traduzidos so e usada se um paragrafo e composto apenas por este comando href. % po4a: environment env parameters Isso define os parametros aceites pelo ambiente ambiente e especifica quais serao traduzidos. Essa informacao e posteriormente usada para verificar a quantidade de argumentos do comando \begin. A sintaxe do argumento parametros e a mesma da descrita para outros comandos. O primeiro parametro do comando \begin e o nome do ambiente. Este parametro nao deve ser especificado na lista de parametros. Veja alguns exemplos: % po4a: environment multicols {} % po4a: environment equation Como para os comandos, env pode ser precedido por um sinal de mais (+) para indicar que o comando \begin deve ser traduzido com todos os seus argumentos. % po4a: separator env "regex" Indica que um ambiente deve ser dividido de acordo com a expressao regular dada. A expressao regular e delimitada por aspas. Ela nao deveria criar qualquer referencia propria. Deveria usar (?:) se precisa de um grupo. Tambem pode ser necessario alguns escapes. Por exemplo, o modulo LaTeX usa a "(:?&|\\\\)" expressao regular para traduzir separadamente cada celula de uma tabela (linhas sao separadas por '\\' e por celulas por '&'). A nocao de ambiente e expandida ao tipo exibido no ficheiro PO. Isso pode ser usado para dividir em "\\\\" no primeiro argumento obrigatorio no comando title. neste caso, o ambiente e title{#1}. % po4a: verbatim environment env Indica que env e um ambiente literal. Comentarios e comandos serao ignorados neste ambiente. Se este ambiente nao foi ja registado, po4a ira considerar que este ambiente nao leva nenhum parametro. ESCREVENDO MODULOS de DERIVA pre_trans post_trans add_comment Adiciona uma cadeia como um comentario a ser adicionado em torno do proximo elemento traduzido. Isso e principalmente util para o modulo texinfo, ja que os comentarios sao tratados automaticamente no TeX. translate Envolucro em torno da traducao do Transtractor, com filtros pre e pos-processamento. Comentarios de um paragrafo sao inseridos como um comentario PO para a primeira cadeia traduzida deste paragrafo. get_leading_command($buffer) Esta funcao retorna: Um nome de comando Se nenhum comando e encontrado no inicio do 'buffer' dado, esta cadeia estara vazia. Apenas os comandos que podem ser separados sao considerados. A cinza %separated_command contem a lista desses comandos. Uma variante Isto indica se uma variante e usada. Por exemplo, um asterisco (*) pode ser adicionado no final das seccoes de comando para especificar que nao devem ser numeradas. Neste caso, o campo ira conter "*". Se nao houver uma variante, o campo e uma cadeia vazia. Uma matriz de tuplos (tipo de argumento, argumento) O tipo de argumento pode ser '{' (para argumentos obrigatorios) ou '[' (para argumentos opcionais). O 'buffer' restante O resto do 'buffer' apos a remocao deste comando de lideranca e os argumentos dele. Se nenhum comando for encontrado, o 'buffer' original nao e tocado e retornado neste campo. get_trailing_command($buffer) O mesmo que get_leading_command, mas para comandos no fim dum 'buffer'. translate_buffer Recursivamente traduz um 'buffer' ao separar comandos a esquerda e a direita (aqueles que devem ser traduzidos em separado) a partir do 'buffer'. Se uma funcao e definida em %translate_buffer_env para o ambiente atual, esta funcao ira ser usada para converter o 'buffer' em vez de translate_buffer (). read Sobrecarrega o read() do Transtractor. read_file Recursivamente le um ficheiro, anexando ficheiros incluidos que nao estao listados na matriz @exclude_include. Ficheiros incluidos sao pesquisados utilizando o comando kpsewhich a partir da biblioteca kpathsea. Com excepcao da parte da inclusao do ficheiro, e um corte e cole a partir da leitura do Transtractor. parse_definition_file Sub-rotina para analisar um ficheiro com as diretivas po4a (definicoes de novos comandos). parse_definition_line Analisa uma linha de definicao do formato "% po4a:". Veja a seccao INLINE CUSTOMIZATION para mais detalhes. is_closed parse docheader FUNCOES INTERNAS usadas para escrever analisadores derivados Funcoes de comando e ambiente que precisam dos seguintes argumentos (em adicao do objeto $self): Um nome de comando Uma variante Uma matriz de tuplos (tipo, argumento) O ambiente atual Os primeiros tres argumentos sao extraidos por get_leading_command ouget_trailing_command. Funcoes de comando e ambiente retornam a traducao do comando com os seus argumentos e um novo ambiente. Funcoes do ambiente sao chamadas quando um comando \begin e encontrado. Eles sao chamados com o comando \begin e os seus argumentos. O modulo TeX propoe apenas uma funcao de comando e uma funcao de ambiente: generic_command e generic_environment. generic_command usa as informacoes especificadas por register_generic_command ou pela adicao de definicao para o ficheiro TeX: %po4a: comando command1 parameters generic_environment usa as informacoes especificadas por register_generic_environment ou pela adicao de definicao para o ficheiro TeX: %po4a: ambiente env parameters Ambas as funcoes so traduzem os parametros que foram especificados como traduzivel (com um '_'). generic_environment ira acrescentar o nome do ambiente a pilha do ambiente e generic_command ira acrescentar o nome do comando seguido por um identificador do parametro (como {#7} ou [#2]). ESTADO DESTE MODULO Este modulo precisa de mais testes. Ele foi testado num livro e com a documentacao de Python. LISTA de A FAZER Deteccao automatica de novos comandos O modulo TeX pode analisar os argumentos do novo comando e tentar adivinhar a quantidade de argumentos, o tipo deles e se eles devem ou nao ser traduzidos. Traducao do separador de ambiente Quando \item e utilizado como um separador de ambiente, o argumento item e ligado a seguinte cadeia. Alguns comandos devem ser adicionados a pilha de ambiente Estes comandos deveriam ser especificados por pares. Isto pode ser usado para especificar comandos iniciando ou terminando um ambiente literal. Outros Varios outros pontos sao marcados A FAZER na fonte. BUGS CONHECIDOS Varios pontos sao marcados CORRIGIR na fonte. VEJA TAMBEM Locale::Po4a::LaTeX(3pm), Locale::Po4a::TransTractor(3pm), po4a(7) AUTORES Nicolas Francois DIREITOS DE AUTOR E LICENCA Copyright (C) 2004, 2005 Nicolas FRANCOIS . Este programa e um software livre; pode redistribui-lo e/ou modifica-lo sob os termos da GPL v2.0 ou posterior (veja o ficheiro COPYING). perl v5.42.0 2025-11-22 LOCALE::PO4A::TEX.3PM(1)