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
(En supposant que vous souhaitiez Europe/Paris,)
(commencez par copier le fichier de zone dans /etc/.)
# cp /usr/share/zoneinfo/Europe/Paris /etc/localtime
(Puis indiquez au système le fuseau choisi.)
# 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

(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 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

(Pour la locale par défaut  générale à tous les utilisateurs  :)
# 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.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
(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

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" ## pour les claviers internationaux
    # Option "XkbVariant" "nodeadkeys" ## pourrait être utilisé par xterm
    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

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



Imprimer

Dernière mise à jour le 13 janvier 2013

La version originale de cette traduction n'est plus maintenue

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

Joshua Saddler
Editor

Guillaume Morin
Traducteur, correcteur

Xavier Neys
Traducteur

Clément Varaldi
Traducteur

José Fournier
Traducteur

Donate to support our development efforts.

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