Файлы определения
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)
и
Примеры2 (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
Устанавливаемое целое число равно
нулю ,
если никакие пробелы не отделяют
currency_symbol
или
int_curr_symbol
от величины (в случае с отрицательным денежным значением); оно равно
единице,
если пробел отделяет символ от величины; и равно
двум,
если пробел отделяет символ от знаковой строки (в случае их смежности).
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
сопровождается списком кратких названий дней недели.
Список начинается с Sunday или его перевода (например, воскресенье).
day
сопровождается списком названий дней недели.
Список начинается с воскресенья.
abmon
сопровождается списком кратких названий месяцев.
mon
сопровождается списком названий месяцев.
am_pm
Соответственное представление строк
am
и
pm .
d_t_fmt
Дата и формат времени соответственно.
d_fmt
Формат даты.
t_fmt
Формат времени.
t_fmt_ampm
12-часовой формат времени.
Определение для категории
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-файлы */
НАЙДЕННЫЕ ОШИБКИ
Эта страница руководства находится в стадии разработки и не содержит всей необходимой
информации.