table of contents
other versions
- wheezy 0.42-1
Locale::Po4a::TeX(3) | User Contributed Perl Documentation | Locale::Po4a::TeX(3) |
NOM¶
Locale::Po4a::TeX - Convertir les documents TeX (ou dérivés) depuis ou vers des fichiers PODESCRIPTION¶
L'objectif du projet po4a [PO for anything -- PO pour tout] est de simplifier la traduction (et de façon plus intéressante, la maintenance des traductions) en utilisant les outils gettext dans des domaines pour lesquels ils n'étaient pas destinés, comme la documentation. Locale::Po4a::TeX est un module qui permet d'aider à traduire des documents TeX dans d'autres langues. Il peut aussi servir de base pour créer d'autres modules pour des documents basés sur le format TeX. Les utilisateurs devraient plutôt utiliser le module LaTeX, qui hérite du module TeX et contient les définitions des commandes LaTeX les plus courantes.TRADUCTION AVEC PO4A::TEX¶
Ce module peut être utilisé directement pour traiter des documents dans un format générique TeX. Il découpera le document en blocs plus petits (paragraphes, blocs verbatim, ou des éléments encore plus petits comme les titres ou index). Il y a quelques options (décrites dans la section suivante) qui peuvent permettre de paramétrer ce comportement. Si ça ne correspond pas au format de votre document, vous êtes encouragé à écrire votre propre module dérivé de celui-ci, pour décrire en détails votre format. Consultez la section ÉCRITURE DE MODULES DÉRIVÉS plus bas, pour un descriptif de la procédure. Ce module peut également être configuré à l'aide de lignes commençant par « % po4a: » dans le fichier TeX. Ces personnalisations sont décrites dans la section PERSONNALISATION EN LIGNE.OPTIONS ACCEPTÉES PAR CE MODULE¶
Voici les options particulières à ce module :- debug
- Active le débogage pour certains mécanismes internes du module. Regardez les sources pour savoir ce qui peut être débogué.
- no_wrap
- Liste d'environnements, séparés par des virgules,
dont les retours à la ligne ne doivent pas être modifiés.
- exclude_include
- Liste de fichiers, séparés par des deux-points, qui ne doivent pas être inclus par les commandes \input et \include.
- definitions
- Le nom d'un fichier contenant des définitions pour po4a, telles qu'elles sont décrites dans la section PERSONNALISATION EN LIGNE. Vous pouvez utiliser cette option s'il n'est pas possible de placer les définitions dans le document à traduire.
- verbatim
- Liste d'environnements, séparés par des virgules,
qui doivent être considérés comme verbatim.
PERSONNALISATION EN LIGNE¶
Le module TeX peut être personnalisé à l'aide de lignes commençant par % po4a:. Ces lignes sont interprétées comme des commandes pour l'analyseur. Les commandes suivantes sont reconnues :- % po4a: command commande1 alias commande2
- Indique que les paramètres de la commande commande1 doivent être traités de la même façon que les paramètres de la commande commande2.
- % po4a: command commande1 paramètres
- Ceci permet de décrire en détail les
paramètres de la commande commande1. Cette information est
ensuite utilisée pour vérifier le nombre de paramètres et
leurs types.
- un astérisque (*)
- po4a extraira cette commande des paragraphes (si elle est située à une extrémité du paragraphe). Les traducteurs auront alors à traduire les paramètres qui ont été marqués comme pouvant être traduits.
- un plus (+)
- Comme pour un astérisque, la commande sera extraite si
elle apparaît à une extrémité d'un bloc, mais ses
paramètres ne seront pas traduits séparément. Le traducteur
aura à traduire la commande concaténée à tous ses
paramètres. Ceci permet de conserver plus de contexte, et est utile
pour les commandes avec des mots courts en paramètre, qui peuvent
avoir plusieurs significations (et traductions).
- un moins (-)
- Dans ce cas, la commande ne sera jamais extraite d'un bloc. Mais si elle apparaît seule dans un bloc, alors seuls les paramètres marqués comme traduisibles seront présentés au traducteur. C'est utile pour les commandes de police. Ces commandes ne doivent généralement pas être séparées de leur paragraphe (pour conserver le contexte), mais il n'y a pas de raison de déranger le traducteur avec ces commandes si la chaîne entière est englobée dans cette commande.
% po4a: command *chapter [_]{_}
% po4a: command -href {}{_}
- % po4a: environment env paramètres
- Ceci permet de définir les paramètres
acceptés par l'environnement env. Cette information sera
ensuite utilisée pour vérifier le nombre de paramètres de
la commande \begin, et permet de préciser quels paramètres
doivent être traduits. La syntaxe du paramètre
paramètres est la même que celle décrite pour les
commandes. Le premier paramètre de la commande \begin est le nom de
l'environnement. Ce paramètre ne doit pas être
spécifié dans la liste des paramètres. Voici quelques
exemples :
% po4a: environment multicols {}
% po4a: environment equation
- % po4a: separator env "regex "
- Indique que l'environnement doit être
découpé suivant l'expression rationnelle donnée.
- % po4a: verbatim environment env
- Indique que env est un environnement verbatim. Les
commentaires et les commandes seront ignorés dans cet environnement.
ÉCRITURE DE MODULES DÉRIVÉS¶
- pre_trans
- post_trans
- translate
- Encapsulation de l'appel à la fonction translate du
module Transtractor, en ajoutant des filtres avant et après la
traduction.
- get_leading_command($buffer)
- Cette fonction renvoie :
- Un nom de commande
- Si aucune commande n'est trouvée au début du buffer, cette chaîne sera vide. Seules les commandes qui peuvent être séparées sont prises en compte. La table de hachage %separated_command contient la liste de ces commandes.
- Une variante
- Indique si une variante est utilisée. Par exemple, un astérisque (*) peut être ajouté à la fin des commandes de section pour indiquer qu'elles ne doivent pas être numérotées. Dans ce cas, ce champ contiendra « * ». S'il n'y a pas de variante, ce champ est une chaîne vide.
- Un tableau de couples (type de paramètre, paramètre)
- Le type de paramètre peut être soit « { » (pour les paramètres obligatoires) ou « [ » (pour les paramètres optionnels).
- Le reste du buffer
- Le reste du buffer après le retrait de la commande de tête et de ses paramètres. Si aucune commande n'est trouvée, le buffer original n'est pas modifié et est renvoyé dans ce champ.
- get_trailing_command($buffer)
- Comme get_leading_command, mais pour les commandes à la fin du buffer.
- translate_buffer
- Traduit récursivement un buffer en séparant du
buffer les commandes de tête et de queue (pour celles qui peuvent
être traduites séparément).
- read
- Surcharge la fonction read du module Transtractor.
- read_file
- Lit récursivement un fichier, en insérant les
fichiers inclus (s'ils ne sont pas listés dans le tableau
@exclude_include. Les fichiers inclus sont recherchés à l'aide
de la commande kpsewhich de la bibliothèque Kpathsea.
- parse_definition_file
- Sous-routine permettant d'analyser un fichier contenant des directives pour po4a (par exemple pour les nouvelles commandes).
- parse_definition_line
- Analyse une ligne de configuration de la forme
« %po4a : ».
- is_closed
- docheader
FONCTIONS INTERNES utilisées pour dériver un analyseur (parser)¶
Les fonctions pour les commandes et les environnements prennent, en plus de l'objet $self, les paramètres suivants :- Un nom de commande
- Une variante
- Un tableau de couples (type, paramètre)
- L'environnement actuel
% po4a: command commande1 paramètres generic_environment utilise les informations spécifiées par register_generic_environment ou par une définition dans le fichier TeX :
% po4a: command commande1 paramètres Ces deux fonctions ne traduisent que les paramètres qui ont été indiqués comme étant à traduire (avec un « _ »). generic_environment ajoutera le nom de l'environnement à la pile des environnements et generic_command ajoutera le nom de la commande suivi par un identifiant du paramètre (comme {#7} ou [#2]).
ÉTAT DE CE MODULE¶
Ce module a besoin de plus de tests. Il a été testé avec un livre et la documentation Python.LISTE DES CHOSES À FAIRE¶
- Détection automatique des nouvelles commandes
- Le module TeX pourrait analyser les paramètres de la commande newcommand et essayer de trouver le nombre de paramètres, leurs types et si oui ou non ils doivent être traduits.
- Traduction des séparateurs dans les environnements
- Quand \item est utilisé comme séparateur dans un environnement, le paramètre de item est attaché à la chaîne qui suit.
- Certaines commandes devraient être ajoutées à la pile des environnements
- Ces commandes devraient être fournies par paires. Ceci permettrait de définir des commandes qui débutent ou terminent un environnement verbatim.
- Autres
- Divers autres points sont marqués TODO dans les sources.
BOGUES CONNUS¶
Divers points sont marqués FIXME dans les sources.VOIR AUSSI¶
Locale::Po4a::LaTeX(3pm), Locale::Po4a::TransTractor(3pm), po4a(7)AUTEURS¶
Nicolas François <nicolas.francois@centraliens.net>
COPYRIGHT ET LICENCE¶
Copyright 2004, 2005 par Nicolas FRANÇOIS <nicolas.francois@centraliens.net>. Ce programme est un logiciel libre ; vous pouvez le copier et / ou le modifier sous les termes de la GPL (voir le fichier COPYING).2012-05-17 | perl v5.14.2 |