| LOCALE::PO4A::TEX.3PM(1) | User Contributed Perl Documentation | LOCALE::PO4A::TEX.3PM(1) |
Locale::Po4a::TeX - Convierte documentos TeX y derivados desde/a ficheros PO
El objetivo del proyecto po4a («PO for anything», PO para todo) es facilitar la traducción (y más interesante, el mantenimiento de las traducciones) usando las herramientas de gettext en ámbitos dónde no previstos, como la documentación.
Locale::Po4a::TeX es un módulo que asiste en la traducción de documentos TeX a otros lenguajes (humanos). También se puede usar como base para construir módulos para documentos basados en TeX.
Probablemente, los usuarios deberían usar el módulo LaTeX, que hereda del módulo TeX y contiene las definiciones de las órdenes más comunes de LaTeX.
Este módulo se puede usar directamente para tratar documentos TeX genéricos. Esto dividirá el documento en bloques más pequeños (párrafos, bloques literales, o incluso más pequeños, como títulos o índices).
Hay algunas opciones (descritas en la siguiente sección) que pueden personalizar este comportamiento. Si esto no se adecua al formato de su documento, le animo a que escriba su propio módulo derivado de éste para describir los detalles de su formato. Consulte la sección Escribir módulos derivados que encontrará más abajo para una descripción del proceso.
Este módulo se puede personalizar con lineas que empiecen con «% po4a:» en el fichero TeX. Este proceso se describe en la sección PERSONALIZACIÓN DE OBJETOS EN LÍNEA.
Estas son las opciones particulares de este módulo:
Tenga en cuenta que los entornos literales (verbatim) y no_wrap son diferentes. En los bloques literales no se analizan las órdenes ni los comentarios.
Si este entorno no se registró ya, po4a considerará que este entorno no acepta ningún argumento.
Si este entorno no se registró ya, po4a considerará que este entorno no acepta ningún argumento.
Utilice estas opciones para modificar el comportamiento predeterminado de las órdenes definidas.
El módulo TeX se puede personalizar mediante lineas que empiecen con % po4a:. Estas lineas se interpretan como órdenes para el analizador. Se reconocen las siguientes órdenes:
Puede preceder la orden orden1 con
Nota: En este caso, no necesita especificar qué argumentos son traducibles, pero po4a debe conocer el tipo y número de argumentos.
El argumento parámetros es un conjunto de [] (para
indicar un argumento opcional) o {} (para indicar un argumento obligatorio).
Puede colocar un subrayado (_) entre estos corchetes para indicar que el
parámetro se debe traducir. Por ejemplo:
% po4a: orden *chapter [_] {_}
Esto indica que la orden «chapter» tiene dos
parámetros: uno opcional (título corto) y uno obligatorio, los
cuales se deben traducir. Si desea especificar que la orden
«href» tiene dos parámetros obligatorios, que no quiere
traducir la dirección URL (primer parámetro), y que no quiere
que se separe esta orden de su párrafo (lo cual permite al traductor
desplazar el enlace en la oración), puede usar:
% po4a: command -href {}{_}
En este caso, la información que indica qué argumentos se deben traducir sólo se emplea si un párrafo está enteramente compuesto de la orden «href».
La igual que con las órdenes, puede preceder entorno de un signo de suma (+) para indicar que la orden «\begin» se debe traducir con todos sus argumentos.
La expresión regular está delimitada por comillas. No debería crear ninguna referencia de apoyo. Debería usar (?:) si necesita un grupo. Puede precisar también algunos escapes.
Por ejemplo, el módulo LaTeX usa la expresión regular "(?:&|\\\\)" para traducir cada célula de la tabla por separado (las líneas separan con '\\' y las células con '&').
La noción de entorno depende del tipo mostrado en el fichero PO. Puede usar esto para dividirse con "\\\\" en el primer argumento obligatorio del nombre de la orden. En este caso, el entorno es «title{#1}».
Si este entorno no se registró ya, po4a considerará que este entorno no acepta ningún argumento.
Los comentarios de un párrafo se insertan como comentarios del PO en la primera cadena traducida del párrafo.
Si una función se define en «%translate_buffer_env» para el entorno actual, esta función se usará para traducir el búfer en lugar de «translate_buffer()».
Exceptuando la parte de inclusión de ficheros, es una copia del «read» de Transtractor.
Consulte la sección PERSONALIZACIÓN DE OBJETOS EN LÍNEA para más detalles.
Las funciones de orden y entorno toman los siguientes argumentos (además del objeto «$self»):
Los primeros 3 parámetros se extraen con «get_leading_command» o «get_trailing_command».
Las funciones de orden y de entorno devuelven la traducción de la orden con sus argumentos y un nuevo entorno.
Las funciones de entorno se invocan cuando se encuentra una orden «\begin». Se invocan con la orden «\begin» y sus argumentos.
El módulo TeX sólo propone una orden de función y una orden de entorno: «generic_command» y «generic_environment».
«generic_command» usa la información
especificada por «register_generic_command», o
añadiendo una definición para el fichero TeX:
% po4a: command orden1 parámetros
«generic_environment» usa la información especificada
por «register_generic_environment» o añadiendo al
archivo TeX:
% po4a: environment entorno parámetros
Ambas funciones sólo traducen los parámetros especificados como traducibles (con una '_'). «generic_environment» afijará el nombre del entorno a la pila del entorno, y «generic_command» afijará el nombre de la orden seguida por un identificador del parámetro (como {#7} o [#2]).
Este módulo necesita más pruebas.
Se ha probado con un libro y con la documentación de Python.
Hay varios puntos etiquetados con FIXME en el código.
Locale::Po4a::LaTeX(3pm), Locale::Po4a::TransTractor(3pm), po4a(7)
Nicolas François <nicolas.francois@centraliens.net>
Jordi Vilalta <jvprat@gmail.com> Omar Campagne <ocampagne@gmail.com>
Copyright © 2004, 2005 Nicolas FRANÇOIS <nicolas.francois@centraliens.net>.
Este programa es software libre; puede redistribuirlo y/o modificarlo bajo los términos de la GPL v2.0 o posterior (consulte el archivo COPYING).
| 2024-08-06 | perl v5.38.2 |