====== Locale & i18n ====== Installation and configuration of locales. ===== Locale installation ===== This chapter describes the installation of locales in SliTaz GNU/Linux from a SliTaz GNU/Linux host system. The installation of locales contained in the X server are described in the chapter [[x-window-system|X window system]]. The various files copied in this chapter come from the compiliation package glibc-2.3.6 forming part of the //toolchain//. ==== Various file directories ==== We begin by creating the directories that contain libraries and files relevant to the different locales. The directory LC_MESSAGES contains the files for the translated messages (.mo), if they exist: # 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 Copy the localization files for French, Swiss-French and Swiss-German in /usr/share/i18n/locales: # cp -a /usr/share/i18n/locales/{de_CH,fr_CH,fr_FR,i18n,iso14651_t1} \ rootfs/usr/share/i18n/locales Copy the translit_* files in /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 Copy the charmaps files in /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 Copy the gconv libraries in /usr/lib/gconv to rootfs of 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 Copy the locale utility: # cp /usr/bin/locale rootfs/usr/bin It's necessary that the file /usr/lib/locale/locale-archive is generated, for that we use the localedef utility while chrooted in SliTaz: # cp /usr/bin/localedef rootfs/usr/bin # chroot rootfs /bin/ash Use of "localedef" for French-speaking Switzerland and France: # localedef -i fr_CH -f ISO-8859-1 fr_CH # localedef -i fr_FR -f ISO-8859-1 fr_FR # exit You can delete the "localedef" binary to gain some space: # rm rootfs/usr/bin/localedef ===== Config and use of locale ===== To use a language in a session, you can create a script launched at boot, or add 2 lines to the ~/.profile specific to each user with: export LANG=fr_CH export LC_ALL=fr_CH VoilĂ , the French language should now function If you installed retawq or nano, you can check the performance of locales by copying the .mo files in the sources of Retawq or Nano to /usr/share/locale/fr/LC_MESSAGES. ==== Following chapter ==== SliTaz uses the /etc/init.d/i18n.sh script and the /etc/locale.conf configuration file to manage the system locale. This is detailed in the next chapter [[boot-scripts|Boot scripts]]. On a working system, just modify /etc/locale.conf with a text editor or launch 'tazlocale' to change the default system locale Or to specify the language as a boot option: "lang=xx".