diff --git a/fr_FR.ISO8859-1/books/handbook/l10n/chapter.sgml b/fr_FR.ISO8859-1/books/handbook/l10n/chapter.sgml index 899927103c..f90b7b8098 100644 --- a/fr_FR.ISO8859-1/books/handbook/l10n/chapter.sgml +++ b/fr_FR.ISO8859-1/books/handbook/l10n/chapter.sgml @@ -1,1116 +1,1116 @@ Andrey A. Chernov Contribution de Michael C. Wu Réécrit par Localisation - Utilisation et configuration de l'I18N/L10N &trans.a.fonvieille; Synopsis FreeBSD est un projet à très large audience avec des utilisateurs et des contributeurs provenant du monde entier. Ce chapitre discute des fonctions d'internationalisation et de localisation de FreeBSD qui permettent aux non-anglophones de travailler. Il y a de nombreux aspects de l'implémentation i18n au niveau système et application, et quand ce sera possible nous renverrons le lecteur à des sources de documentation plus spécifiques. Après la lecture de ce chapitre, vous connaîtrez: Comment les différentes langues et “locales” sont codées sur les systèmes d'exploitation modernes. Comment paramétrer les “locales” pour votre interpréteur de commandes. Comment configurer la console pour d'autres langues que l'anglais. - Comment employer X Window efficacement avec + Comment employer le système X Window efficacement avec différentes langues. Où trouver plus d'informations sur l'écriture d'applications conformes à la norme i18n. Avant de lire ce chapitre, vous devrez: Savoir comment installer des logiciels tiers (). Les bases Qu'est-ce que I18N/L10N? internationalisation localisation Les développeurs ont raccourci le terme internationalisation en I18N, en comptant le nombre de lettres entre la première et la dernière du mot internationalisation. L10N utilise le même principe, et provient du mot “localisation”. Combinées ensemble, les méthodes I18N/L10N, les protocoles, et les applications conformes permettent aux utilisateurs d'utiliser la langue de leur choix. Les applications I18N sont programmées en utilisant des kits I18N par dessous les bibliothèques. Cela permet aux développeurs d'écrire un simple fichier et traduire les menus et textes affichés dans chaque langue. Nous encourageons fortement les programmeurs à suivre cette convention. Pourquoi devrais-je employer l'I18N/L10N? I18N/L10N est utilisé à chaque fois que vous désirez afficher, entrer, ou traiter des données dans des langues autres que l'anglais. Quelles sont les langues supportées par l'I18N? I18N et L10N ne sont pas spécifiques à FreeBSD. Actuellement, on peut choisir parmi la plupart des langues principales du monde, y compris mais pas seulement: le chinois, l'allemand, le japonais, le coréen, le français, le russe, le vietnamien et d'autres. Utiliser la localisation Dans toute sa splendeur, I18N n'est pas spécifique à FreeBSD et est une convention. Nous vous encourageons à aider FreeBSD à suivre cette convention. locale Le paramétrage des “locales” est basé sur trois termes principaux: le code de la langue, le code du pays, et le codage des caractères. Les noms de “locales” sont construits à partir de ces trois éléments comme suit: CodeLangue_CodePays.CodageCaractères Codage de la langue et du pays codage des langues codage des pays Afin de localiser un système FreeBSD pour une langue spécifique (ou tout autre &unix; supportant l'I18N), l'utilisateur doit déterminer les codes spécifiques pour le pays et la langue (les codes pays indiquent aux applications quelle variation d'une langue donnée utiliser). De plus, les navigateurs Web, les serveurs SMTP/POP, les serveurs Web... agissent en fonction de ces codes. Ce qui suit est un exemple de codes langue/pays: Code langue/pays Description en_US Anglais - Etats Unis ru_RU Russe pour la Russie zh_TW Chinois traditionnel pour Taiwan Codage des caractères codages des caractères ASCII Certaines langues utilisent les codages non-ASCII sur 8 bits ou codent des caractères sur plusieurs octets, voir &man.multibyte.3; pour plus de détails. Les vieilles applications ne les reconnaissent pas ou les remplacent à tord par des caractères de contrôle. Les applications récentes reconnaissent normalement les caractères 8 bits. En fonction de l'implémentation, les utilisateurs devront peut être compiler une application avec le support des caractères sur 8 bits ou multi-octets, ou la configurer correctement. Afin d'accepter l'usage et le traitement de tels caractères, le catalogue des logiciels portés de FreeBSD fournit pour certains programmes une version dans chaque langue. Référez-vous à la documentation I18N de chaque logiciel porté respectif. Spécifiquement, l'utilisateur doit consulter la documentation de l'application pour décider de comment la configurer correctement ou comment passer les valeurs correctes à la procédure configure, au Makefile ou au compilateur. Quelques éléments à garder à l'esprit sont: Les jeux de caractères au codage simple des caractères de la bibliothèque C (voir - &man.multibyte.3;), i.e., ISO-8859-1, ISO-8859-15, KOI8-R, + &man.multibyte.3;), e.g., ISO-8859-1, ISO-8859-15, KOI8-R, CP437. - Les codages étendus ou multi-octets, i.e. EUC, + Les codages étendus ou multi-octets, e.g. EUC, Big5. Vous pouvez contrôler la liste des jeux de caractères actuellement actifs dans le registre de l'IANA. FreeBSD version 4.5 et ultérieure utilise à la place un codage des “locales” compatible avec X11. Applications I18N Dans le système de logiciels portés et pré-compilés de FreeBSD, les applications I18N ont été nommées avec I18N dans leur nom pour une identification aisée. Cependant, elles ne supportent pas toujours la langue désirée. Configurer les “locales” Généralement il est suffisant d'exporter le nom de la “locale” grâce à la variable LANG sous l'interpréteur de commandes utilisé lors de la session. Cela pourra être fait dans le fichier ~/.login_conf de l'utilisateur ou le fichier de configuration de l'interpréteur de commandes de l'utilisateur (~/.profile, ~/.bashrc, ~/.cshrc). Il n'est pas nécessaire de configurer toutes les autres variables de localisation comme LC_CTYPE, LC_CTIME. Veuillez consulter la documentation de FreeBSD spécifique à votre langue pour plus d'informations. Vous devrez configurer les deux variables d'environnement suivantes dans vos fichiers de configuration: POSIX LANG pour la famille de fonctions &posix; &man.setlocale.3; MIME MM_CHARSET pour le jeu de caractères MIME des applications Cela comprend la configuration de l'interpréteur de commandes, la configuration spécifique des applications, et celle de X11. Méthodes de configuration des “locales” “locales” classe de session Il existe deux méthodes pour configurer les “locales”, elles sont décrites ci-dessous. La première (celle qui est recommandée) est d'assigner les variables d'environnement dans une classe de session, et la seconde est d'ajouter le paramétrage des variables d'environnement dans les fichiers d'initialisation de l'interpréteur de commandes du système. Méthode utilisant les classes de session utilisateur Cette méthode permet d'assigner une fois pour toute les variables d'environnement nécessaires pour le nom des “locales” et le jeu de caractères MIME et cela pour toutes les sessions au lieu de le faire à chaque nouvelle session par l'intermédiaire de la configuration des fichiers d'initialisation de l'interpréteur de commandes. La configuration au niveau utilisateur peut être faite par l'utilisateur lui-même et la configuration au niveau administrateur demande les privilèges de super-utilisateur. Configuration au niveau utilisateur Voici un exemple minimal d'un fichier .login_conf dans le répertoire personnel d'un utilisateur, fichier qui a les deux variables fixées pour le codage Latin-1: me:\ :charset=ISO-8859-1:\ :lang=de_DE.ISO8859-1: Chinois traditionnelcodage BIG-5 Voici un exemple de fichier .login_conf qui fixe les variables pour le chinois traditionnel dans le codage BIG-5. Notez les nombreuses variables supplémentaires paramétrées parce que certains logiciels ne respectent pas les variables des “locales” correctement pour le chinois, le japonais, et le coréen. #Users who do not wish to use monetary units or time formats #of Taiwan can manually change each variable me:\ lang=zh_TW.Big5:\ lc_all=zh_TW.Big:\ lc_collate=zh_TW.Big5:\ lc_ctype=zh_TW.Big5:\ lc_messages=zh_TW.Big5:\ lc_monetary=zh_TW.Big5:\ lc_numeric=zh_TW.Big5:\ lc_time=zh_TW.Big5:\ charset=big5:\ xmodifiers="@im=xcin": #Setting the XIM Input Server Voir la configuration au niveau administrateur et la page de manuel &man.login.conf.5; pour plus de détails. Configuration au niveau administrateur Vérifiez que que la classe de session d'utilisateur dans /etc/login.conf fixe la bonne langue. Soyez sûr que ces paramètres apparaissent dans /etc/login.conf: nom_langue:intitulé_comptes:\ :charset=jeu_caractères_MIME:\ :lang=nom_locale:\ :tc=default: Donc si l'on reste sur notre exemple précédent utilisant le Latin-1, cela donnera quelque chose comme: german:German Users Accounts:\ :charset=ISO-8859-1:\ :lang=de_DE.ISO8859-1:\ :tc=default: Modifier les classes de session avec &man.vipw.8; vipw Utilisez vipw pour ajouter de nouveaux utilisateurs, et créer une entrée ressemblant à celle-ci: utilisateur:mot_de_passe:1111:11:langue:0:0:Nom d'utilisateur:/home/utilisateur:/bin/sh Modifier les classes de session avec &man.adduser.8; adduser classe de session Utilisez adduser pour ajouter de nouveaux utilisateurs, et faites ce qui suit: Paramétrez defaultclass = langue dans /etc/adduser.conf. Gardez à l'esprit que vous devez dans ce cas entrer une classe par default (défaut) pour tous les utilisateurs d'autres langues. Une variante est d'entrer la langue spécifiée à chaque fois que &man.adduser.8; affiche Enter login class: default []:. Une autre alternative est d'employer ce qui suit pour chaque utilisateur de langue différente que vous désirez ajouter: &prompt.root; adduser -class langue Modifier les classes de session avec &man.pw.8; pw Si vous utilisez &man.pw.8; pour ajouter de nouveaux utilisateurs, appelez la fonction de cette manière: &prompt.root; pw useradd nom_utilisateur -L langue Méthode utilisant les fichiers d'initialisation de l'interpréteur de commandes Cette méthode n'est pas recommandée parce qu'elle demande une configuration différente pour chaque interpréteur de commandes choisi. Utilisez la méthode utilisant les classes de session utilisateur à la place. MIME “locales” Pour ajouter le nom de la “locale” et le jeu de caractère MIME, positionnez juste les deux variables d'environnement comme montré ci-dessous dans les fichiers d'initialisation de l'interpréteur de commandes /etc/profile et/ou /etc/csh.login. Nous utiliserons la langue allemande comme exemple ci-dessous: Dans /etc/profile: LANG=de_DE.ISO8859-1; export LANG MM_CHARSET=ISO-8859-1; export MM_CHARSET Ou dans /etc/csh.login: setenv LANG de_DE.ISO8859-1 setenv MM_CHARSET ISO-8859-1 Alternativement, vous pouvez ajouter les instructions précédentes à /usr/share/skel/dot.profile (similaire à ce qui fut utilisé dans /etc/profile ci-dessus), ou /usr/share/skel/dot.login (similaire à ce qui fut utilisé dans /etc/csh.login ci-dessus). Pour X11: Dans $HOME/.xinitrc: LANG=de_DE.ISO8859-1; export LANG Ou: setenv LANG de_DE.ISO8859-1 En fonction de votre interpréteur de commandes (vois ci-dessus). Configuration de la console Pour tous les ensembles de jeu de caractères utilisés par la bibliothèque C, positionnez les bonnes polices de caractères pour la console dans /etc/rc.conf pour la langue en question avec: font8x16=nom_police font8x14=nom_police font8x8=nom_police Le nom_police provient ici du répertoire /usr/share/syscons/fonts, sans le suffixe .fnt. sysinstall table de clavier table de correspondance d'affichage Vérifiez également que vous avez paramétré les bonnes tables de clavier et de correspondance d'affichage pour votre jeu de caractères C par l'intermédiaire de /stand/sysinstall. Une fois dans sysinstall, sélectionnez Configure, puis Console. Alternativement, vous pouvez ajouter ce qui suit au fichier /etc/rc.conf: scrnmap=table_correspondance_affichage keymap=nom_table_clavier keychange="numéro_touche_fonction séquence" La table_correspondance_affichage ici provient du répertoire /usr/share/syscons/scrnmaps sans le suffixe .scm. Une table de correspondance d'affichage avec une police de correspondance est généralement nécessaire pour passer de 8 à 9 bits la matrice de caractère d'une carte VGA dans une zone pseudo-graphique, i.e., déplacer les lettres en dehors de cette zone si la police d'écran utilise une colonne de 8 bits. Si vous avez le “daemon” moused activé par défaut grâce à la ligne suivante dans votre /etc/rc.conf: moused_enable="YES" alors lisez les informations sur le curseur de souris dans le paragraphe suivant. moused Par défaut le curseur du pilote &man.syscons.4; de la console occupe la zone d'adresses 0xd0-0xd3 dans le jeu de caractères. Si votre langue utilise cette zone, vous devez déplacer la zone du curseur en dehors. Pour activer cela sous les versions de FreeBSD antérieures à la version 5.0, ajoutez la ligne suivante dans votre fichier de configuration du noyau: options SC_MOUSE_CHAR=0x03 Pour les versions de FreeBSD 4.4 et ultérieures ajoutez la ligne suivante dans /etc/rc.conf: mousechar_start=3 Le nom_table_clavier provient ici du répertoire /usr/share/syscons/keymaps sans le suffixe .kbd. Si vous n'êtes pas sûr de la table de clavier à utiliser, vous pouvez employer &man.kbdmap.1; pour tester la table sans avoir à redémarrer. Le keychange est généralement utilisé pour programmer les touches de fonction pour correspondre avec le type de terminal sélectionné parce que les séquences de touches de fonction ne peuvent être définies dans la table de clavier. Soyez également sûr de configurer le type de console correct dans le fichier /etc/ttys pour toutes les entrées ttyv*. Les correspondances actuellement pré-définies sont: Jeu de caractères Type de terminal ISO-8859-1 ou ISO-8859-15 cons25l1 ISO-8859-2 cons25l2 ISO-8859-7 cons25l7 KOI8-R cons25r KOI8-U cons25u CP437 (jeu de caractères VGA par défaut) cons25 US-ASCII cons25w Pour les langues au caractères étendus ou multi-octets, utilisez le logiciel porté adéquat de votre répertoire /usr/ports/langue. Certains logiciels apparaissent comme utilisant la console alors que le système lui voit un vtty série, par conséquent vous devez réserver suffisamment de vttys pour X11 et la console pseudo-série. Voici une liste partielle des applications pour utiliser d'autres langues sous la console: Langue Emplacement Chinois traditionnel (BIG-5) chinese/big5con Japonais japanese/ja-kon2-* or japanese/Mule_Wnn Coréen korean/ko-han Configuration d'X11 Bien qu'X11 ne fasse pas partie du projet FreeBSD, nous avons inclus quelques éléments d'informations ici pour les utilisateurs de FreeBSD. Pour plus de détails, référez-vous au site Web d'&xfree86;. Dans le fichier ~/.Xresources, vous pouvez en plus adapter les paramètres I18N spécifiques des applications (e.g., polices de caractères, menus, etc...). Affichage des polices de caractères serveur de polices de caractères True Type pour X11 Installez le serveur de polices de caractères &truetype; d'X11 (x11-servers/XttXF86srv-common) et installez les polices &truetype; de la langue. Un paramétrage correct des “locales” devrait vous permettre de visualiser les menus dans la langue que vous avez choisie etc... Saisie de caractères non-anglais X11 Input Method (XIM) Le protocole “X11 Input Method” - méthode de saisie pour X11 (XIM) est un nouveau standard pour tous les clients X11. Toutes les applications X11 devraient être écrites en tant que clients XIM qui reçoivent les entrées de serveurs de saisie XIM. Il existe différents serveurs XIM disponibles pour différentes langues. Configuration de l'imprimante Certains jeux de caractères de la bibliothèque C sont généralement codés en dur dans les imprimantes. Les jeux de caractères étendus ou multi-octets demandent une configuration spéciale et nous recommandons d'utiliser apsfilter. Vous pouvez également convertir le document en format &postscript; ou PDF en utilisant des convertisseurs spécifiques à la langue. Noyau et systèmes de fichiers Le système de fichiers rapide de FreeBSD (FFS) est complètement sur 8 bits, et peut donc être utilisé avec n'importe quel jeu de caractères de la bibliothèque C (voir &man.multibyte.3;), mais il n'y a aucun jeu de caractères de stocké dans le système de fichiers; i.e., c'est du 8 bits brut et le système ne sait rien sur l'ordre du codage. Officiellement, le FFS ne supporte encore aucun jeu de caractères étendus ou multi-octets. Cependant, certains jeux de caractères étendus ou multi-octets disposent de correctifs indépendants pour FFS activant un tel support. Ce sont seulement des solutions temporaires non portables ou des “bidouilles” et nous avons décidé de ne pas les inclure dans l'arborescence des sources. Référez-vous aux sites Internet des langues respectives pour plus d'informations et pour les correctifs. DOS Unicode Le support FreeBSD du système fichiers &ms-dos; a la capacité paramétrable de faire la conversion entre jeux de caractères &ms-dos;, Unicode et les jeux de caractères choisis pour le système de fichiers FreeBSD. Voir la page de manuel &man.mount.msdos.8; pour plus de détails. Compiler des programmes I18N De nombreux logiciels ont été portés pour FreeBSD avec le support I18N. Certains d'entre eux sont identifiés avec -I18N dans le nom du logiciel porté. Ces derniers et beaucoup d'autres programmes intègrent le support I18N et ne nécessitent aucune considération spéciale. MySQL Cependant, certaines applications comme MySQL nécessitent d'avoir un fichier Makefile configuré avec le jeu de caractères spécifiques. Ceci est en général fait dans le Makefile ou effectué en passant une valeur à configure dans les sources. Localiser FreeBSD pour des langues spécifiques Andrey A. Chernov Contribution originelle de Russe (codage KOI8-R) localisation russe Pour plus d'informations sur le codage KOI8-R, consultez les Références KOI8-R (Jeu de caractères russes pour Internet). Configuration des “locales” Ajoutez les lignes suivantes dans votre fichier ~/.login_conf: me:My Account:\ :charset=KOI8-R:\ :lang=ru_RU.KOI8-R: Voir plus haut dans ce chapitre pour des exemples de configuration des “locales”. Configuration de la console Pour les versions de FreeBSD antérieures à la 5.0 ajoutez la ligne suivante à votre fichier de configuration du noyau: options SC_MOUSE_CHAR=0x03 Pour les versions de FreeBSD 4.4 et supérieures ajoutez la ligne suivante dans /etc/rc.conf: mousechar_start=3 Utilisez les paramétrages suivants dans /etc/rc.conf: keymap="ru.koi8-r" scrnmap="koi8-r2cp866" font8x16="cp866b-8x16" font8x14="cp866-8x14" font8x8="cp866-8x8" Pour chaque entrée ttyv* dans /etc/ttys, utilisez cons25r comme type de terminal. Voir plus haut dans ce chapitre pour des exemples de configuration de la console. Configuration de l'imprimante imprimantes Comme la plupart des imprimantes avec un jeu de caractères russes ont un “code page” matériel CP866, un filtre de sortie spécial pour la conversion du KOI8-R vers le CP866 est nécessaire. Un tel filtre est installé par défaut sous /usr/libexec/lpr/ru/koi2alt. Une entrée de /etc/printcap pour imprimante russe devra ressembler à: lp|Russian local line printer:\ :sh:of=/usr/libexec/lpr/ru/koi2alt:\ :lp=/dev/lpt0:sd=/var/spool/output/lpd:lf=/var/log/lpd-errs: Consultez la page de manuel &man.printcap.5; pour plus de détails. Système de fichiers &ms-dos; et noms de fichiers russes L'exemple suivant d'entrée du fichier &man.fstab.5; active le support des noms de fichiers russes sur les systèmes de fichiers &ms-dos; montés: /dev/ad0s2 /dos/c msdos rw,-Wkoi2dos,-Lru_RU.KOI8-R 0 0 L'option la “locale” utilisée, et fixe la table de conversion de caractères. Pour utiliser l'option assurez-vous de monter /usr avant la partition &ms-dos;, car en effet les tables de conversion sont situées dans le répertoire /usr/libdata/msdosfs. Pour plus d'informations, consultez la page de manuel &man.mount.msdos.8;. Configuration de X11 Effectuez tout d'abord la configuration des “locales” comme décrit plus haut dans ce chapitre. Les “locales” russe KOI8-R peuvent ne pas fonctionner avec d'anciennes versions d'&xfree86; (antérieures à 3.3). &xfree86; 4.X est maintenant la version par défaut du système X Window sous FreeBSD. Cela ne devrait pas être un problème à moins d'utiliser une vieille version de FreeBSD. Allez dans le répertoire russian/X.language et tapez la commande: &prompt.root; make install Cela installe la dernière version des polices de caractères KOI8-R. &xfree86; 3.3 dispose déjà de certaines polices KOI8-R, mais les précédentes donnent un meilleur résultat lors d'un redimensionnement. Contrôlez la section "Files" de votre fichier /etc/XF86Config. Les lignes suivantes doivent être ajoutées avant toute autre entrée FontPath: FontPath "/usr/X11R6/lib/X11/fonts/cyrillic/misc" FontPath "/usr/X11R6/lib/X11/fonts/cyrillic/75dpi" FontPath "/usr/X11R6/lib/X11/fonts/cyrillic/100dpi" Si vous utilisez un mode vidéo haute résolution, intervertissez les lignes 75 dpi et 100 dpi. Pour mettre en service un clavier russe, ajoutez ce qui suit à la section "Keyboard" de votre fichier XF86Config. Pour &xfree86; 3.X: XkbLayout "ru" XkbOptions "grp:caps_toggle" Pour &xfree86; 4.X: Option "XkbLayout" "ru" Option "XkbOptions" "grp:caps_toggle" Vérifiez également que XkbDisable est désactivé (mis en commentaire). Le passage de russe à latin se fera par l'intermédiaire de CapsLock. L'ancienne fonctionnalitée de la touche CapsLock est toujours disponible via ShiftCapsLock (en mode latin uniquement). Si vous disposez de touches “&windows;” sur votre clavier, et que vous constatez que certaines touches non-alphabétiques ne sont pas appariées correctement en mode russe, ajoutez la ligne suivante à votre fichier XF86Config: Pour &xfree86; 3.X: XkbVariant "winkeys" Pour &xfree86; 4.X: Option "XkbVariant" "winkeys" Le clavier russe XKB peut ne pas fonctionner avec d'anciennes versions d'&xfree86;, consultez la note précédente sur les “locales” pour plus d'informations. Le clavier russe XKB peut également ne pas fonctionner avec des applications non localisées. Pour être un minimum localisée, une application devrait appeler la fonction XtSetLanguageProc (NULL, NULL, NULL); assez tôt dans le programme. Voir KOI8-R pour X Window pour plus d'instructions sur la localisation des applications pour X11. Localisation du chinois traditionnel pour Taiwan localisation chinois traditionnel Le projet FreeBSD taiwanais dispose d'un guide sur l'I18N/L10N pour FreeBSD à l'adresse utilisant de nombreuses applications du répertoire chinese du catalogue des logiciels portés. Le rédacteur du guide zh-L10N-tut est Clive Lin Clive@CirX.org. Vous pouvez également utiliser CVSup pour récupérer les collections suivantes à freebsd.sinica.edu.tw: Collection Description outta-port tag=. Collection de logiciels portés de qualité bêta pour le chinois zh-L10N-tut tag=. Guide de localisation de FreeBSD en chinois traditionnel BIG-5 zh-doc tag=. Traduction de la documentation FreeBSD en chinois traditionnel BIG-5 Chuan-Hsing Shen s874070@mail.yzu.edu.tw a créé la collection FreeBSD chinoise (CFC) de logiciels en utilisant le document zh-L10N-tut taiwanais. Les logiciels pré-compilés et les fichiers de procédures sont disponibles à l'adresse . Localisation pour la langue allemande (valable également pour tous les langues respectant le standard ISO 8859-1) localisation allemand Slaven Rezic eserte@cs.tu-berlin.de a rédigé un guide sur l'utilisation des “umlauts” sur une machine FreeBSD. Le guide est écrit en allemand et est disponible sur . Localisation pour le japonais et le coréen localisation japonaise localisation coréenne Pour le japonais, référez-vous à , et pour le coréen à . Documentation FreeBSD dans d'autres langues que l'anglais Certains contributeurs à FreeBSD ont traduit des parties de la documentation FreeBSD dans d'autres langues. Les traductions sont disponibles grâce à des liens sur le site principal ou dans /usr/share/doc.