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 outra lingua [humana]. Tambem pode ser usado como uma base para a construcao de modulos de TeX documentos baseados. 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 ESCREVENDO MODULOS DERIVADOS, 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 PERSONALIZACAO INTEGRADA. 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 separada por virgula que nao deve ser re- envolvidos. Note que ha uma diferenca entre os ambientes textuais e no_wrap. Nao existe um comando e analise de comentarios em blocos textuais. Se este ambiente nao foi ja registado, po4a ira considerar que este ambiente nao leva nenhum parametro. exclude_include Lista de ficheiros separada 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 separada por virgula que devem ser tomados como textuais. Se este ambiente nao foi ja registado, po4a ira considerar que este ambiente nao leva nenhum parametro. Use essas opcoes para sobrescrever o comportamento padrao dos comandos definidos. INLINE CUSTOMAZITION 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 detalhes 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 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 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 a indicar que argumentos devem ser traduzidos so e usada se um paragrafo e composto apenas por este comando href. % po4a: ambiente env parameters Isso define os parametros aceitos 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 caracteres de 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}. B <% po4a: ambiente textual> env Indica que env e um ambiente textual. 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 DERIVADOS 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 Envolvido 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. O %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 numerada. 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 do 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 do 'buffer'. translate_buffer Recursivamente traduzir um 'buffer' a separar comandos a esquerda e a direita (aqueles que devem ser convertidos em separado) a partir do 'buffer'. Se uma funcao e definida em %translate_buffer_env para o atual ambiente, esta funcao ira ser usada para converter o 'buffer' em vez de translate_buffer (). read Sobrepoe o read() do Transtractor. read_file Recursivamente ler um ficheiro, a anexar ficheiros incluidos que nao estao listadas na matriz @exclude_include. Ficheiros incluidos sao pesquisados a utilizar o comando kpsewhich comando a partir da biblioteca kpathsea. Com excecao de parte a inclusao do ficheiros, e um corte e cole a partir da leitura Transtractor. parse_definition_file Sub-rotina para analisar um ficheiro com as directivas po4a (definicoes de novoscomandos). parse_definition_line Analisar uma linha de definicao da forma "% po4a:". Ver 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, argumneto) O ambiente corrente 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 argumentos dele e um novo ambiente. Funcoes do ambiente sao chamadas quando um comando \begin e encontrado. Eles sao chamados com o comando \begin e os argumentos dele. 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 PARAFAZER 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 These commands should be specified by couples. This can be used to specify commands beginning or ending a verbatim environment. Outros Varios outros pontos sao marcados A FAZER na fonte. ERROS CONHECIDOS Varios pontos sao marcados CORRECAO na fonte. VER 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 . This program is free software; you may redistribute it and/or modify it under the terms of GPL v2.0 or later (see the COPYING file). perl v5.38.2 2024-06-26 LOCALE::PO4A::TEX.3PM(1)