Как установить locale ?
Способ установки средств locale
может довольно сильно различаться в операционных системах от разных производителей, особенно для старых реализаций POSIX до 1996 года и переходных реализациий.
Как описано , структурно средства POSIX locale состоят из следующих компонентов :
:
Предположим, что библиотека libc
на Вашей системе содержит все необходимые вызовы. Иначе придется поменять библиотеку (или систему). :-)
В стандарте POSIX.2 (Утилиты командной строки) определенны две утилиты - и . Если система отвечает стандарту POSIX.2:1996, на вашей машине они имеются.
Утилита служит для получения различной информации о текущих значениях категорий locale, o всех установленных в системе возможных locale и о внутренних характеристиках различных категорий locale.
Имея утилиту можно наличие необходимых "объектов локализации", а потом необходимое языковое окружение.
Ситуация чуть осложняется, если необходимые "объекты локализации" отсутствуют. К счастью, стандарт POSIX
варианта 1996 г. сделан более переносимым, не зависящим от конкретной реализации и все действия пользователя не различаюся от системы к системе и их внутренняя реализация скрыта за утилитами POSIX.2.
Если в системе не предустановлено нужные нам "объекты локализации", они могут быть добавлены в систему с помощью утилиты путем компиляции специальных (текстовых) файлов описания параметров : Файла Описания Набора Символов () и Файла Описания Локализации (locale definitions) . После этого они становится изветным системе и видимым по `locale -a`.
$ localedef -c -i ru_RU -f ISO_8859-5 ru_RU.ISO_8859-5 $ localedef -c -i ru_RU -f KOI8-R ru_RU.KOI8-R
Данные файлы в исходном (текстовом) виде можно получить из коллекции или из комплекта исходных текстов библиотеки 2.x (./localedata/* ).
Файлы Описания Локализации (locale definitions) сделаны независимыми от Charset-а, поэтому один и тот же файл ru_RU подойдет для "компиляции" locale : ru_RU.ISO-8859-5, ru_RU.KOI8-R, ru_RU.CP1251.
К сожалению, в некоторых системах (например в glibc) изменяет имя Charset, поэтому после каталог необходимо .
Еще один вариант - это просто скопировать недостающие файлы-"объекты локализации" в двоичном виде. Некоторые производители UNIX поставляют для своих систем продукт "Language Kit", который есть ни что иное, как комплект данных файлов. К сожалению, стандарт POSIX никак не определяет внутренний формат объектов локализации. Поэтому "Language Kit" одной системы (или даже версии) скорее всего не подойдет к другой системе.
Для расширения кругозора, можно ознакомится с подсистемы locale в операционной системе Linux.
После выполнения необходимых установок, работоспособность locale можно .
Содержание ""