11.9. Paramétrer les informations de locale

Le /etc/profile de base ci-dessous paramètre certaines variables d'environnement nécessaires pour le paramétrage de la langue maternelle. Il résulte de leur paramétrage correct que :

Ce script paramètre aussi la variable d'environnement INPUTRC qui fait utiliser à Bash et Readline le fichier /etc/inputrc créé plus tôt.

Remplacez [ll] ci-dessous par le code à deux lettres de la langue désirée (e.g., “en”) et [CC] par le code à deux lettres pour le pays approprié (e.g., “GB”). Vous devriez remplacer [charmap] par le plan de caractère canonique pour la locale que vous avez choisie.

Vous pouvez obtenir la liste de toutes les locales supportées par Glibc en lançant la commande suivante :

locale -a

Les locales peuvent avoir un certain nombre de synonymes, e.g. “ISO-8859-1” est aussi référencé en tant que “iso8859-1” et “iso88591”. Certaines applications ne peuvent pas gérer correctement les divers synonymes, donc il est plus prudent de choisir le nom canonique pour une locale particulière. Pour déterminer le nom canonique, lancez la commande suivante, où [nom_locale] est la sortie donnée par locale -a pour votre locale préférée (“en_US.utf8” dans notre exemple).

LC_ALL=[nom_locale] locale charmap

Pour la locale “en_US.utf8”, la commande ci-dessus affichera :

UTF-8

Cela donne un paramétrage final de la locale de “en_US.UTF-8”. Il est important que la locale trouvée en utilisant la méthode ci-dessus soit testé en priorité puis ajoutée au fichiers de démarrage de Bash :

LC_ALL=[nom_locale] locale country
LC_ALL=[no_locale] locale language
LC_ALL=[nom_locale] locale charmap
LC_ALL=[nom_locale] locale int_curr_symbol
LC_ALL=[nom_locale] locale int_prefix

Les commandes ci-dessus devraient afficher le nom de la langue, l'encodage utilisé par la locale, la locale actuelle et le préfixe téléphonique à mettre devant le numéro du pays. Si une commande ci-dessus échoue avec un message similaire à celui montré ci-dessous, cela signifie que votre locale soit n'a pas été installée au chapitre 10, soit n'est pas supportée par l'installation par défaut de Glibc.

locale: Cannot set LC_* to default locale: No such file or directory

Si cela se produit, soit vous devriez installer la locale désirée en utilisant la commande localedef, soit vous devriez envisager d'utiliser une autre locale. Les instructions ci-après supposent qu'il n'y a pas un tel message d'erreur de Glibc.

Certains paquets au-delà de CLFS peuvent ne pas supporter la locale que vous avez choisie. Un exemple réside dans la bibliothèque X (partie du X Window System), qui sort le message d'erreur suivant :

Warning: locale not supported by Xlib, locale set to C

Il est parfois possible de corriger cela en supprimant la partie charmap de la spécification de la locale, tant que cela ne change pas le plan de codage associé par Glibc à la locale (vous pouvez le vérifier en lançant la commande locale charmap dans les deux locales). Par exemple, vous pourriez devoir changer "de_DE.ISO-8859-15@euro" en "de_DE@euro" pour que cette locale soit reconnue par Xlib.

D'autres paquets peuvent mal fonctionner (mais ils n'affichent pas nécessairement de messages d'erreur) si le nom de la locale ne correspond pas à ce qu'ils attendent. Dans de tels cas, en enquêtant sur la manière dont d'autres distributions Linux supportent votre locale, vous pourriez obtenir quelques renseignements utiles.

Une fois que vous avez déterminé les bons paramètres de locale, créez le fichier /etc/profile :

cat > /etc/profile << "EOF"
# Begin /etc/profile

export LANG=[ll]_[CC].[charmap]
export INPUTRC=/etc/inputrc

# End /etc/profile
EOF

Le paramétrage du plan de clavier, de la police d'écran et des variables d'environnement liées à la locale est la seule étape d'internationalisation nécessaire pour supporter les locales qui utilisent des encodages unicodes ordinaires et l'écriture de gauche à droite. L'UTF-8 a été testé sur les locales anglaises, françaises, allemandes, italiennes et espagnoles. Toutes les autres locales n'ont pas été testées. Si vous rencontrez des problèmes avec une autre locale, merci d'ouvrir un ticket sur notre système de trac.

Certaines locales ont besoin de programmes et d'un support supplémentaires. CLFS ne supportera pas ces locales dans son livre. Les ajouts de support pour ces locales sont bienvenues sur http://cblfs.cross-lfs.org/.