Outils pour utilisateurs

Outils du site


doc:axiom:traduction

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
doc:axiom:traduction [2006/03/07 16:36]
lehobey
doc:axiom:traduction [2006/03/08 10:35] (Version actuelle)
lehobey
Ligne 1: Ligne 1:
 ====== Autour de la traduction d'​Axiom ====== ====== Autour de la traduction d'​Axiom ======
-Ressources autour de la traduction du livre //​bookvol1//​ (et de ses successeurs) d'​[[axiom]].+Ressources autour de la traduction du livre //​bookvol1//​ (et de ses successeurs) d'[[Axiom]]. 
 + 
 +===== Bidouilles ===== 
 +Après avoir récupéré le code source d'​[[Axiom]] (selon ce qui est derrière ce lien). 
 + 
 +==== Une façon ==== 
 +Pour essayer d'​éviter de faire la compilation complète d'​[[Axiom]]. (Bof, bof.) 
 + 
 +  $ cd tpd 
 +  $ ./​configure 
 +  $ export AXIOM=`pwd`/​mnt/​linux 
 +  $ make start 
 + 
 +Le source de //​bookvol1.pamphlet//​ que j'​utilise est dans //​tpd/​src/​doc//​. 
 +  $ cd /src/doc 
 + 
 +Pour avoir accès à la commande //​document//​ (elle ne doit pas être faite pour cela) : 
 +  $ export PATH=$AXIOM/​bin:​$PATH 
 + 
 +Bizarre : si je crée le document par : 
 +  $ document bookvol1 
 +il ne trouve pas le fichier //​axiom.sty//​. 
 + 
 +Pour y accéder : 
 +  $ ln -s ../​../​mnt/​linux/​bin/​tex/​axiom.sty . 
 + 
 +NB : cet axiom.sty est différent du axiom.sty qui est obtenu par 
 +  $ noweave axiom.sty.pamphlet > axiom.sty 
 + 
 +Conclusion : il y a encore des subtilités du système de compilation d'​[[Axiom]] qui m'​échappent... 
 + 
 +==== Une autre façon ==== 
 +Dans le répertoire //​tpd/​src/​doc//​. 
 +  $ notangle -t8 bookvol1.pamphlet > Makefile.bookvol1 
 +  $ make -f Makefile.bookvol1 
 + 
 +Mais cela ne marche pas car les chemins codés en dur de noweave sont faux...
  
 ====== Utiliser po4a ====== ====== Utiliser po4a ======
 +Indépendamment de ce qui précède.
 +
 +Essais d'​utilisation de [[doc:​traduction:​po4a]] sur //​bookvol1.pamphlet//​.
 +
 +===== Extraction du pot =====
 +  $ po4a-gettextize -f latex -m bookvol1.pamphlet -p bookvol1.pot
 +
 +===== Renommage du .pot en .po =====
 +  $ cp bookvol1.pot bookvol1.fr.po
 +
 +Puis traduction (à faire) du //​bookvol1.fr.po//​ par gtranslator,​ kbabel, poedit ou tout autre éditeur de //.po//.
 +
 +===== Reconstruction du document en français après traduction =====
 +  $ po4a-translate -k 0 -f latex -m bookvol1.pamphlet -p bookvol1.fr.po -l bookvol1.fr.pamphlet
 +
 +NB : -k 0 pour forcer même quand on a moins de 80 % de traduction faite.
 +
 ===== Problèmes ===== ===== Problèmes =====
 +
 +==== Listes ====
 +po4a a un problème avec certaines listes de //​bookvol1.pamphlet//​. L'​[[http://​bugs.debian.org/​cgi-bin/​bugreport.cgi?​bug=354955|anomalie]] est corrigée dans le cvs de [[http://​po4a.alioth.debian.org/​|po4a]]. Tim a appliqué un correctif de moi sur //​bookvol1.pamphlet//​ permettant de le contourner en attendant. (Pour la prochaine mouture d'​[[Axiom]]).
 +
 +==== Noweb ====
 +Les blocs noweb ne sont ni compris ni gérés par po4a. La mise en forme en est perdue lors de la reconstruction du texte.
 +
 +Les blocs noweb ne vont pas disparaître (dixit Tim), ils vont même se multiplier dans les volumes suivants.
 +
 +Nicolas François a fait des progrès là-dessus. Voir [[http://​bugs.debian.org/​cgi-bin/​bugreport.cgi?​bug=355769|ici]].
 +
 +==== Exemple de .pot ====
 +Il y en a un [[http://​lehobey-rennes.dyndns.org/​axiom/​bookvol1.pot|ici]]. ​ Il correspond à une version avec mon correctif pour les listes mais **sans** la partie noweb problématique. **Ne pas utiliser comme point de départ d'une traduction, c'est juste pour exemple**.
 +
 +==== Exemple de .pamphlet problématique ====
 +[[http://​lehobey-rennes.dyndns.org/​axiom/​noweb.pamphlet|ici]]. Le lire pour comprendre.
 +
 ===== Pistes de solutions ===== ===== Pistes de solutions =====
 +Évoquée avec Nicolas François, l'un des développeurs de po4a et avec David, qui a un petit intéret pour la programmation littéraire (et un logiciel utilisant aussi noweb).
 +
 +Voir [[doc:​traduction:​po4a]].
 +
 +==== 1ère piste : adapter po4a à noweb (travailler directement sur le .pamphlet) ====
 +Il faudrait par exemple traiter les %%<<​%% (début d'un bloc noweb) et @ (fin d'un bloc noweb) comme les début et fin d'un environnement verbatim (que po4a sait traiter).
 +
 +David propose d'« augmenter » les %%<<​%% et @ en ajoutant par exemple \begin{noweb} \end{noweb} avec des expressions rationnelles en sed/​Perl/​Python.
 +
 +Il y a aussi les filtres de noweb (voir http://​www.eecs.harvard.edu/​nr/​noweb/​guide.ps) (signalé par David). J'ai regardé, mais je ne vois pas bien le rapport ni, pour l'​instant,​ comment nous pourrions l'​utiliser.
 +
 +Selon Nicolas François :
 +<​file>​
 +Pour 1/, je vois plusieurs solutions:
 +a) Faire un nouveau module, qui hériterait du module LaTeX, pour le
 +   ​support de noweb. Je pense qu'il suffit de surcharger la fonction
 +   ​parse.
 +b) permettre de spécifier des couple d'​expression rationnelle qui ouvre ou
 +   ferme des environnement verbatim (pour po4a, pas nécessairement pour
 +   ​LaTeX).
 +c) changer les << et @ en \begin{noweb} et \end[noweb}
 +   Il faudra ensuite permettre des environnements verbatim qui n'ont pas
 +   le nom "​verbatim"​.
 +</​file>​
 +
 +==== 2e piste : travailler sur le résultat de noweave (un .tex) ====
 +Au lieu de %%<<​%% et @, il faudrait cette fois-ci utiliser les
 +<​file>​
 +\\nwfilename{noweb.pamphlet}\\nwbegincode{1}
 +...
 +\\nwendcode{}\\nwbegindocs{2}\\nwdocspar
 +</​file>​
 +produits par noweave.
 +
 +Toujours selon Nicolas François :
 +
 +<​file>​
 +2/, po4a ne permet pas pour l'​instant d'​indiquer qu'une commande
 +débute un environnement verbatim et qu'une autre commande le ferme.
 +Une solution d) consiterait donc a enlever ce manque.
 +
 +J'ai dans ma TODO liste c) et d)
  
 +J'ai peur que b) ne soit pas très LaTeX. Mais de toute façon, si je fais
 +d), ça doit pas être très différent.
 +</​file>​
doc/axiom/traduction.1141745763.txt.gz · Dernière modification: 2006/03/07 16:49 (modification externe)