i18n - 2. Fichiers de documentation
Le but de ce chapitre est de vous expliquer quels sont les fichiers de documentation de Fink, comment y accéder et comment envoyer et activer les modifications que vous y faites sur le site web de Fink.
2.1 Conditions requises
Pour travailler sur les fichiers de documentation en tant que membre d'une équipe de traduction, il vous faut :
- Un client CVS qui vous permette de télécharger la documentation à partir de la branche xml de Fink.
- Un éditeur de texte qui gère l'encodage UTF-8 ; éventuellement un éditeur XML, car de nombreux fichiers du site web de Fink sont générés à partir de fichiers XML.
- Faire un check out de l'arbre xml de Fink, comme expliqué dans les instructions ci-dessous.
- Le cas échéant, une bonne connaissance de Fink.
Note : un "membre de l'équipe" est une personne qui traduit, mais n'est pas responsable du téléchargement des fichiers sur le site web de Fink.
En plus de remplir les conditions ci-dessus, les chefs d'équipe doivent avoir :
- Un compte SourceForge (enregistrement gratuit).
- Un accès de commit à la branche documentation de Fink. Pour l'obtenir, envoyez un message à la liste de diffusion fink-18n dans lequel vous indiquez votre nom d'utilisateur SourceForge. L'un des chefs de projet i18n entreprendra les démarches pour que vous ayez un accès CVS à la branche documentation.
Note : un "chef d'équipe" est une personne qui est responsable du téléchargement des fichiers modifiés sur le site web et de l'activation des modifications.
2.2 Configuration de l'environnement
Vous pouvez configurer votre environnement pour réduire au maximum les saisies répétitives. Les directives suivantes supposent que vous utilisez les outils en ligne de commande de Mac OS X ou d'un autre système opératoire à base d'Unix.
- Chefs d'équipe : modifiez votre fichier de login pour ajouter la variable d'environnement CVS_RSH.
- Si vous utilisez
bash
ouzsh
, ajoutez la ligne suivante :export CVS_RSH=ssh
au fichier.profile
. - Si vous utilisez
tcsh
, ajoutez la ligne suivante :setenv CVS_RSH ssh
au fichier.cshrc
.cvs
utilisera alors ssh pour accéder aux fichiers. Ceci est absolument nécessaire.
- Si vous utilisez
- Tout membre : créez un fichier nommé .cvsrc dans votre répertoire utilisateur et ajoutez-lui la ligne suivante :
cvs -z3
De cette façon, CVS utilisera le niveau de compression 3 par défaut (ce qui est une bonne chose !).
Ensuite, ouvrez une nouvelle fenêtre de terminal pour que la variable d'environnement CVS_RSH soit réellement prise en compte.
2.3 Récupération des fichiers de travail
Pour l'instant, vous devez exécuter un check out de la branche xml du site web :
- Ouvrez un terminal
- Créez un répertoire pour accueillir la branche xml de Fink, par exemple :
mkdir -p ~/Documents/Fink-i18n
- Déplacez vous dans ce répertoire :
cd ~/Documents/Fink-i18n
- Pour les membres d'une équipe (ou les chefs d'équipe n'ayant pas encore d'accès commit) :
Connectez-vous anonymement à fink.cvs.sourceforge.net :
cvs -d:pserver:anonymous@fink.cvs.sourceforge.net:/cvsroot/fink login
- Appuyez sur la touche retour chariot (pas de mot de passe, anonyme par défaut)
- Faites un check out du module xml :
cvs -d:pserver:anonymous@fink.cvs.sourceforge.net:/cvsroot/fink co xml
- Vous n'avez pas à vous connecter, exécutez directement :
cvs -d:ext:votrenomutilisateur@fink.cvs.sourceforge.net:/cvsroot/fink co xml
où votrenomutilisateur est, bien sûr, votre nom d'utilisateur sur SourceForge. Il se peut que vous ayez un message vous disant que la clé DSA du serveur est inconnue. Répondez "yes" à ce message. - Dans ce cas, vous devez saisir votre phrase d'authentification SourceForge à l'invite.
2.4 Types de fichiers
En tant que traducteur, vous devrez distinguer deux types de fichiers :
- Fichiers statiques (fichiers PHP seuls)
Ce sont des documents dont l'organisation (c'est-à-dire la numérotation des articles) a peu de chances de varier d'un jour à l'autre. Dans ce cas, le document est représenté par un fichier PHP, que vous devez traduire.
- Fichiers dynamiques (fichiers XML générant des fichiers PHP et HTML)
Ces documents (par exemple les QFP) sont mis à jour et restructurés plus souvent, il faut donc pouvoir les réorganiser dynamiquement. Ils ont pour base un fichier XML à partir duquel sont créés des fichiers PHP et HTML au moyen d'un script. En tant que traducteur, vous devez traduire le fichier XML.
De plus, vous devrez traduire ou modifier d'autres fichiers, tels les Makefile, les fichiers de type nac.xx.inc et constants.xx.inc. En leur absence, soit les pages n'apparaîtront sur le site web, soit elles n'apparaîtront pas correctement.
Tous les fichiers sont encodés en utf-8. Il en résulte que vous ne devez pas changer l'encodage à moins qu'il ne soit incorrect. De même vous ne devez utiliser aucune entité html autre que celles existant déjà dans les fichiers anglais.
2.5 Récupération de la révision la plus récente
Comme d'autres traducteurs vont changer certains fichiers (ne paniquez pas, CVS gère très bien les changements), il vous est conseillé de mettre à jour fréquemment votre copie de travail après le premier check out. Pour mettre à jour, suivez les étapes suivantes :
- Déplacez-vous dans le répertoire qui contient les fichiers récupérés, par exemple :
cd ~/Documents/Fink-i18n/xml
- Mettez-les à jour :
cvs -d:pserver:anonymous@fink.cvs.sourceforge.net:/cvsroot/fink update -dP
pour les membres d'équipe sans accès commit, ou :cvs update -dP
pour les chefs d'équipe.
Vous verrez peut-être une lettre devant un ou plusieurs noms de fichiers lors de la mise à jour. Consultez l'Annexe pour de plus amples informations, ainsi que la man page cvs.
2.6 Traduction initiale
Voici les fichiers à traduire, classés par ordre de priorité :
Noms (des fichiers de la version anglaise)
- Fichiers de constantes ( par exemple
xml/web/constants.*.inc
) (voir ci-dessous) - Fichiers statiques PHP ( par exemple
xml/web/*.en.php
) - Fichiers de navigation dans la documentation (par exemple
xml/web/doc/nav.*.inc
) (même traitement que constants.*.inc) - Index de la documentation (
xml/doc/doc.en.xml
) - Guide utilisateur (
xml/users-guide/uguide.en.xml
) - Notions complexes (
xml/advanced/advanced.en.xml
) - Guide utilisateur (
xml/users-guide/uguide.en.xml
) - Utilisation de X11 (
xml/x11/x11.en.xml
) - Accès CVS (
xml/cvsaccess/cvs.en.xml
) - ReadMe (
xml/fink-readme/readme.en.xml
) - Internationalisation (
xml/multilingual/multilingual.en.xml
) - Étiquette net (
xml/netiquette/netiquette.en.xml
) - Sécurité (
xml/security/security.en.xml
) - Tutoriel d'empaquetage (
xml/quick-start-pkg/quick-start-pkg.en.xml
) - Construction de paquets (
xml/packaging/packaging.en.xml
) - Portage (
xml/porting/porting.en.xml
) - Dernières nouvelles (
xml/news/news.xml
)
Vérifiez qu'il n'y a pas d'autres fichiers php, constantes ou navigation à traduire dans les sous-répertoires du répertoire xml/web
Ne traduisez et ne modifiez aucun fichier php situé dans le répertoire xml/web
ou ses sous-répertoires, s'il existe au début de ce fichier une ligne contenant "Generated from". Vous trouverez le fichier xml correspondant à traduire ou à modifier dans l'arborescence xml
.
Les fichiers constants.*.inc
servent à traduire des mots inclus tels quels dans les fichiers PHP. La plupart correspondent à des articles de menu, situés en haut et à gauche des pages. Il vous faut les isoler des scripts et créer un fichier constants.xx.inc pour votre langue. Pour ce faire, exécutez la commande suivante dans une fenêtre de terminal :
cp constants.fr.inc constants.xx.inc
où xx est votre code langue (par exemple de pour l'allemand). Ensuite, il vous faudra traduire la partie située entre guillemets simples de chaque ligne commençant par define. Si vous ne comprenez pas l'allemand, voici la traduction en anglais :
N'oubliez pas de changer la locale, c'est-à-dire de changer en_US en de_DE pour l'allemand.
/* The Sections. Used in Menu Navigation Bar */ define (FINK_LC_ALL, 'en_US'); /* The Sections. Used in Menu Navigation Bar */ define (FINK_SECTION_HOME, 'Home'); define (FINK_SECTION_DOWNLOAD, 'Download'); define (FINK_SECTION_PACKAGE, 'Packages'); define (FINK_SECTION_HELP, 'Help'); define (FINK_SECTION_FAQ, 'F.A.Q.'); define (FINK_SECTION_DOCUMENTATION, 'Documentation'); define (FINK_SECTION_MAILING_LISTS, 'Mailing Lists'); /* The Home Subsections. Used in Menu Navigation Bar */ define (FINK_SECTION_HOME_INDEX, 'Index'); define (FINK_SECTION_HOME_NEWS, 'News'); define (FINK_SECTION_HOME_ABOUT, 'About'); define (FINK_SECTION_HOME_CONTRIBUTORS, 'Contributors'); define (FINK_SECTION_HOME_LINKS, 'Links'); /* The word 'Sections'. Used in Menu Navigation Bar */ define (FINK_SECTIONS, 'Sections'); /* Used in FAQ/Documentation Sections: */ /* Contents as Table of contents, Next as next page */ /* Q as question, A as anwer */ define (FINK_CONTENTS, 'Contents'); define (FINK_NEXT, 'Next'); define (FINK_Q, 'Q'); define (FINK_A, 'A'); /* Printer */ define (FINK_PRINTER, 'Printer'); define (FINK_PRINT_VERSION, 'Print Version'); /* Footer */ define (META_KEYWORDS, 'Mac OS X, Fink, Debian, Macintosh, Apple, UNIX, Open Source, download, free software, port, development, package management'); define (META_DESCRIPTION, 'The Fink project wants to bring the full world of Unix Open Source software to Darwin and Mac OS X. We modify Unix software so that it compiles and runs on Mac OS X and make it available for download as a coherent distribution.'); define (HEADER_HOSTED_BY, 'Hosted by {img}'); define (FOOTER_AVAILABLE_LANGUAGES, 'Available Languages'); define (FOOTER_GENERATED_DYNAMICALLY, 'Generated dynamically from'); define (FOOTER_DATABASE_LAST_UPDATED, 'Last updated on %a, %d %B %Y, %R %Z'); define (FOOTER_LAST_CHANGED, 'Last changed by {author} on %a, %d %B %Y, %R %Z');
Note : les premières lignes de la section Footer ont été coupées pour des raisons d'affichage. Ne les coupez pas dans le fichier.
Quand vous traduisez, vous devez suivre les étapes suivantes (disons que vous traduisez en français le document Running X11) :
- Copiez le fichier xml
cp x11.en.xml x11.fr.xml
- Modifiez les premières lignes pour indiquer que le texte du fichier est écrit en français et que l'encodage est UTF-8 :
<?xml version='1.0' encoding='utf-8' ?> ... <document filename="index" lang="fr" > ...
- Note très importante : Vérifiez que la ligne cvsid en début de fichier n'est pas coupée en deux.
- Sauvegardez le fichier avec encodage UTF-8. Assurez-vous que l'encodage du texte est bien utf-8 et ne modifiez que la partie texte dans le fichier.
- Quand vous aurez fini la traduction, ou quand vous voulez la tester, modifiez le fichier
Makefile
pour ajouter votre langue :LANGUAGES_AVAILABLE = en ja fr
Puis exécutez
make
dans le répertoire. Cela créera les fichiers PHP (et éventuellement d'autres fichiers), ainsi que tous les fichiers correspondant aux langues présentes dans le Makefile.
Note : si vous constatez des fautes d'orthographe ou des erreurs dans le fichier anglais, ne le modifiez pas de vous-même, mais signalez-les à la liste de diffusion fink-i18n list, de telle sorte que le fichier anglais - fichier maître - soit modifié.
2.7 Vérification du travail
Avant de télécharger votre travail sur le site web de Fink, vous devez vérifier que vos documents s'affichent correctement. Il existe deux façons de le faire :
- La plus simple : ouvrez les fichiers HTML et PHP dans votre navigateur web. Les fichiers PHP ne s'afficheront toutefois pas exactement comme vous les verrez sur le site web de Fink.
- La meilleure : Vous pouvez utiliser le serveur web inclus dans le système opératoire pour afficher vos documents de la même façon que sur le site web de Fink. En supposant que vous utilisez le serveur inclus :
- Modifiez le fichier
/etc/httpd/httpd.conf
, par exemple avec :sudo pico /etc/httpd/httpd.conf
- Cherchez la ligne :
#LoadModule php4_module libexec/httpd/libphp4.so
et supprimez le signe # au début de cette ligne. - Cherchez la ligne
#AddModule mod_php4.c
et supprimez le signe # au début de cette ligne. - Si vous utilisez une version d'Apache antérieure à celle incluse dans Panther, vous devez aussi rechercher la ligne :
AddType application/x-httpd-php .php
et insérez un signe # au début de cette ligne. - Sauvegardez le fichier et fermez l'éditeur.
- Démarrez le partage web personnel dans les préférences système. S'il est déjà activé, désactivez-le, puis réactivez-le.
- Le moyen le plus simple de tout voir est de déplacer votre copie locale de la branche
xml
dans le sous-répertoireSites
de votre répertoire utilisateur. Vous pourrez alors ouvrir la page d'accueil dans votre navigateur à l'URL suivante :http://127.0.0.1/~NOMUTILISATEUR/xml/web/index.php
oùNOMUTILISATEUR
doit être remplacé par votre nom d'utilisateur.
- Modifiez le fichier
2.8 Après obtention de l'accès au commit (chefs d'équipe)
Lorsque que vous aurez obtenu l'accès au commit, vous devrez :
- Créer une paire de clés SSH pour votre compte SourceForge.
- Créez-la sur votre machine en suivant les instructions données sur SourceForge.
- Exécutez dans une fenêtre de terminal la commande suivante :
cat ~/.ssh/id_dsa.pub | pbcopy
Cette commande copie directement le contenu du fichier dans le presse-papiers, de façon à éviter de générer des caractères de fin de ligne intempestifs. Ne copiez surtout rien d'autre dans le presse-papiers avant d'avoir terminé la procédure. - Connectez-vous à votre compte sur SourceForge.
- Cliquez sur "Account Options"
- Allez dans la zone "Host Access Information" et cliquez sur "Edit SSH Keys for Shell/CVS"
- Cliquez dans le formulaire et exécutez Cmd-A, Cmd-V
- Cliquez sur OK.
- Faire un check out de l'arborescence
xml
en utilisant votre nom d'utilisateur.- Si vous avez déjà fait un check out de l'arborescence
xml
au départ, vous devez renommer votre copie locale. Vous pouvez utiliser le Finder pour ce faire. - Exécutez la commande suivante dans une fenêtre de terminal de façon à vous déplacer dans le répertoire où réside votre arbre :
cd ~/Documents/Fink-i18n
- Faites un check out de l'arbre xml :
cvs -d:ext:votrenomutilisateur@fink.cvs.sourceforge.net:/cvsroot/fink co xml
où votrenomutilisateur est, bien entendu, votre nom d'utilisateur sur SourceForge. Saisissez la phrase d'authentification à l'invite. - Copiez dans la nouvelle arborescence les fichiers sur lesquels vous aviez travaillé antérieurement, et qui résident dans la copie que vous venez de faire. Vous pouvez utiliser le Finder pour cela, faites cependant très attention de copier les fichiers exactement là où ils se trouvaient dans l'ancienne arborescence.
- Si vous avez déjà fait un check out de l'arborescence
2.9 Commit des modifications (chefs d'équipe)
Maintenant, vous devez envoyer les modifications au serveur principal. Tout d'abord, vous devez vous assurer que vous avez effectivement accès au commit. Vous devez aussi vérifier que vous utilisez toujours la dernière version de XSLT dans l'arborescence instable de Fink, qui est, à l'heure où ce document est écrit, libxslt-1.1.2-2
.
La procédure de commit est différente selon la nature - statique ou dynamique - des documents :
- Fichiers statiques : (fichiers PHP seulement). Pour faire un commit de ces documents, exécutez les étapes suivantes :
- Ouvrez une fenêtre de terminal.
- Déplacez-vous dans le répertoire qui contient le fichier sur lequel vous voulez faire un check in, par exemple :
cd ~/Documents/Fink-i18n/xml/web
si vous avez créé votre arborescence
xml
dans le sous-répertoireDocuments/Fink-i18n/
de votre répertoire utilisateur et que vous voulez faire un commit d'un fichier PHP résidant dans le répertoire xml/web. - Si le fichier est un fichier que vous venez de créer, vous devez l'ajouter à la liste des fichiers, par exemple :
cvs add download.ru.php
Saisissez votre phrase d'authentification à l'invite.Si le fichier existe déjà, sautez cette étape.
- Faites un commit du fichier, par exemple :
cvs ci -m "message" download.ru.php
où message indique ce que vous avez fait. Saisissez votre phrase d'authentification à l'invite.Note : vous pouvez faire un commit de plusieurs fichiers à la fois.
- Fichiers dynamiques : (XML et PHP). Après avoir modifié le fichier XML, effectuez les opérations suivantes :
- Ouvrez une fenêtre de terminal
- Déplacez-vous dans le répertoire qui contient le fichier que vous avez créé ou modifié, par exemple :
cd ~/Documents/Fink-i18n/xml/faq
si vous avez travaillé sur les QFP. - Lancez :
make check
pour vérifier que le fichier est valide. - Si le fichier XML est un fichier que vous venez de créer, vous devez l'ajouter à la liste des fichiers, par exemple :
cvs add faq.ru.xml
Saisissez votre phrase d'authentification SourceForge à l'invite.Si le fichier existe déjà, sautez cette étape.
- Faites un commit du fichier, par exemple :
cvs ci -m "message" faq.ru.xml
où message décrit ce que vous avez fait. Saisissez votre phrase d'authentification SourceForge à l'invite. N'oubliez pas de faire aussi un commit du Makefile si vous l'avez modifié (c'est-à-dire si vous avez ajouté votre langue dans le fichier).
- Ensuite, lancez :
make && make install
- Si vous obtenez un messsage d'erreur vous indiquant qu'un répertoire
foo
n'existe pas dans l'arborescencexml/scripts/installer/dmg
, déplacez-vous y avec la commande suivante :cd ../scripts/installer/dmg
et créez le répertoire manquant avec :mkdir -p foo
Puis retournez dans le précédent répertoire et réexécutez :make && make install
- Déplacez-vous à la racine de l'arborescence xml de Fink, par exemple :
cd ~/Documents/Fink-i18n/xml
si vous avez créé votre arborescence
xml
dans le sous-répertoireDocuments/Fink-i18n/
de votre répertoire utilisateur. - Si le fichier XML est un fichier que vous venez de créer, il vous faut ajouter d'autres fichiers à la liste des fichiers gérés par CVS. Par exemple, si vous avez travaillé sur les QFP, vous devez exécuter :
cvs add web/faq/index.en.php web/faq/general.ru.php \ web/faq/relations.ru.php web/faq/usage-fink.ru.php \ web/comp-general.ru.php web/faq/comp-packages.ru.php \ web/faq/usage-general.ru.php web/faq/usage-packages.ru.php \ web/faq/upgrade-fink.ru.php web/faq/mirrors.ru.php \ web/faq/faq.ru.html web/faq/header.ru.inc \ scripts/installer/dmg/faq.ru.html
Pour les autres documents, les fichiers à ajouter ne sont, bien entendu, pas les mêmes - utilisez les noms des fichiers créés lorsque vous avez exécutémake install
. - N'oubliez pas d'ajouter et de faire un commit de tout fichier que vous avez créé (que ce soit constants.xx.inc, header.xx.inc, nav.xx.inc, etc...)
Si le fichier existe déjà, sautez cette étape.
- Faites un commit de l'ensemble de l'arborescence :
cvs ci -m "message"
où message est une description que ce que vous avez fait (vous pouvez utiliser le même que celui que vous avez utilisé pour faire un commit du fichier XML). Saisissez votre phrase d'authentification à l'invite.
La raison pour laquelle vous devez exécuter deux commits dans ce cas, est que c'est la seule façon de faire pour que la date de création et le nom de la personne qui a modifié les fichiers en dernier ressort soient corrects.
2.10 Mise à jour de notre site web
Si vous avez envie de voir tout de suite le fruit de votre travail, exécutez les étape suivantes :
- Ouvrez une fenêtre de terminal
- Connectez-vous au serveur web via ssh :
ssh nomutilisateur@shell.sourceforge.net
Saisissez votre phrase d'authentification SourceForge. - Déplacez-vous dans le répertoire qui contient nos pages web :
cd /home/groups/f/fi/fink/htdocs
- Mettez à jour le site web à partir de CVS :
./update.sh
- Déconnectez-vous du serveur web :
exit
- Admirez votre travail :
open /