======Локализация и i18n====== Установка и настройка файлов локализации. =====Установка===== В этой главе описывается установка файлов локализации в создаваемую систему SliTaz из аналогичной рабочей системы. Установка локализации для Х-сервера описана в главе [[x-window-system|Оконная система Х]]. Файлы, упомянутые в этой статье, взяты из пакета для компиляции glibc-2.3.6 из состава //toolchain//. ===Создаем папки для файлов=== Начнем с создания папок, куда поместим файлы и библиотеки различных локалей. Папка //LC_MESSAGES// содержит файлы переводов интерфейса программ (расширение .mo), если они есть: # 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/ru/LC_MESSAGES Скопируем файлы локализации для русского языка в ///usr/share/i18n/locales//: # cp -a /usr/share/i18n/locales/{ru_RU,ru_UA} \ rootfs/usr/share/i18n/locales Скопируем файлы транслита по маске translit_* в ///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 Файлы кодировок скопируем в ///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 Скопируем библиотеки gconv в папку ///usr/lib/gconv// корневого каталога 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 Скопируем утилиту //locale//: # cp /usr/bin/locale rootfs/usr/bin Также необходимо создать файл ///usr/lib/locale/locale-archive//, для чего используем утилиту //localedef//, находясь в chroot-окружении SliTaz: # cp /usr/bin/localedef rootfs/usr/bin # chroot rootfs /bin/ash Использование localedef для русского языка: (ЗДЕСЬ ПРИМЕРЫ ДЛЯ ФРАНЦ. ЯЗ., КОДИРОВКА, ВОЗМОЖНО, ДРУГАЯ!) /# localedef -i fr_CH -f ISO-8859-1 fr_CH /# localedef -i fr_FR -f ISO-8859-1 fr_FR /# exit Чтобы освободить больше места, можно удалить //localedef//: # rm rootfs/usr/bin/localedef =====Настройка и использование===== Чтобы использовать локализацию в работе, создайте скрипт, который будет запускаться при загрузке системы, или добавьте следующие две строки в файл //~/.profile// для каждого пользователя: export LANG=ru_RU export LC_ALL=ru_RU Вот и всё — теперь система будет на русском. Если у вас установлены retawq или nano, вы можете и их локализовать, скопировав нужные файлы .mo из исходников этих программ в ///usr/share/locale/ru/LC_MESSAGES//. ===Следующая глава=== SliTaz использует скрипт ///etc/init.d/i18n.sh// и файл конфигурации ///etc/locale.conf// для управления локализациями системы. О них мы подробно поговорим в следующей главе, которая называется [[boot-scripts|Загрузочные скрипты]]. В уже установленной системе вы можете внести изменения в файл ///etc/locale.conf// или запустить tazlocale, чтобы сменить текущую локализацию. Также язык системы можно указать в виде загрузочной опции ''lang=xx''. ---- Статью перевел [[http://forum.slitaz.org/index.php/profile/1273/Cyril|Cyril]]