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 :
La sortie des programmes est traduite dans la langue maternelle
Les caractères sont correctement rangés en lettres, chiffres et autres classes. C'est nécessaire pour que bash accepte correctement les caractères non ASCII sur les lignes de commande dans des locales non anglaises
L'ordre alphabétique est correct pour le pays
La taille du papier par défaut est correcte
Le format des monnaies, date et heure est correct
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/.