Guide de localisation de Gentoo Linux
1.
Fuseau horaire
Dans le but de conserver votre système à l'heure, vous devez indiquer au
système sur quel fuseau horaire il se trouve. Cherchez ce dernier dans le
répertoire /usr/share/zoneinfo/, puis configurez le fichier
/etc/conf.d/clock. Évitez les zones
/usr/share/zoneinfo/Etc/GMT*, car leur nom porte à confusion. En
effet, GMT-8 siginifie en fait GMT+8.
Exemple de code 1.1 : sélectionner le fuseau horaire |
# ls /usr/share/zoneinfo
# cp /usr/share/zoneinfo/Europe/Paris /etc/localtime
# nano -w /etc/timezone
TIMEZONE="Europe/Paris"
# date
Wed Mar 8 00:46:05 CET 2006
|
Note :
assurez-vous que l'indicateur de zone de temps (dans notre cas
« CET ») correspondent à votre zone.
|
Note :
vous pouvez définir TZ à une autre valeur que localtime (correspondant à
un fichier existant dans /usr/share/zoneinfo) dans le fichier de
démarrage de votre shell (.bash_profile pour bash) pour paramétrer
le fuseau horaire au niveau utilisateur. Dans notre cas ce sera
TZ="Europe/Paris".
|
2.
L'horloge matérielle
Dans la plupart des installations de Gentoo Linux, l'horloge matérielle est
réglée sur UTC (ou GMT, « Greenwich Mean Time ») et ensuite votre
fuseau horaire est pris en compte pour déterminer l'heure locale. Si, pour
quelque raison que ce soit, vous avez besoin que l'horloge matérielle ne soit
pas réglée sur UTC, vous devez éditer /etc/conf.d/clock ( ou si vous utilisez Gentoo BSD : /etc/conf.d/adjkerntz) et
remplacer la valeur UTC de la variable CLOCK par la valeur
local.
Exemple de code 2.1 : local contre GMT |
CLOCK="UTC"
CLOCK="local"
|
3.
Variables locales
Qu'est-ce que les locales
Les locales sont un ensemble d'informations que la plupart des programmes
utilisent pour choisir une configuration propre à un pays et à une langue. Ces
éléments et leur contenu font partie des bibliothèques système, et peuvent se
trouver sur la plupart des systèmes dans le répertoire
/usr/share/locale. Un nom de locale est généralement composé
ainsi : ab_CD, avec ab qui sont les deux lettres
du code de votre langue (comme spécifié dans la norme ISO-3166), et CD
sont les deux lettres du code de votre pays (comme spécifié dans la norme
ISO-3166). Un nom de variante est souvent ajouté à la suite du nom de la
locale, par exemple en_GB.UTF-8 ou de_DE@euro. Vous pourrez en
apprendre plus en lisant l'article publié sur Wikipedia et les références
qu'il contient.
Variables d'environnement pour les locales
La configuration des locales est gardée dans des variables d'environnement. On
les définit en général dans le fichier /etc/env.d/02locale (pour
une configuration propre à l'ensemble du système) et ~/.bashrc
(pour une configuration propre à un utilisateur). Les variables permettant de
contrôler différents aspects dans la configuration des locales sont données
dans le tableau ci-dessous. Elles utilisent toutes un nom de locale de la forme
ab_CD présentée plus haut.
| Nom de la variable |
Explication |
| LANG |
Définit toutes les configurations de locale d'un coup, tout en permettant
une personnalisation individuelle par l'intermédiaire des paramètres de la
variable LC_* ci-dessous.
|
| LC_COLLATE |
Définit l'ordre alphabétique des chaînes de caractères. Cette variable
affecte par exemple la sortie d'une liste ordonnée de fichiers dans un
répertoire.
|
| LC_CTYPE |
Définit les propriétés de manipulation des caractères pour un système.
Cette variable détermine quels caractères font partie de l'alphabet, des
caractères numériques, etc. Elle détermine également le set de caractère
utilisé, si applicable.
|
| LC_MESSAGES |
Cette variable est utilisée pour la localisation des programmes dans les
applications qui utilisent des messages basés sur un schéma de localisation
(comme la majorité des programmes GNU par exemple ; reportez-vous aux chapitres suivants pour une information plus détaillée et commment faire que fonctionner correctement les programmes qui ne fonctionneraient pas bien).
|
| LC_MONETARY |
Définit les unités monétaires et le format des valeurs numériques de type
financières.
|
| LC_NUMERIC |
Définit le format de valeurs numériques qui ne sont pas monétaires. Cela
affecte des éléments comme le séparateur pour les décimales et pour les
milliers (exemple : 100,000.90 en anglais).
|
| LC_TIME |
Définit le format des dates et heures.
|
| LC_PAPER |
Définit la taille du papier par défaut.
|
| LC_ALL |
Une variable spéciale qui écrase toutes les autres préférences.
|
Note :
certains programmes sont écrits de telle façon qu'ils attendent à un ordre alphabétique provenant de l'anglais traditionnel, alors que certaines
locales, notamment les variables estoniennes, utilisent un autre ordre.
Par conséquent, il est recommandé de spécifier explicitement la variable locale
LC_COLLATE à C lorsqu'il s'agit de paramètres touchant le système complet.
|
Attention :
l'utilisation de LC_ALL est vivement déconseillée car elle ne peut pas être
redéfinie plus tard. Ne l'utilisez que lors de tests et ne la définissez
jamais dans un fichier de démarrage.
|
La plupart des utilisateurs ne définissent que la variable LANG, de façon
globale. Voici par exemple le cas d'une locale française en unicode: :
Exemple de code 3.1 : définir la variable locale par défaut du système dans /etc/env.d/02locale |
LANG="fr_FR.UTF-8"
LC_COLLATE="C"
|
Note :
utilisez fr_FR@euro comme locale si vous désirez utiliser le nouveau
symbole de la monnaie Euro. (€)
|
Une liste des locales qui peuvent être utilisées est fournie dans
/usr/portage/profiles/desc/linguas.desc:
Exemple de code 3.2 : obtenir les locales utilisables pour la langue française |
$ grep -i french /usr/portage/profiles/desc/linguas.desc
fr - French locale
fr_CA - French locale for Canada
fr_FR - French locale for France
|
Il est également possible, et surtout assez commun dans un cadre plus
traditionnel d'UNIX, de laisser les préférences globales inchangées, i.e. dans
la locale « C ». Les utilisateurs peuvent toujours spécifier
leurs locales préférées dans le fichier de configuration de leur propre
shell :
Exemple de code 3.3 : définir la locale de l'utilisateur dans le fichier ~/.bashrc |
export LANG="fr_FR.UTF-8"
export LC_COLLATE="C"
|
Une autre façon de configurer le système est de le laisser dans la locale C par
défaut, mais d'activer l'encodage des caractères en UTF-8 en même temps. Cette
option s'active en utilisation les paramètres suivants dans le fichier
/etc/env.d/02locale :
Exemple de code 3.4 : utiliser la locale traditionnelle C tout en spécifiant l'UTF-8 |
LC_CTYPE=fr_FR.UTF-8
|
En utilisant les extraits ci-dessus, les utilisateurs seront en mesure de voir
les noms de fichiers correctement, sans être forcés d'utiliser la langue du
système.
Les programmes qui prennent en charge les messages localisés devront être compilés avec l'option
nls de la variable USE (Native Language Support, ou support natif de la langue). La plupart
des programmes utilisant le nls utilisent également les bibliothèques gettext
pour extraire et utiliser les messages de localisation. Évidemment, Portage les
installera automatiquement si elles sont nécessaires.
Lorsque vous avez défini la bonne langue, mettez à jour vos variables
d'environnement afin que votre système soit au courant des changements :
Exemple de code 3.5 : mettre à jour l'environnement |
# env-update && source /etc/profile
$ source ~/.bashrc
|
Ensuite, tuez votre serveur X en pressant les touches Ctrl-Alt-Backspace,
déconnectez-vous, puis connectez-vous.
Vérifiez maintenant que les modifications ont fait effet :
Exemple de code 3.6 : vérifier les langues de l'environnement |
$ locale
|
La variable additionnelle LINGUAS influent sur les
fichiers de localisation qui seront installés avec les programmes basés sur gettext, et sur les locales utilisées par certains paquets tels que kde-base/kde-l10n et
app-office/openoffice. La variable LINGUAS doit contenir la liste des
codes des langues à supporter, séparés par des espaces. Il est conseillé de la
définir dans le fichier /etc/portage/make.conf.
Exemple de code 3.7 : définir la variable LINGUAS dans make.conf |
# nano -w /etc/portage/make.conf
LINGUAS="fr da en"
|
Générer une nouvelle définition de zone
Vous n'utiliserez probablement qu'une ou deux « locales » sur votre
système. Vous pouvez définir les zones qui vous intéressent dans le fichier
/etc/locale.gen.
Exemple de code 3.8 : ajouter des locales à /etc/locale.gen |
en_US ISO-8859-1
en_US.UTF-8 UTF-8
fr_FR ISO-8859-1
fr_FR@euro ISO-8859-15
|
Ensuite, exécutez la commande locale-gen pour créer les locales que vous
venez de définir dans /etc/locale.gen.
Note :
locale-gen est disponible à partir la glibc glibc-2.3.6-r4. Si
vous utilisez une ancienne version, il est recommandé de faire une mise à jour.
|
Vous pouvez utiliser la commande locale -a pour vérifier la liste des
locales disponibles sur votre système.
4.
Configuration du clavier pour la console
La disposition du clavier utilisée par la console est définie dans
/etc/conf.d/keymaps par la variable KEYMAP. Les valeurs
valides peuvent être trouvées dans
/usr/share/keymaps/{arch}/. i386 a plusieurs
subdivisions dans les dispositions (qwerty/, azerty/,
etc.) Quelques langages ont de multiples options, donc vous pouvez expérimenter
afin de décider lequel vous correspond le mieux.
Exemple de code 4.1 : configurer le clavier pour la console |
KEYMAP="fr"
KEYMAP="fr-latin0"
KEYMAP="fr-latin1"
|
5.
Disposition du clavier pour le serveur X
La disposition du clavier à utiliser avec le serveur X est spécifiée dans
/etc/X11/xorg.conf par l'option XkbLayout.
Exemple de code 5.1 : configurer le clavier sous X |
Section "InputDevice"
Identifier "Keyboard1"
Driver "evdev"
Option "XkbLayout" "fr"
# Option "XkbModel" "pc105"
# Option "XkbVariant" "nodeadkeys"
MatchIsKeyboard "on"
|
Si vous possédez un clavier international, vous devriez spécifier
XkbModel à pc102 ou pc105, car cela permettra
l'utilisation des touches supplémentaires spécifiques à votre clavier.
Les touches mortes sont des touches qui attendent que vous pressiez une autre
touche pour produire un nouveau caractère tel que â, ê, ï, etc. En mettant
XkbVariant à nodeadkeys, vous pourrez taper ces caractères
spéciaux dans un terminal X.
Si vous comptez basculer d'une configuration de clavier à une autre (par
exemple française et anglaise), vous n'avez qu'à ajouter quelques lignes à
xorg.conf pour spécifier les dispositions de clavier et le
raccourci à utiliser pour basculer de l'une à l'autre.
Exemple de code 5.2 : basculer entre deux disposition de clavier |
Section "InputDevice"
Identifier "keyboard-all"
Driver "evdev"
Option "XkbLayout" "fr,ru"
Option "XkbOptions" "grp:alt_shift_toggle,grp_led:scroll"
MatchIsKeyboard "on"
|
Ici, XkbOptions permet de basculer la disposition de clavier simplement
en tapant Alt-Shift. Cela allumera ou éteindra également la LED
« Arrêt défil » grâce à l'option grp_led:scroll, une petite
astuce pour savoir rapidement dans quelle configuration vous vous trouvez.
6.
KDE
Pour KDE, vous devez installer les paquets kde-base/kde-l10n et
app-office/calligra-l10n qui reconnaissent la variable d'environnement
LINGUAS définie ci-dessus :
7.
Le symbole Euro pour la console
Pour afficher le symbole Euro dans la console, vous devez associer
consolefont dans /etc/conf.d/consolefont à un fichier
correspondant dans /usr/share/consolefonts/ (en omettant le
.psfu.gz). lat9w-16 inclut le symbole Euro.
Exemple de code 7.1 : configurer la police de la console |
consolefont="lat9w-16"
|
Vous devez vérifier que le service consolefont soit présent dans le
niveau d'exécution boot :
Exemple de code 7.2 : vérifier le niveau d'exécution du service consolefont |
# rc-update -v show | grep -i consolefont
|
Si aucun niveau d'exécution n'est affiché pour consolefont, alors
ajoutez-le vous-même :
Exemple de code 7.3 : ajouter consolefont au démarrage |
# rc-update add consolefont boot
|
8.
Le symbole Euro sous X
Pour la plupart des applications
Obtenir l'affichage correct du symbole Euro sous X est un petit peu plus
compliqué. La première chose à faire est de changer les définitions
fixed et variable dans
/usr/share/fonts/misc/fonts.alias afin qu'elles se terminent par
iso8859-15 et non iso8859-1.
Exemple de code 8.1 : configurer les polices par défaut sous X |
fixed -misc-fixed-medium-r-semicondensed--13-120-75-75-c-60-iso8859-15
variable -*-helvetica-bold-r-normal-*-*-120-*-*-*-*-iso8859-15
|
Quelques applications utilisent leurs propres polices et vous devrez les
configurer séparément pour utiliser ces polices avec le symbole Euro. Vous
pouvez le faire au niveau utilisateur dans .Xdefaults (vous pouvez
copier ce fichier dans /etc/skel/ afin qu'il soit utilisé par les
nouveaux utilisateurs), ou bien au niveau global pour toutes les applications
avec un fichier de ressources dans /usr/share/X11/app-defaults/
(comme xterm). Dans ces fichiers, vous pouvez généralement changer une ligne
existante, au lieu d'en ajouter une. Pour changer la police de xterm, par
exemple :
Exemple de code 8.2 : configurer la police de xterm |
$ echo 'XTerm*font: fixed' >> .Xresources
$ xrdb -merge .Xresources
|
Le symbole Euro dans (X)Emacs
Pour utiliser le symbole Euro dans (X)Emacs, ajoutez les lignes suivantes à
.Xdefaults :
Exemple de code 8.3 : configurer la police pour emacs |
Emacs.default.attributeFont: -*-courier-medium-r-*-*-*-120-*-*-*-*-iso8859-15
|
Pour XEmacs (et non pas Emacs texte), vous devez en faire un peu plus. Dans
/home/user/.xemacs/init.el, ajoutez :
Exemple de code 8.4 : Configurer la police pour xemacs |
(define-key global-map '(EuroSign) '[€])
|
Note :
Le symbole entre les [] est celui de l'Euro.
|
9.
LibreOffice
Les versions actuelles de app-office/libreoffice et
app-office/libreoffice-bin tiennent compte de la variable
LINGUAS pour installer les paquets prenant en charge les langues choisies. Veuillez
consulter le site officiel d' LibreOffice translation web
site pour
connaître l'état de la localisation de l'interface utilisateur, de la césure, de la correction orthographique et d'autre aspects de la localisation pour votre langue.
Ce document est protégé par la licence Creative
Commons : Paternité - Partage des Conditions Initiales à
l'Identique 2.5.
|