> Linux Reviews > man >

locale


  1. locale.5.man
  2. locale.7.man


1. locale.5.man

Manpage of LOCALE

LOCALE

Section: Руководство пользователя Linux (5)
Updated: 2008-06-17
Index Return to Main Contents
 

ИМЯ

locale - описание файла определения локали  

ОПИСАНИЕ

Файлы определения локалей содержат в себе всю информацию, которая нужна команде localedef(1) для преобразования её в двоичную базу данных локали.

Файлы определения состоят из разделов, каждый из которых подробно описывает некоторые категории локали.  

СИНТАКСИС

Файлы определения локали начинаются с заголовка, который может состоять из следующих ключевых слов:
<escape_char>
сопровождается символом, который будет использоваться как символ экранирования во всей оставшейся части файла для обозначения символов, которые должны восприниматься особым образом. По умолчанию это символ обратной косой черты (\).
<comment_char>
сопровождается символом, который будет использоваться как символ комментария во всей оставшейся части файла. По умолчанию это символ решётки (#).

Каждая категории локали описывается в отдельной части. Каждая часть может быть скопирована из другой существующей локали или или создана заново. Если категория должна быть скопирована, то в определении должно находиться единственное ключевое слово copy, сопровождаемое названием локали, из которой скопирована категория.  

LC_CTYPE

Определение для категории LC_CTYPE начинается со строки LC_CTYPE в первой колонке.

Существуют следующие разрешённые ключевые слова:

upper
сопровождается списком символов в верхнем регистре. Символы от A до Z включаются в класс автоматически. Символы, указанные в cntrl, digit, punct или space, запрещёны.
lower
сопровождается списком символов в нижнем регистре. Символы от a до z включаются в класс автоматически. Символы, указанные в cntrl, digit, punct или space, запрещёны.
alpha
сопровождается списком символов. Символы, указанные в upper или lower, включаются в класс автоматически. Символы, указанные в cntrl, digit, punct или space, запрещёны.
digit
сопровождается списком символов, которые считаются цифрами. Разрешается использовать в списке только цифры от 0 до 9. Они включаются в этот класс по умолчанию.
space
сопровождается списком символов, которые считаются пробельными символами. Символы, указанные в upper, lower, alpha, digit, graph или xdigit, запрещёны. Символы <space>, <form-feed>, <newline>, <carriage-return>, <tab> и <vertical-tab> добавляются автоматически.
cntrl
сопровождается списком управляющих символов. Символы, указанные в upper, lower, alpha, digit, punct, graph, print или xdigit, запрещёны.
punct
сопровождается списком символов пунктуации. Символы, указанные в upper, lower, alpha, digit, cntrl, xdigit или <space>, запрещёны.
graph
сопровождается списком печатных (видимых) символов, не считая символа <space>. Автоматически включаются символы из upper, lower, alpha, digit, xdigit и punct. Символы, указанные в cntrl, запрещёны.
print
сопровождается списком печатных (видимых) символов, включая символ <space>. Автоматически включаются символы из upper, lower, alpha, digit, xdigit, punct и <space>. Символы, указанные в cntrl, запрещёны.
xdigit
сопровождается списком символов, описывающих шестнадцатеричные цифры. Далее должны быть указаны десятичные цифры, сопровождаемые одним или несколькими наборами из шести символов в возрастающем порядке. По умолчанию включены: от 0 до 9, от a до f, от A до F.
blank
сопровождается списком символов, классифицированных как blank. Автоматически включены символы <space> и <tab>.
toupper
сопровождается списком преобразований символов нижнего регистра в символы верхнего. Каждое преобразование выполняется для пары символов в нижнем и верхнем регистре, разделенных знаком , и заключённых в круглые скобки. Элементы списка разделяются точкой с запятой.
tolower
сопровождается списком преобразований символов верхнего регистра в символы нижнего. Если ключевое слово tolower не задано, то по умолчанию используется список, противоположный списку toupper.

Определение для LC_CTYPE заканчивается строкой END LC_CYTPE.  

LC_COLLATE

Категория LC_COLLATE определяет правила сортировки символов. Из-за ограничений в libc реализованы не все параметры POSIX.

Определение начинается со строки LC_COLLATE в первой колонке.

Существуют следующие разрешённые ключевые слова:

collating-element
collating-symbol

Определение упорядочивания начинается со строки:

order_start

сопровождаемой списком ключевых слов forward, backward или position. Описание упорядочивания состоит из строк, описывающих метод упорядочивания. Описание заканчивается командой

order_end.

Подробности смотрите в исходном коде в /usr/lib/nls/src, особенно примеры POSIX, Example и Example2.

Определение для категории LC_COLLATE заканчивается строкой END LC_COLLATE.  

LC_MONETARY

Определение начинается со строки LC_MONETARY в первой колонке.

Существуют следующие разрешённые ключевые слова:

int_curr_symbol
сопровождаются символом международной валюты. Это должна быть строка из четырех символов, в которой указан код символа международной валюты согласно стандарту ISO 4217 (три символа) с последующим разделителем.
currency_symbol
сопровождается символом локальной валюты.
mon_decimal_point
сопровождается строкой, которая будет использована в качестве разделителя (десятичной точки) при выводе денежных сумм.
mon_thousands_sep
сопровождается строкой, которая будет использована в качестве разделителя тысяч при выводе денежных сумм.
mon_grouping
сопровождается строкой, которая описывает форматирование числовых количеств.
positive_sign
сопровождается строкой, которая используется для указания положительного знака денежных сумм.
negative_sign
сопровождается строкой, которая используется для указания отрицательного знака денежных сумм.
int_frac_digits
сопровождается количеством дробных цифр, которые должны использоваться при форматировании с int_curr_symbol.
frac_digits
сопровождается количеством дробных цифр, которые должны использоваться при форматировании с currency_symbol.
p_cs_precedes
сопровождается целым числом, установленное значение которого равно 1, если currency_symbol или int_curr_symbol должен предшествовать форматированному денежному количеству или равно 0, если символ следует за его величиной.
p_sep_by_space
сопровождается целым числом.
0
означает, что между символом и величиной не должны пропечатываться пробелы.
1
означает, что между символом и величиной должен печататься пробел.
2
означает, что пробел должен печататься между символом и знаковой строкой, если они смежны.
n_cs_precedes
0
- символ следует за величиной.
1
- символ предшествует величине.
n_sep_by_space
Устанавливаемое целое число равно 0, если никакие пробелы не отделяют currency_symbol или int_curr_symbol от величины (в случае с отрицательным денежным значением); оно равно 1, если пробел отделяет символ от величины; и равно 2, если пробел отделяет символ от знаковой строки (в случае их смежности).
p_sign_posn
0
Круглые скобки включают в себя количество и currency_symbol или int_curr_symbol.
1
Знаковая строка предшествует количеству и currency_symbol или int_curr_symbol.
2
Знаковая строка следует за количеством и currency_symbol или int_curr_symbol.
3
Знаковая строка предшествует количеству и currency_symbol или int_curr_symbol.
4
Знаковая строка следует за currency_symbol или int_curr_symbol.
n_sign_posn
0
Круглые скобки включают в себя количество и currency_symbol или int_curr_symbol.
1
Знаковая строка предшествует количеству и currency_symbol или int_curr_symbol.
2
Знаковая строка следует за количеством и currency_symbol или int_curr_symbol.
3
Знаковая строка предшествует количеству и currency_symbol или int_curr_symbol.
4
Знаковая строка следует за currency_symbol или int_curr_symbol.

Определение для категории LC_MONETARY заканчивается строкой END LC_MONETARY.  

LC_NUMERIC

Определение начинается с строки LC_NUMERIC в первой колонке.

Разрешены следующие ключевые слова:

decimal_point
сопровождается строкой, которая будет использована в качестве разделителя (десятичной точки) при форматировании числовых количеств.
thousands_sep
сопровождается строкой, которая будет использована в качестве разделителя тысяч при форматировании числовых количеств.
grouping
сопровождается строкой, которая описывает форматирование числовых количеств.

Определение для категории LC_NUMERIC заканчивается строкой END LC_NUMERIC.  

LC_TIME

Определение начинается со строки LC_TIME в первой колонке.

Разрешены следующие ключевые слова:

abday
сопровождается списком кратких названий дней недели. Список начинается с первого дня недели, указанного в week (по умолчанию Sunday, воскресенье).
day
сопровождается списком названий дней недели. Список начинается с первого дня недели, указанного в week (по умолчанию Sunday, воскресенье).
abmon
сопровождается списком кратких названий месяцев.
mon
сопровождается списком названий месяцев.
am_pm
Соответственное представление строк am и pm.
d_t_fmt
Дата и формат времени соответственно.
d_fmt
Формат даты.
t_fmt
Формат времени.
t_fmt_ampm
12-часовой формат времени.
week
сопровождается списком из трёх значений: количество дней в неделе (по умолчанию 7), день начала недели (по умолчанию воскресенье) и минимальная длина первой недели в году (по умолчанию 4). Независимо от начала недели, 19971130 считается воскресеньем и 19971201 считается понедельником. Поэтому у стран, для которых используется 19971130, именем первого дня недели будет воскресенье в списке day, а у стран, использующих 19971201, будет перевод названия понедельника.
first_weekday (начиная с glibc 2.2)
Номер первого дня из списка дней, который будет показан в приложениях-календарях. Значение по умолчанию 1 соответствует или воскресенью или понедельнику, в зависимости от значения второго элемента в списке week.
first_workday (начиная с glibc 2.2)
Номер первого рабочего дня из списка day.

Определение для категории LC_TIME заканчивается строкой END LC_TIME.  

LC_MESSAGES

Определение начинается со строки LC_MESSAGES в первой колонке.

Разрешены следующие ключевые слова:

yesexpr
сопровождается регулярным выражением, которое описывает возможные ответы "да".
noexpr
сопровождается регулярным выражением, которое описывает возможные ответы "нет".

Определение для категории LC_MESSAGES заканчивается строкой END LC_MESSAGES.

Подробности смотрите в стандарте POSIX.2.  

ФАЙЛЫ

/usr/lib/locale/ --- база данных для текущих настроек локали в этой категории
/usr/lib/nls/charmap/* --- charmap-файлы  

СООТВЕТСТВИЕ СТАНДАРТАМ

POSIX.2, ISO/IEC 14652.  

ДЕФЕКТЫ

Эта страница руководства не содержит всей необходимой информации.  

СМОТРИТЕ ТАКЖЕ

locale(1), localedef(1), localeconv(3), setlocale(3), charmap(5)


 

Index

ИМЯ
ОПИСАНИЕ
СИНТАКСИС
LC_CTYPE
LC_COLLATE
LC_MONETARY
LC_NUMERIC
LC_TIME
LC_MESSAGES
ФАЙЛЫ
СООТВЕТСТВИЕ СТАНДАРТАМ
ДЕФЕКТЫ
СМОТРИТЕ ТАКЖЕ

This document was created by man2html using the manual pages.
Time: 17:41:24 GMT, October 23, 2013

2. locale.7.man

Manpage of LOCALE

LOCALE

Section: Руководство программиста Linux (7)
Updated: 2008-12-05
Index Return to Main Contents
 

ИМЯ

locale - описание поддержки нескольких языков  

ОБЗОР

#include <locale.h>
 

ОПИСАНИЕ

Локаль - это сочетание языковых и культурных аспектов. Они включают в себя: язык сообщений, различные наборы символов, лексикографические соглашения и т.д. Программа должна определять локализацию и действовать согласно её установкам в целях достижения взаимосвязи различных культур.

Файл <locale.h> описывает типы данных, функции и макросы, необходимые для выполнения этой задачи.

В нём описаны функции: setlocale(3), устанавливающая текущую локаль и localeconv(3), которая возвращает информацию о форматировании чисел.

Существуют различные категории локализации, которые программа может использовать; они описаны как макросы. Используя их в качестве первого аргумента функции setlocale(3), можно установить значение значение категории в желаемую локаль:

LC_COLLATE
Эта категория изменяет поведение функций strcoll(3) и strxfrm(3), которые используются для сравнения строк с учётом местного алфавита. Например, немецкая эсцет (sharp s) рассматривается как "ss".
LC_CTYPE
Эта категория влияет на поведение функций обработки и классификации символов, таких как: isupper(3) и toupper(3), а также многобайтных символьных функций, таких как: mblen(3) или wctomb(3).
LC_MONETARY
влияет на информацию, возвращаемую функцией localeconv(3) , которая описывает способ отображения числа, например, необходимо ли использовать в качестве десятичного разделителя точку или запятую. Эта информация используется в функции strfmon(3).
LC_MESSAGES
изменяет язык отображаемых сообщений и указывает, как должны выглядеть положительный и отрицательный ответы. Библиотека GNU C содержит функции gettext(3), ngettext(3) и rpmatch(3) для более удобного использования этой информации. Семейство функций GNU gettext так же учитывает переменную окружения LANGUAGE (содержащую через двоеточие список локалей), если указана допустимая категория отличная от "C".
LC_NUMERIC
изменяет информацию, которая используется в семействе функций printf(3) и scanf(3), если необходимо использовать настройки локали. Эта информация может быть также прочитана при помощи функции localeconv(3).
LC_TIME
влияет на поведение функции strftime(3), которая используется для отображения текущего времени в местном формате; например, большая часть Европы использует 24-часовой формат, тогда как в США используют 12-часовой.
LC_ALL
Все вышеперечисленное.

Если второй аргумент функции setlocale(3) равен пустой строке "", то локаль по умолчанию будет определяться следующим образом:

1.
Если существует непустая переменная окружения LC_ALL, то используется её значение.
2.
Если существует переменная окружения с именем одной из вышеописанных категорий и она непустая, то её значение присваивается этой категории.
3.
Если существует непустая переменная окружения LANG, то используется её значение.

Информация о локальном форматировании чисел доступна в структуре struct lconv, возвращаемой функцией localeconv(3) , которая описана следующим образом:


struct lconv {

    /* Информация о числах (не связанная с деньгами) */

    char *decimal_point;     /* Символ разделителя дробной части */
    char *thousands_sep;     /* Разделитель групп цифр слева от
                                символа разделителя дробной части */
    char *grouping; /* Каждый элемент является номером цифры в группе;
                       большие элементы указывают на крайние слева значения.
                       Элемент с значением CHAR_MAX означает, что группировка
                       завершена. Элемент со значением 0 указывает, что
                       предыдущий элемент используется для всех групп,
                       находящихся левее. */

    /* В оставшихся полях указывается информация о денежных величинах */

    char *int_curr_symbol;   /* Первые три символа являются символом валюты
                                согласно ISO 4217. Четвёртый символ является
                                разделителем. Пятый символ равен
                                aq\0aq. */
    char *currency_symbol;   /* Местный символ валюты */
    char *mon_decimal_point; /* Символ разделителя дробной части */
    char *mon_thousands_sep; /* Как thousands_sep */
    char *mon_grouping;      /* Как grouping */
    char *positive_sign;     /* Знак положительных значений */
    char *negative_sign;     /* Знак отрицательных значений */
    char  int_frac_digits;   /* Представление дробных чисел в международном
                                формате */
    char  frac_digits;       /* Представление дробных чисел в локальном
                                формате */
    char  p_cs_precedes;     /* 1, если символ валюты указывается перед
                                положительным значение, 0 -- если
                                следует за ним. */
    char  p_sep_by_space;    /* 1, если пробел отделяет символ валюты
                                от положительного значения */
    char  n_cs_precedes;     /* 1, если символ валюты предшествует
                                 отрицательному значению,
                                0, если следует за ним */
    char  n_sep_by_space;    /* 1, если пробел отделяет символ валюты
                                от отрицательного значения */
    /* Позиция положительного или отрицательного знака:
       0 Скобки окружают количество и символ валюты.
       1 Знак предшествует количеству и символу валюты.
       2 Знак следует за количеством и символом валюты.
       3 Знак непосредственно предшествует символу валюты.
       4 Знак непосредственно следует за символом валюты. */
    char  p_sign_posn;
    char  n_sign_posn;
};
 

СООТВЕТСТВИЕ СТАНДАРТАМ

POSIX.1-2001.

Функции GNU gettext определены в LI18NUX2000.  

СМОТРИТЕ ТАКЖЕ

locale(1), localedef(1), gettext(3), localeconv(3), ngettext(3), nl_langinfo(3), rpmatch(3), setlocale(3), strcoll(3), strfmon(3), strftime(3), strxfrm(3)


 

Index

ИМЯ
ОБЗОР
ОПИСАНИЕ
СООТВЕТСТВИЕ СТАНДАРТАМ
СМОТРИТЕ ТАКЖЕ

This document was created by man2html using the manual pages.
Time: 17:41:24 GMT, October 23, 2013

SVENSKA - cs - SVENSKA - SVENSKA - SVENSKA - SVENSKA - ja - pl