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
# nano -w /etc/conf.d/clock
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 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 (ou trois) lettres
du code de votre langue (comme spécifié dans la norme ISO-639), 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.utf8 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, dans l'ordre des priorités. Toutes les variables
utilisent un nom de locale de la forme ab_CD présentée plus haut.
| Nom de la variable |
Explication |
| LC_ALL |
Définit toutes les configurations de locale d'un coup. C'est la
configuration des locales qui a priorité sur l'ensemble des autres. Elle
remplace la valeur de toutes les autres variables.
|
| 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).
|
| 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.
|
| LANG |
Définit toutes les configurations locales d'un coup. Sa valeur peut être
remplacée lors de la configuration individuelle d'une variable citée plus
haut en LC_*, et même par LC_ALL.
|
Note :
Même si la plupart des programmes fonctionnent avec seulement LC_ALL, certains
d'entre eux auront du mal si LC_ALL est définie mais pas LANG. Pour plus de
sûreté, définissez-les toutes les deux.
|
La plupart des utilisateurs ne définissent que la variable LANG, et parfois
la variable LC_CTYPE au niveau utilisateur en ajoutant des définitions dans le
fichier utilisé à l'exécution d'un shell en définissant la variable
d'environnement à la main avec la ligne suivante :
Exemple de code 3.1 : Définir la variable locale pour le français dans ~/.bashrc |
export LANG="fr_FR@euro"
|
Note :
Ajoutez @euro à votre locale si vous désirez utiliser le nouveau symbole
de la monnaie Euro. (€)
|
Il est également possible de choisir une locale générale pour tous les
utilisateurs et programmes :
Exemple de code 3.2 : Définir la locale système par défaut dans /etc/env.d/02locale |
LC_ALL="fr_FR@euro"
LANG="fr_FR@euro"
|
Une pratique courante consiste à utiliser uniquement des locales définies pour
chaque utilisateur et à laisser la locale système par défaut non définie. Dans
ce cas, la locale système prend la valeur spéciale C qui, pour des
raisons historiques, correspond à la locale anglaise.
Pour que les programmes qui supportent des messages localisés les utilisent, il
vous faudra probablement compiler ces programmes avec le paramètre USE
nls (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.3 : 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.4 : Vérification des langues de l'environnement |
$ env | grep -i LC_
|
La variable LINGUAS permet également de spécifier les langues que vous voulez
voir supportées. Les fichiers de localisation correspondants seront installés
pour certains paquets tels que kde-base/kde-i18n 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/make.conf.
Exemple de code 3.5 : Définition de la variable LINGUAS dans make.conf |
# nano -w /etc/make.conf
LINGUAS="fr da en"
|
Générer une nouvelle définition de zone
Si votre « locale » n'est pas disponible, vous pouvez créer une
nouvelle définition avec la commande localedef. Par exemple :
Exemple de code 3.6 : Générer une nouvelle « locale » |
# localedef -c -i en_US -f ISO-8859-15 en_US.ISO-8859-15
|
Une fois générée, vous pouvez utiliser votre nouvelle définition de zone comme
valeur de la variable d'environnement LANG.
fit.
Exemple de code 3.7 : Définir la variable d'environnement LANG |
# export LANG="en_US.ISO-8859-15"
|
Mettez à jour l'environnement pour prendre en compte les modifications :
Exemple de code 3.8 : Mettre à jour l'environnement |
# env-update && source /etc/profile
|
Enfin, tuez votre serveur X en pressant les touches Ctrl-Alt-Backspace,
déconnectez-vous, puis connectez-vous.
Générer des « locales » de glibc
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.9 : Exemple de /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
fr_FR.UTF-8 UTF-8
|
Ensuite, exécutez la commande locale-gen pour créer les locales que vous
venez de définir.
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 afficher 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 : Configuration du 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 : Configuration du clavier sous X |
Section "InputDevice"
Identifier "Keyboard1"
...
Option "XkbLayout" "fr"
# Option "XkbModel" "pc105"
# Option "XkbVariant" "nodeadkeys"
...
|
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 "Keyboard1"
...
Option "XkbLayout" "fr,us"
Option "XkbOptions" "grp:alt_shift_toggle,grp_led:scroll"
|
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 le paquet kde-base/kde-i18n qui reconnaît
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érification du 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 : Configuration des 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.
OpenOffice.org
Les versions actuelles de app-office/openoffice et
app-office/openoffice-bin supporte la variable
LINGUAS pour installer le support des langues choisies. Veuillez
consulter le site officiel d'OpenOffice.Org pour
connaître le statut de la langue souhaitée.
Ce document est protégé par la licence Creative
Commons : Paternité - Partage des Conditions Initiales à
l'Identique 2.5.
|