Gentoo Logo

Guide de localisation de Gentoo Linux

Table des matières :

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

(recommandé :)
CLOCK="UTC"
(ou bien :)
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

(Pour la locale système par défaut :)
# env-update && source /etc/profile

(Pour une locale utilisateur:
$ 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
(Ajouter la variable LINGUAS.
L'exemple suivant sélectionne le français, le danois et l'anglais)
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" ## pour les claviers internationaux
    # Option "XkbVariant" "nodeadkeys" ## pourrait être utilisé par xterm
    ...

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

(dans votre répertoire personnel)
$ 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.



Imprimer

Dernière mise à jour le 4 octobre 2007

Résumé : Ce guide devrait vous aider à adapter votre distribution Gentoo Linux à n'importe quel pays européen. Bien que le guide originel soit allemand, il m'a semblé judicieux d'utiliser à titre d'exemple un système français. Ce guide comprend aussi la documentation permettant d'utiliser le symbole euro.

Alexander Holler
Auteur

Benny Chuang
Correcteur

Steven Lucy
Traducteur, correcteur

Lars Weiler
Correcteur

Tobias Scherbaum
Correcteur

Flammie Pirinen
Correcteur

Guillaume Morin
Traducteur, correcteur

Xavier Neys
Traducteur

Clément Varaldi
Traducteur

Donate to support our development efforts.

Support OSL

Support OSL

Gentoo Centric Hosting: vr.org

VR Hosted

Tek Alchemy

Tek Alchemy

SevenL.net

SevenL.net

Global Netoptex Inc.

Global Netoptex Inc.

Bytemark

Bytemark

Linux World Expo

Linux World Expo

Copyright 2001-2008 Gentoo Foundation, Inc. Questions, Comments? Contact us.