Locale & i18n
Installation et configuration de la locale pour le français.
Installation des locales
Ce chapitre décrit l'installation des locales sur SliTaz GNU/Linux, depuis un système hôte SliTaz GNU/Linux. L'installation des locales pour le serveur X est décrite dans le chapitre X window system. Les divers fichiers copiés dans ce chapitre proviennent de la compilation du paquet glibc-2.3.6 faisant partie de la toolchain.
Répertoires des divers fichiers
Nous commençons par créer les répertoires qui contiendront les bibliothèques et les fichiers utiles aux différentes locales. Le répertoire LC_MESSAGES contient les fichiers .mo pour les messages traduits s'ils existent:
# mkdir -p rootfs/usr/share/{i18n,locale} # mkdir -p rootfs/usr/lib/{locale,gconv} # mkdir -p rootfs/usr/share/i18n/{charmaps,locales} # mkdir -p rootfs/usr/share/locale/fr/LC_MESSAGES
Copie des fichiers de localisation pour le Français, le Suisse romand, et le Suisse allemand, dans /usr/share/i18n/locales:
# cp -a /usr/share/i18n/locales/{de_CH,fr_CH,fr_FR,i18n,iso14651_t1} \\ rootfs/usr/share/i18n/locales
Copie des fichier translit_* dans /usr/share/i18n/locales:
# cp -a /usr/share/i18n/locales/{translit_circle,translit_cjk_compat} \\ rootfs/usr/share/i18n/locales # cp -a /usr/share/i18n/locales/{translit_combining,translit_compat} \\ rootfs/usr/share/i18n/locales # cp -a /usr/share/i18n/locales/{translit_font,translit_fraction} \\ rootfs/usr/share/i18n/locales # cp -a /usr/share/i18n/locales/{translit_narrow,translit_neutral} \\ rootfs/usr/share/i18n/locales # cp -a /usr/share/i18n/locales/{translit_small,translit_wide} \\ rootfs/usr/share/i18n/locales
Copie des fichier charmaps dans /usr/share/i18n/charmaps
# cp -a /usr/share/i18n/charmaps/ANSI_X3.* rootfs/usr/share/i18n/charmaps # cp -a /usr/share/i18n/charmaps/{ISO-8859-1.gz,ISO-8859-2.gz,ISO-8859-15.gz} \\ rootfs/usr/share/i18n/charmaps
Copie des bibliothèques gconv dans /usr/lib/gconv du rootfs de SliTaz:
# cp /usr/lib/gconv/{ANSI_X3.110.so,gconv-modules,UNICODE.so} \\ rootfs/usr/lib/gconv # cp /usr/lib/gconv/{ISO8859-1.so,ISO8859-2.so,ISO8859-15.so} \\ rootfs/usr/lib/gconv # strip -v rootfs/usr/lib/gconv/*.so
Copie de l'utilitaire locale:
# cp /usr/bin/locale rootfs/usr/bin
Il faut encore que le fichier /usr/lib/locale/locale-archive soit généré, pour cela nous utilisons l'utilitaire localedef, en se chrootant dans SliTaz:
# cp /usr/bin/localedef rootfs/usr/bin # chroot rootfs /bin/ash
Utilisation de “localedef” pour la Suisse romand et la France:
/# localedef -i fr_CH -f ISO-8859-1 fr_CH /# localedef -i fr_FR -f ISO-8859-1 fr_FR /# exit
Vous pouvez supprimer le binaire “localedef” pour gagner un peu de place.
# rm rootfs/usr/bin/localedef
Config et utilisation d'une locale
Pour utiliser la langue lors d'une session, vous pouvez créer un script lancé au boot, ou ajouter 2 lignes au fichier ~/.profile, propre à chaque utilisateurs, avec pour contenu:
export LANG=fr_CH export LC_ALL=fr_CH
Voilà la langue Française devrait fonctionner, si vous installez retawq ou nano vous pouvez vérifier le bon fonctionnement des locales en copiant le fichier .mo des sources de Retawq, ou Nano, dans: /usr/share/locale/fr/LC_MESSAGES.
Suite
SliTaz utilise le script /etc/init.d/i18n.sh et le fichier de configuration /etc/locale.conf pour gérer la locale du système. Ce script est détaillé dans le chapitre scripts de démarrage et arrêt. Sur un système SliTaz, il suffit donc de modifier le fichier /etc/locale.conf avec un éditeur de texte, ou de lancer 'tazlocale' pour changer la locale par défaut du système, ou de spécifier la langue au boot via l'option “lang=xx”.