Locale::Po4a::TeX(3pm) | Ferramentas do Po4a | Locale::Po4a::TeX(3pm) |
Locale::Po4a::TeX - converte documentos TeX e derivados de/para arquivos PO
O objetivo do projeto po4a (PO for anything, ou PO para qualquer coisa) é facilitar traduções (e o mais interessante, a manutenção das traduções) usando as ferramentas do gettext em áreas em que não se esperava, como documentação.
Locale::Po4a::TeX é um módulo para ajudar a tradução de documentos TeX para outros idiomas. Ele também pode ser usado como uma base para construir módulos para documentos baseados em TeX.
Usuários 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.
Esse módulo pode ser usado diretamente para lidar com documentos TeX genéricos. Ele vai dividir seu documento em blocos menores (parágrafos, blocos literais ou até mesmo menores, como títulos e índices).
Há algumas opções (descritas na próxima seção) que podem personalizar este comportamento. Se isso não se adequar ao formato do seu documento, encorajamos você a escrever seu próprio módulo derivado deste, para descrever os detalhes do seu formato. Veja a seção abaixo ESCREVENDO MÓDULOS DERIVADOS, para a descrição do processo.
Esse módulo também pode ser personalizado por linhas iniciais com "% po4a:" no arquivo TeX. Esse processo é descrito na seção PERSONALIZAÇÃO INTEGRADA.
Estas são as opções específicas deste módulo:
Note que há uma diferença entre ambientes literais e no_wrap. Não há análise de comentários e comandos nos blocos literais.
Se esse ambiente ainda não foi registrado, po4a vai considerar que ele não leva parâmetros.
Se esse ambiente ainda não foi registrado, po4a vai considerar que ele não leva parâmetros.
Use essas opções para sobrescrever o comportamento padrão dos comandos definidos.
O módulo TeX pode ser personalizado com linhas começando com % po4a:. Essas linhas são interpretadas como comandos para o analisador. Os seguintes comandos são reconhecidos:
Você pode preceder o comando comando1 por
Nota: neste caso, você não terá que especificar quais parâmetros são traduzíveis, mas po4a deve saber o tipo e número de parâmetros.
O argumento parâmetros é um conjunto de []
(para indicar um argumento opcional) ou {} (para indicar um argumento
obrigatório). Você pode colocar um sublinhado (_) entre esses
colchetes para indicar que o parâmetro deve ser traduzido. Por
exemplo:
% po4a: command *chapter [_]{_}
Isso indica que o comando de capítulo possui dois
parâmetros: um opcional (título curto) e um
obrigatório, os quais devem ser traduzidos. Se você deseja
especificar que o comando href tenha dois parâmetros
obrigatórios, que você não deseja traduzir a URL
(primeiro parâmetro), e que você não deseja que esse
comando seja separado de seu parágrafo (o que permite que o tradutor
mova o link na sentença), você pode usar:
% po4a: command -href {}{_}
Neste caso, a informação indicando quais argumentos devem ser traduzidos é apenas usado se um parágrafo é composto apenas deste comando href.
Quanto aos comandos, ambiente pode ser precedido por um mais (+) para indicar que o comando \begin deve ser traduzido com todos os seus argumentos.
A expressão regular é delimitada por aspas. Ela não deveria criar qualquer referência própria. Você deveria usar (?:) se você precisa de um grupo. Também pode ser necessário alguns caracteres de escapes.
Por exemplo, o módulo LaTeX usa a expressão regular "(?:&|\\\\)" para traduzir separadamente cada célula de uma tabela (linhas são separadas por "\\" e células por "&").
A noção de ambiente é expandida ao tipo exibido no arquivo PO. Isso pode ser usado para dividir em "\\\\" no primeiro argumento obrigatório no comando title. neste caso, o ambiente é title{#1}.
Se esse ambiente ainda não foi registrado, po4a vai considerar que ele não leva parâmetros.
Comentários de um parágrafo são inseridos como um comentário no PO para a primeira string traduzida neste parágrafo.
Se uma função é definida em %translate_buffer_env como o ambiente atual, essa função será usada para traduzir o buffer ao invés de translate_buffer().
Exceto pela parte de inclusão de arquivos, é uma cópia idêntica da leitura do Transtractor.
Veja a seção PERSONALIZAÇÃO INTEGRADA para mais detalhes.
Funções de ambiente e comandos levam os seguintes argumentos (em adição ao objeto $self):
Os primeiros três argumentos são extraídos por get_leading_command ou get_trailing_command.
Funções de ambiente ou comandos retornam a tradução do comando com seus argumentos e um novo ambiente.
Funções de ambiente são chamadas quando um comando \begin for encontrado. Elas são chamadas com o comando \begin e seus argumentos.
O módulo TeX propõe apenas uma função de comando e uma função de ambiente: generic_command e generic_environment.
generic_command usa a informação especificada por
register_generic_command ou adicionando definição ao arquivo
TeX:
% po4a: command comando1 parâmetros
generic_environment usa a informação especificada
por register_generic_environment ou adicionando definição ao
arquivo TeX:
% po4a: environment ambiente parâmetros
Ambas funções vai traduzir apenas os parâmetros que foram especificadas como traduzíveis (com uma "_"). generic_environment vai anexar o nome do ambiente à pilha de ambientes e generic_command vai anexar o nome do comando seguido por um identificador do parâmetro (como {#7} ou [#2]).
Esse módulo precisa de mais testes.
Ele foi testado em um livro e com a documentação Python.
Vários pontos são marcados como FIXME no código.
Locale::Po4a::LaTeX(3pm), Locale::Po4a::TransTractor(3pm), po4a(7)
Nicolas François <nicolas.francois@centraliens.net>
Copyright © 2004, 2005 Nicolas FRANÇOIS <nicolas.francois@centraliens.net>.
Esse programa é um software livre; você pode redistribuí-lo e/ou modificá-lo sob os termos da GPL (veja o arquivo COPYING).
2023-01-03 | Ferramentas do Po4a |