Локализация означает приспособление программы или операционной системы к
кодировке и стилям печати времени, даты, денежных единиц принятых в данной
стране. Стандарт описан, например, в документах POSIX 1.c. Здесь мы
отметим важные особенности.
Многие системные программы (быть может большинство) в Linux для
определения вида кодировки и языка сообщений используют установленные
переменные окружения.
Переменная LANGUAGE используется в основном программами из проекта
GNU.
LC_CTYPE
Переменная LC_CTYPE, если не установлена LC_ALL, определяет
кодировку символов. В отсутствии LC_CTYPE и LC_ALL, для
определения типа
кодировки используется переменная LANG.
LC_COLLATE
Переменная LC_COLLATE используется в отсутствии LC_ALL
используется для определения алгоритма сортировки. В отсутствии LC_COLLATE для этого используется переменная LANG.
LC_MONETARY
Переменная LC_MONETARY используется, если отсутствует LC_ALL, для определения вида денежной единицы. Если LC_ALL и═LC_MONETARY
не установлены, то используется переменная LANG.
LC_NUMERIC
Переменная окружения LC_NUMERIC используется, если не установлена
переменная LC_ALL, для определения национального формата
печати чисел (например, с плавающей точкой или запятой).
Если не установлены LC_ALL и LC_NUMERIC, то используется
переменная окружения LANG.
LC_TIME
Переменная окружения LC_TIME используется, если не установлена LC_ALL для определения формата даты и времени. Если не установлены
переменные LC_ALL и LC_TIME, то используется переменная LANG.
LANG
Переменная окружения LANG используется для всего, что не установлено
ранее переменными вида LC_*.
Чтобы увидеть какие переменные из вышеописанных и как установлены можно
использовать программу locale из комплекта утилит языка perl
Какие имеются файлы для локализации на вашей машине, можно посмотреть в
каталоге /usr/share/locale/, а также посмотреть результат locale -a.
Общий вид строк, которые присваиваются переменным окружения, должен быть
примерно таким:
язык_территория_кодировка
Например, ru_RU_koi8r. Однако, как видно выше, на моей установке
имются
другие файлы для кодировки koi8r, которые приведены в выводе
программы locale.
Полезные сведения о локализации можно почерпнуть в
man perllocale.