Available Languages: | Deutsch | English | Français | 中文 (简) (Simplified Chinese) |

Guide d'internationalisation de Fink (i18n)

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.

Contents

1 Introduction

1.1 En quoi consiste ce projet d'internationalisation du site web de Fink ?

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.

1.2 Langues

Des volontaires travaillent déjà sur les langues suivantes :

1.3 Organisation

Vous trouverez l'organigramme de l'équipe i18n ici.

1.4 Participation

Si vous désirez nous aider à internationaliser le site, voici ce que vous pouvez faire :

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 :

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.

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.

  1. Chefs d'équipe : modifiez votre fichier de login pour ajouter la variable d'environnement CVS_RSH.
    1. Si vous utilisez bash ou zsh, ajoutez la ligne suivante :
      export CVS_RSH=ssh
      au fichier .profile.
    2. 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.

  2. 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 :

  1. Ouvrez un terminal
  2. Créez un répertoire pour accueillir la branche xml de Fink, par exemple :
    mkdir -p ~/Documents/Fink-i18n
  3. Déplacez vous dans ce répertoire :
    cd ~/Documents/Fink-i18n
  4. 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 :
    1. cvs -d:pserver:anonymous@fink.cvs.sourceforge.net:/cvsroot/fink login
    2. Appuyez sur la touche retour chariot (pas de mot de passe, anonyme par défaut)
    3. Faites un check out du module xml :
      cvs -d:pserver:anonymous@fink.cvs.sourceforge.net:/cvsroot/fink co xml
    Chefs d'équipe : faites un check out en utilisant votre nom d'utilisateur :
    1. Vous n'avez pas à vous connecter, exécutez directement :
      cvs -d:ext:votrenomutilisateur@fink.cvs.sourceforge.net:/cvsroot/fink co xml
      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.
    2. 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 :

  1. 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.

  2. 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 :

  1. Déplacez-vous dans le répertoire qui contient les fichiers récupérés, par exemple :
    cd ~/Documents/Fink-i18n/xml
  2. 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)

  1. Fichiers de constantes ( par exemple xml/web/constants.*.inc) (voir ci-dessous)
  2. Fichiers statiques PHP ( par exemple xml/web/*.en.php)
  3. Fichiers de navigation dans la documentation (par exemple xml/web/doc/nav.*.inc) (même traitement que constants.*.inc)
  4. Index de la documentation (xml/doc/doc.en.xml)
  5. Guide utilisateur (xml/users-guide/uguide.en.xml)
  6. Notions complexes (xml/advanced/advanced.en.xml)
  7. Guide utilisateur (xml/users-guide/uguide.en.xml)
  8. Utilisation de X11 (xml/x11/x11.en.xml)
  9. Accès CVS (xml/cvsaccess/cvs.en.xml)
  10. ReadMe (xml/fink-readme/readme.en.xml)
  11. Internationalisation (xml/multilingual/multilingual.en.xml)
  12. Étiquette net (xml/netiquette/netiquette.en.xml)
  13. Sécurité (xml/security/security.en.xml)
  14. Tutoriel d'empaquetage (xml/quick-start-pkg/quick-start-pkg.en.xml)
  15. Construction de paquets (xml/packaging/packaging.en.xml)
  16. Portage (xml/porting/porting.en.xml)
  17. 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) :

  1. Copiez le fichier xml
    cp x11.en.xml x11.fr.xml
  2. 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" > ...
  3. Note très importante : Vérifiez que la ligne cvsid en début de fichier n'est pas coupée en deux.
  4. 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.
  5. 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 :

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 :

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 :

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 :

  1. Ouvrez une fenêtre de terminal
  2. Connectez-vous au serveur web via ssh :
    ssh nomutilisateur@shell.sourceforge.net
    Saisissez votre phrase d'authentification SourceForge.
  3. Déplacez-vous dans le répertoire qui contient nos pages web :
    cd /home/groups/f/fi/fink/htdocs
  4. Mettez à jour le site web à partir de CVS :
    ./update.sh
  5. Déconnectez-vous du serveur web :
    exit
  6. Admirez votre travail :
    open /

3 Procédure de mise à jour des documents

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.

3.1 Demande de traduction

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 :

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.

3.2 Nouveau document

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.

3.3 Nouvelles traductions

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 :

3.4 Mise à jour rapide de la documentation existante

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 :

  1. Les modifications du guide d'internationalisation (ce document) sont toujours faites suivant ce schéma, car les changements affectent l'ensemble des équipes de traduction.
  2. Les modifications des documents statiques (fichiers PHP non générés via XML) sont toujours faites suivant ce schéma, car il est difficile de retarder leur activation.

3.5 Mise à jour retardée de la documentation existante (fichiers générés via XML uniquement)

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é.

3.6 Pour les développeurs et les documentalistes anglais

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.

4 Autres ressources

4.1 Liens importants

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.

  1. Unicode in XML and other Markup Languages
  2. Tutorial: Character sets & encodings
  3. W3C Internationalization Activity
  4. UTF-8 and Unicode FAQ for Unix/Linux

4.2 Éditeurs de textes

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.

4.3 Outils utiles

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.

5 Annexe

5.1 Codes CVS

Quand vous mettrez à jour votre copie locale par CVS, vous verrez parfois des lettres devant les noms de fichiers. Voici ce qu'elles signifient :


Copyright Notice

Copyright (c) 2001 Christoph Pfisterer, Copyright (c) 2001-2015 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 $