Available Languages: | Deutsch | English | Français | 中文 (简) (Simplified Chinese) | |
Ce document est en cours de rédaction.
Voici le guide d'internationalisation du site web de Fink. Ce document a été conçu pour servir de vade mecum aux personnes qui désirent contribuer à l'internationalisation du site.
Le projet Fink a entrepris la tâche d'internationaliser son site web pour le rendre plus accessible au monde entier. Grâce à Yoshihiko Baba, il existe maintenant une structure qui permet l'utilisation de pages en plusieurs langues.
Des volontaires travaillent déjà sur les langues suivantes :
Vous trouverez l'organigramme de l'équipe i18n ici.
Si vous désirez nous aider à internationaliser le site, voici ce que vous pouvez faire :
Prenez en compte, toutefois, que si vous êtes la première personne à traduire dans votre langue, il y a un bon nombre de documents à traduire au départ. Ensuite, il ne devrait y avoir que peu de changements.
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.
Pour travailler sur les fichiers de documentation en tant que membre d'une équipe de traduction, il vous faut :
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 :
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.
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.
export CVS_RSH=sshau fichier .profile.
setenv CVS_RSH sshau fichier .cshrc.
cvs utilisera alors ssh pour accéder aux fichiers. Ceci est absolument nécessaire.
cvs -z3De 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.
Pour l'instant, vous devez exécuter un check out de la branche xml du site web :
mkdir -p ~/Documents/Fink-i18n
cd ~/Documents/Fink-i18n
cvs -d:pserver:anonymous@fink.cvs.sourceforge.net:/cvsroot/fink login
cvs -d:pserver:anonymous@fink.cvs.sourceforge.net:/cvsroot/fink co xml
cvs -d:ext:votrenomutilisateur@fink.cvs.sourceforge.net:/cvsroot/fink co xmloù 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.
En tant que traducteur, vous devrez distinguer deux types de fichiers :
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.
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.
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 :
cd ~/Documents/Fink-i18n/xml
cvs -d:pserver:anonymous@fink.cvs.sourceforge.net:/cvsroot/fink update -dPpour les membres d'équipe sans accès commit, ou :
cvs update -dPpour 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.
Voici les fichiers à traduire, classés par ordre de priorité :
Noms (des fichiers de la version anglaise)
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) :
cp x11.en.xml x11.fr.xml
<?xml version='1.0' encoding='utf-8' ?> ... <document filename="index" lang="fr" > ...
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é.
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 :
sudo pico /etc/httpd/httpd.conf
#LoadModule php4_module libexec/httpd/libphp4.soet supprimez le signe # au début de cette ligne.
#AddModule mod_php4.cet supprimez le signe # au début de cette ligne.
AddType application/x-httpd-php .phpet insérez un signe # au début de cette ligne.
http://127.0.0.1/~NOMUTILISATEUR/xml/web/index.phpoù NOMUTILISATEUR doit être remplacé par votre nom d'utilisateur.
Lorsque que vous aurez obtenu l'accès au commit, vous devrez :
cat ~/.ssh/id_dsa.pub | pbcopyCette 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.
cd ~/Documents/Fink-i18n
cvs -d:ext:votrenomutilisateur@fink.cvs.sourceforge.net:/cvsroot/fink co xmloù votrenomutilisateur est, bien entendu, votre nom d'utilisateur sur SourceForge. Saisissez la phrase d'authentification à l'invite.
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 :
cd ~/Documents/Fink-i18n/xml/web
si vous avez créé votre arborescence xml dans le sous-répertoire Documents/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.
cvs add download.ru.phpSaisissez votre phrase d'authentification à l'invite.
Si le fichier existe déjà, sautez cette étape.
cvs ci -m "message" download.ru.phpoù 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.
cd ~/Documents/Fink-i18n/xml/faqsi vous avez travaillé sur les QFP.
make checkpour vérifier que le fichier est valide.
cvs add faq.ru.xmlSaisissez votre phrase d'authentification SourceForge à l'invite.
Si le fichier existe déjà, sautez cette étape.
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).
make && make install
cd ../scripts/installer/dmget créez le répertoire manquant avec :
mkdir -p fooPuis retournez dans le précédent répertoire et réexécutez :
make && make install
cd ~/Documents/Fink-i18n/xml
si vous avez créé votre arborescence xml dans le sous-répertoire Documents/Fink-i18n/ de votre répertoire utilisateur.
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.htmlPour 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.
Si le fichier existe déjà, sautez cette étape.
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.
Si vous avez envie de voir tout de suite le fruit de votre travail, exécutez les étape suivantes :
ssh nomutilisateur@shell.sourceforge.netSaisissez votre phrase d'authentification SourceForge.
cd /home/groups/f/fi/fink/htdocs
./update.sh
exit
open /
Comme la documentation anglaise est la documentation maître, elle doit être mise à jour en premier. Une telle mise à jour peut être effectuée par un membre de l'équipe i18n (par exemple par les rédacteurs anglais) ou directement par les développeurs.
Pour que tout se passe bien, vous devez suivre les procédures suivantes.
Quand un nouveau document est mis en ligne ou que des changements ont lieu dans la documentation anglaise, les traducteurs sont prévenus par un message envoyé sur la liste de diffusion fink-18n. Le message doit contenir les informations suivantes :
diff -Nru3 -rlast_revision rhead
Note : comme la simple exécution du commit d'un fichier XML génère un message sur la liste de diffusion fink-commits qui remplit tous les critères mentionnés ci-dessus, le plus simple est de faire suivre le message en changeant son objet. Néanmoins, cela ne fonctionne pas bien, si le nombre de changements est important.
On fait un commit sur la version anglaise du document et on l'active, il est ensuite traduit comme expliqué ci-dessous.
Note : si le nouveau document est inclus dans un nouveau répertoire, n'oubliez pas d'ajouter ce nouveau répertoire au Makefile situé dans le répertoire xml. Faute de le faire, le processus de compilation ne s'effectuera pas correctement.
Le chef d'équipe de la langue concernée (ou une autre personne ayant un accès CVS) fait un commit et active les documents dès qu'ils sont prêts.
On entend par nouvelle traduction :
On fait un commit et l'on active immédiatement la documentation maître anglaise, - quelque soit la personne qui change le fichier XML, elle doit aussi faire le commit des fichiers PHP et HTML et activer les changements. Ensuite les équipes de traduction mettent à jour leurs versions, font un commit de tous les fichiers (XML et PHP), puis activent les changements.
Ne changez jamais un fichier php généré dynamiquement ; changez le fichier xml correspondant.
Vérifiez que la ligne cvsid en début de fichier n'est pas coupée en deux.
Notes :
Dans ce case, on fait le commit de la version anglaise du fichier XML, mais pas des fichiers PHP et HTML, c'est-à-dire que l'on s'arrête à l'étape 5 de la section Fichiers dynamiques en 2.9. Tous les traducteurs traduisent dans leurs langues respectives et font le commit du seul fichier XML (c'est-à-dire le même fichier que pour l'anglais) dans un laps de temps prévu d'avance. La génération, le commit et l'activation de tous les fichiers PHP et HTML sont faits en même temps par un des chefs du projet i18n quand le délai est écoulé.
La règle actuelle est que tous les documents doivent être mis à jour suivant le schéma mise à jour rapide, sauf si vous avez une bonne raison de faire autrement.
L'internationalisation n'est pas une chose simple à mettre en place. Les ressources indiquées ci-dessous peuvent servir de base à une source auxiliaire d'information. Nous vous conseillons de les lire soigneusement si vous voulez en connaître plus sur le sujet.
Il existe un certain d'éditeurs de texte que vous pouvez utiliser pour modifier les fichiers. Voici une liste de ceux que nous vous recommandons. Certains éditeurs de texte sont difficiles à utiliser ou sont des outils en ligne de commande, et ne conviennent donc pas à tout un chacun. Nous avons essayé de donner une liste d'éditeurs de texte pouvant convenir à tout le monde.
L'interface en ligne de commande ne convient pas à tout le monde. Les outils suivants sont généralement des interfaces graphiques d'outils en ligne de commande. Vous pouvez vous en servir si vous le désirez.
Quand vous mettrez à jour votre copie locale par CVS, vous verrez parfois des lettres devant les noms de fichiers. Voici ce qu'elles signifient :
Pour ce faire, vous pouvez utiliser :
rm fichier; cvs update fichier
où fichier représente le fichier concerné, puis appliquez les modifications à partir de la copie de sauvegarde de votre fichier que CVS a créée sous le nom de .#fichier-version
où version est le numéro de révision avant la mise à jour.Copyright (c) 2001 Christoph Pfisterer, Copyright (c) 2001-2020 The Fink Project. You may distribute this document in print for private purposes, provided the document and this copyright notice remain complete and unmodified. Any commercial reproduction and any online publication requires the explicit consent of the author.
Generated from $Fink: multilingual.fr.xml,v 1.20 2012/11/11 15:20:15 gecko2 Exp $