[<<Previous Entry]
[^^Up^^]
[Next Entry>>]
[Menu]
[About The Guide]
Категории и локали
Аргумент category может быть одним из значений, представленных на
следующей странице. Эти символьные константы определены в <locale.h>.
LC_TIME влияет на поведение ascftime(3C), cftime(3C),
getdate(3C) и strftime(3C).
LC_NUMERIC изменяет разделяющий символ для десятичного
представления в операциях ввода/вывода (смотри описание
printf(3C) и функции преобразования строк strtod(3C)).
Базу данных можно опросить с использованием
localeconv(3C).
LC_MONETARY влияет на поведение localeconv(3C).
LC_COLLATE влияет на поведение strcoll(3C) и strxfrm(3C).
LC_CTYPE влияет на поведение функций преобразования символов
(см. страницу руководства ctype(3C)), таких как
isdigit(3C), и функций на странице conv(3C), таких как
tolower(3C). LC_CTYPE также влияет на многобайтовые
функции, такие как mbtowc(3C) и wctomb(3C).
LC_MESSAGES влияет на поведение gettxt(3C).
LC_ALL влияет на все категории программной локали.
Каждая категория ссылается на базу данных, соответствующую данной
локали. Базы данных определены в /usr/lib/locale/locale/category
(подставьте подходящие имена для "locale" и "category").
Первый пример на следующей странице устанавливает категорию LC_TIME
локали Франции. Эта категория расположена в
/usr/lib/locale/FR/LC_TIME. Второй пример устанавливает LC_NUMERIC
категорию локали C (стандартная локаль Соединенных Штатов). Третий
пример устанавливает все категории локали, описанной переменной LANG.
Например,
$ LANG=IT prog
выполнит prog с использованием итальянских локалей из каталога
/usr/lib/locale/IT. Несколько стандартных команд ОС UNIX позволяют
устанавливать локаль на основе значения этой переменной. Например:
$ LANG=DE
$ export LANG
$ date
Donnerstag den 10. August 1989 14.47 Uhr
Большинство баз данных создаются при помощи команд, указанных в
Справочном руководстве администратора. Следующий список указывает для
каждой категории команду, которой она создается:
категория команда из 1M категория команда из 1M
LC_NUMERIC chrtbl(1M) LC_CTYPE chrtbl(1M)
LC_COLLATE colltbl(1M) LC_TIME нет команды
LC_MESSAGES mkmsgs(1M) LC_MONETARY montbl(1M)
КАТЕГОРИИ И ЛОКАЛИ
/usr/lib/locale/locale/category
категория влияет на
LC_TIME strftime(3C), getdate(3G)
LC_NUMERIC заместитель десятичной точки для
форматированного ввода/вывода: printf(3C);
преобразование строк: strtod(3C)
LC_MONETARY localeconv(3C)
LC_COLLATE strcoll(3C), strxfrm(3C)
LC_CTYPE преобразование символов: ctype(3C), conv(3C)
многобайтовые функции: mbtowc(3C), wctomb(3C)
LC_MESSAGES gettxt(3C)
LC_ALL все категории
Примеры: Используют:
setlocale(LC_TIME, "FR") /usr/lib/locale/FR/LC_TIME
setlocale(LC_NUMERIC,"C") /usr/lib/locale/C/LC_NUMERIC
setlocale(LC_ALL, "" ) локаль, определенная в LANG