Outils de traduction - 2e partie

De April MediaWiki
Aller à la navigationAller à la recherche

Cette page est une annexe du Manuel du traducteur du projet GNU.

Retour au menu de trad-gnu


Utilisation de GNUnited Nations (GNUN)

Ce qui suit est un résumé du manuel de GNUN.

Il est recommandé de prendre connaissance des documentations spécifiques de chaque outil avant installation ou utilisation.

Ce que GNUN permet de faire, entre autres :

  • valider les fichiers PO ;
  • transformer les fichiers PO en pages HTML (avec le style par défaut), ce qui facilite grandement la relecture ;
  • voir quelles traductions ont besoin d'une mise à jour.


Installation

GNUnited Nations est utilisé sur le site de GNU pour générer toutes les pages HTML traduites à partir des fichiers PO. GNUN a été conçu pour le site web de gnu.org et a besoin de l'arborescence de http://www.gnu.org pour fonctionner. Pour l'utiliser en local, il faut donc recréer cette arborescence. Cela se fait avec cvs.

GNUN s'installe dans le $HOME. L'ensemble de l'installation occupe un peu moins de 400 Mo.

Pré-requis :

  • cvs
  • autoconf, autotools, texinfo
  • gettext
  • GNU guile et po4a (pour la conversion HTML <--> PO)
  • pour la validation des pages HTML : libxml2, libxml2-utils et la DTD XHTML 1.0 du W3C (paquet w3c-dtd-xhtml d'Ubuntu)
  • gawk

Créer un répertoire, GNU par exemple, et se placer dans celui-ci :

 $ mkdir GNU
 $ cd GNU

Récupérer tous les fichiers du site web de gnu.org dans un sous-repertoire www :

 $ cvs -z3 -d:pserver:anonymous@cvs.savannah.gnu.org:/webcvs/www co www

Récupérer les sources de GNUN :

 $ cvs -d :pserver:anonymous@cvs.sv.gnu.org:/sources/trans-coord \
         checkout trans-coord/gnun/server/gnun

Préparer l'installation :

 $ cd trans-coord/gnun/server/gnun
 $ autoreconf -i
 $ ./configure
 $ make


Il faut éditer le fichier gnun.conf pour remplacer les adresses de courriel, afin que les tests ne soient pas envoyés aux webmasters GNU ;-)

 $ sed -i -e 's/bug-gnun@gnu.org/adresse@bidon.fr/g' gnun.conf

Maintenant, on peut installer GNUnited Nations dans ~/GNU/www/server/gnun :

 $ sudo make install

Mettre des liens vers config.mk et GNUmakefile dans le répertoire www/server/gnun. Par exemple sous Ubuntu :

 $ cd ~/GNU/www/server/gnun/
 $ ln -s /usr/local/share/gnun/GNUmakefile ./
 $ ln -s /usr/local/share/gnun/config.mk ./

Pour les flemmards, voici un petit script qui fait ça tout seul. Il faut juste rentrer le mot de passe sudo. Le script fonctionne sous Ubuntu et Debian (à condition d'avoir activé sudo pour l'utilisateur) :

#/bin/bash

# NOUVELLE INSTALLATION DE GNUN

cd
mkdir GNU
cd GNU
cvs -z3 -d:pserver:anonymous@cvs.savannah.gnu.org:/webcvs/www co www
cvs -d :pserver:anonymous@cvs.sv.gnu.org:/sources/trans-coord checkout trans-coord/gnun/server/gnun

cd trans-coord/gnun/server/gnun
autoreconf -i
./configure
make
sed -i -e 's/bug-gnun@gnu.org/adresse@bidon.fr/g' gnun.conf
sudo make install

cd ~/GNU/www/server/gnun/
ln -s /usr/local/share/gnun/GNUmakefile ./
ln -s /usr/local/share/gnun/config.mk ./

Ne pas oublier de le rendre exécutable. ;-)


Valider un PO / Générer une page HTML

On met le fichier à valider DOCUMENT.fr.po dans le dossier ~/GNU/www/SECTION/po

On se place dans le répertoire ~/GNU/www/server/gnun, et on demande à générer la page :

 $ cd ~/GNU/www/server/gnun
 $ make VALIDATE=yes ../../SECTION/DOCUMENT.fr.html

Et voilà, make dit s'il y a une erreur. On peut modifier ../../SECTION/po/DOCUMENT.fr.po et régénérer la page HTML, qu'on récupère dans ~/GNU/www/SECTION/.


Faire l'inventaire des traductions obsolètes (1e méthode)

Enlever (ou renommer) les fichiers DOCUMENT.fr.po qui ont été récemment validés et qui se trouvent dans le dossier ~/GNU/www/SECTION/po.

Mettre à jour www :

 $ cd ~/GNU
 $ cvs -z3 -d:pserver:anonymous@cvs.savannah.gnu.org:/webcvs/www update www

Demander à GNUN de faire l'inventaire, et l'enregistrer avec la date :

 $ cd www/server/gnun/
 $ make report TEAM=fr > ~/CHEMIN/VERS/"inventaire_"`eval date +%Y%m%d`".txt"

Et voilà pour les flemmards un petit script qui fait ça tout seul :

#/bin/bash

# GNUN - UPDATE et MAKE REPORT

# On part du principe qu'il y a déjà une installation de GNUN dans le dossier ~/GNU,
# et qu'elle n'a pas servi à tester des PO.

cd GNU
cvs -z3 -d:pserver:anonymous@cvs.savannah.gnu.org:/webcvs/www update www
cd www/server/gnun
make report TEAM=fr > ~/CHEMIN/VERS/"inventaire_"`eval date +%Y%m%d`".txt"

L'inconvénient de cette méthode est qu'elle ne permet pas de savoir si une mise à jour a déjà été effectuée par quelqu'un d'autre et stockée dans le CVS de www-fr en attendant d'être mise en ligne. Il existe une autre méthode qui n'a pas cet inconvénient (voir plus loin).


Obsolète ⇒ Travail dans le CVS de www-fr

Ce qui suit suppose connues les grandes lignes du fonctionnement de cvs, mais n'utilise aucune de ses fonctions avancées. La référence en la matière est le Cederqvist mais il n'est pas nécessaire de le lire en entier pour s'y mettre !

Tout ce qui demande des droits d'écriture dans le CVS se fait en accès authentifié avec un compte sur Savannah (voir la page Charte Groupe Traduction de la philosophie GNU).


Récupérer les traductions stockées dans le CVS

1) Cela peut se faire en accès anonyme :

récupération de l'ensemble du « module www-fr »

 $ cvs -z3 -d:pserver:anonymous@cvs.savannah.gnu.org:/cvsroot/www-fr co www-fr

ou récupération d'un seul fichier

 $ cvs -z3 -d:pserver:anonymous@cvs.savannah.gnu.org:/cvsroot/www-fr co www-fr/SECTION/DOCUMENT.fr.po

Il se crée en local un dossier www-fr qui est organisé de la même façon que le dossier www-fr du CVS.


2) Cependant, pour pouvoir (r)envoyer les fichiers PO dans le CVS une fois créés (ou modifiés), la récupération de l'arborescence doit se faire en accès authentifié :

  • on se place dans le dossier ~/GNU qui contient déjà www ;
  • on dit que la connexion utilisera le protocole rsh (la première fois seulement) ;
  • on récupère l'ensemble du module www-fr.
 $ cd ~/GNU
 $ export CVS_RSH=ssh
 $ cvs -z3 -d:ext:votrecompte@cvs.savannah.gnu.org:/cvsroot/www-fr co www-fr


Envoyer une traduction dans le CVS

Avant d'envoyer un fichier PO dans le CVS, ne pas oublier

  • de mettre le nom du traducteur dans l'avant-dernière chaîne si besoin,
  • de vérifier que toutes les chaînes sont traduites (pas de fuzzy),
  • de valider avec GNUN.

1) S'il s'agit d'une nouvelle traduction SECTION/DOCUMENT.fr.po, on la place dans le dossier de l'arborescence locale auquel elle appartient, puis on crée une nouvelle entrée dans le CVS et on envoie le fichier. Cela donne :

 $ cd ~/GNU/www-fr
 $ cvs add SECTION/DOCUMENT.fr.po
 $ cvs commit SECTION/DOCUMENT.fr.po

Un éditeur de texte s'ouvre et on inscrit un commentaire indiquant le nom du traducteur, qui n'est pas forcément la personne qui envoie le fichier dans le CVS.

Il est aussi possible d'écrire le commentaire directement dans la ligne de commande :

 $ cvs commit -m "Nouvelle traduction, par Tartempion." DOCUMENT.fr.po

On prévient ensuite sur la liste de diffusion qu'une nouvelle traduction a été déposée dans le CVS. Cela simplifie le travail du coordinateur si le message indique le nom exact du fichier : SECTION/DOCUMENT.fr.po.

2) S'il s'agit d'une traduction modifiée, elle est déjà répertoriée dans le CVS, donc la commande « cvs add » n'est pas nécessaire. Le commentaire doit indiquer l'auteur de la modification, et être succinct mais assez détaillé pour faciliter le travail du coordinateur, qui vérifie les changements effectués avant de mettre la traduction en ligne.

 $ cd ~/GNU/www-fr
 $ cvs commit -m "Relecture, par Toto : quelques coquilles ; renvois dans les notes de traduction." SECTION/DOCUMENT.fr.po

On prévient ensuite sur la liste de diffusion.


REMARQUES :

  • Il n'est pas possible de modifier le commentaire une fois le fichier envoyé.
  • L'arborescence www-fr locale est une image de celle du CVS. Les fichiers ne doivent donc être ni déplacés, ni renommés.


Faire l'inventaire des traductions obsolètes (2e méthode) et les mettre à jour

La méthode expliquée dans la section Utilisation de GNUN ne permet pas de savoir si une mise à jour a déjà été effectuée par quelqu'un d'autre et stockée dans le CVS de www-fr en attendant d'être mise en ligne. Il est donc recommandé de « synchroniser » www-fr avec www avant de faire l'inventaire :

 $ cd ~/GNU/www-fr
 $ make VCS=yes
 $ make report

« make VCS=yes » récupère les dernières versions des fichiers des dépôts www et www-fr, les copie dans le répertoire de travail adéquat, puis fusionne dans le répertoire de travail www-fr les fichiers PO actuels avec les nouvelles versions des fichiers POT.

« make report » indique le nom des fichiers et le nombre de chaînes modifiées ou ajoutées/supprimées des fichiers.

Il suffit alors de mettre à jour les fichiers fr.po concernés et de les renvoyer dans le CVS comme expliqué plus haut, sans oublier de prévenir sur la liste.