Ci-dessous, les différences entre deux révisions de la page.
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 17:40] lehobey |
doc:axiom:traduction [2006/03/08 10:35] lehobey |
||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
- | ====== Autour de la traduction 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 ====== | ||
- | 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 ===== | ||
- | |||
- | ==== 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. | ||
- | |||
- | ==== 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**. | ||
- | |||
- | ===== 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) ==== | ||
- | |||
- | ==== 2e piste : travailler sur le résultat de noweave (un .tex) ==== |