Linux
2019-03-06
man-pages-ru
Russian man pages from the Linux Documentation Project
manpages
Manual pages about using a GNU/Linux system
man-pages
Linux kernel and C library user-space interface documentation
ИМЯ
locale - описание файла определения локали
ОПИСАНИЕ
Файл определения локали содержит в себе всю информацию, которая нужна команде localedef(1) для преобразования её в двоичную базу данных локалей.
Файлы определения состоят из разделов, каждый из которых подробно описывает некоторую категорию локали. Дополнительную информацию об этих категориях смотрите в locale(7).
Синтаксис
Файл определения локали начинается с заголовка, который может состоять из следующих ключевых слов:
Определение локали поделено на отдельные части — для каждой категории своя. Каждую часть можно скопировать из другой существующей локали или создать с нуля. Если категорию нужно скопировать, то в определении должно находиться единственное ключевое слово copy и имя локали в двойных кавычках, из которого копируется категория. Исключением из этого правила являются LC_COLLATE и LC_CTYPE, когда в описании copy могут перечисляться правила для локали и выбранные замены.
escape_char | |
за которым указывается символ, использующийся в оставшихся строках файла как символ экранирования для пометки символов, которые должны обрабатываться особым образом. По умолчанию это символ обратной косой черты (\). | |
comment_char | |
за которым указывается символ, использующийся в оставшихся строках файла как символ комментария. По умолчанию это символ решётки (#). |
При создании локали или категории с нуля за основу нужно взять из системы существующее определение локали, так как оно следует общим соглашениям glibc.
Разделы категорий локали
Следующие разделы категорий определены в POSIX:
Также, начиная с версии 2.2, библиотека GNU C поддерживает следующие нестандартные категории:
Более подробное описание каждой категории смотрите в locale(7).
* | LC_CTYPE |
* | LC_COLLATE |
* | LC_MESSAGES |
* | LC_MONETARY |
* | LC_NUMERIC |
* | LC_TIME |
* | LC_ADDRESS |
* | LC_IDENTIFICATION |
* | LC_MEASUREMENT |
* | LC_NAME |
* | LC_PAPER |
* | LC_TELEPHONE |
LC_ADDRESS
Определение начинается со строки LC_ADDRESS в первой колонке.
Определение категории LC_ADDRESS заканчивается строкой END LC_ADDRESS.
Допустимы следующие ключевые слова:
postal_fmt | |||||||||||||||||||||||||||||||||||
за которым указывается строка описателей поля, задающая формат почтовых адресов, используемый в локали. Доступны следующие описатели поля:
|
|||||||||||||||||||||||||||||||||||
country_name | |||||||||||||||||||||||||||||||||||
за которым указывается название страны на языке текущего документа (например, «Deutschland» для локали de_DE). | |||||||||||||||||||||||||||||||||||
country_post | |||||||||||||||||||||||||||||||||||
за которым указывается аббревиатура страны (смотрите CERT_MAILCODES). | |||||||||||||||||||||||||||||||||||
country_ab2 | |||||||||||||||||||||||||||||||||||
за которым указывается двухсимвольная аббревиатура страны (ISO 3166). | |||||||||||||||||||||||||||||||||||
country_ab3 | |||||||||||||||||||||||||||||||||||
за которым указывается трёхсимвольная аббревиатура страны (ISO 3166). | |||||||||||||||||||||||||||||||||||
country_num | |||||||||||||||||||||||||||||||||||
за которым указывается числовой код страны (ISO 3166). | |||||||||||||||||||||||||||||||||||
country_car | |||||||||||||||||||||||||||||||||||
за которым указывается код страны в международном номерном знаке. | |||||||||||||||||||||||||||||||||||
country_isbn | |||||||||||||||||||||||||||||||||||
за которым указывается код ISBN (для книг). | |||||||||||||||||||||||||||||||||||
lang_name | |||||||||||||||||||||||||||||||||||
за которым указывается название языка на языке текущего документа. | |||||||||||||||||||||||||||||||||||
lang_ab | |||||||||||||||||||||||||||||||||||
за которым указывается двухсимвольная аббревиатура языка (ISO 639). | |||||||||||||||||||||||||||||||||||
lang_term | |||||||||||||||||||||||||||||||||||
за которым указывается трёхсимвольная аббревиатура языка (ISO 639-2/T). | |||||||||||||||||||||||||||||||||||
lang_lib | |||||||||||||||||||||||||||||||||||
за которым указывается трёхсимвольная аббревиатура языка, используемая в библиотеках (ISO 639-2/B). Обычно, приложениям нужно использовать lang_term вместо lang_lib. |
LC_CTYPE
Определение начинается со строки LC_CTYPE в первой колонке.
Определение категории LC_CTYPE заканчивается строкой END 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, не допускаются. |
за которым указывается список печатных (видимых) символов, включая символ <space>. Автоматически включаются символы из upper, lower, alpha, digit, xdigit, punct и <space>. Символы, указанные в cntrl, не допускаются. | |
xdigit | за которым указывается список символов, относящихся к шестнадцатеричным цифрам. Должны быть указаны десятичные цифры, а также один или несколько наборов из шести символов в возрастающем порядке. По умолчанию включены: от 0 до 9, от a до f, от A до F. |
blank | за которым указывается список символов, классифицированных как blank. Автоматически включены символы <space> и <tab>. |
charclass | |
за которым указывается список определённых в локали имён классов символов, которые будут определены в локали позднее. | |
toupper | |
за которым указывается список преобразований символов нижнего регистра в символы верхнего. Каждое преобразование — это пара символов в нижнем и верхнем регистре, разделённых знаком , и заключённых в круглые скобки. | |
tolower | |
за которым указывается список преобразований символов верхнего регистра в символы нижнего. Если ключевое слово tolower не задано, то по умолчанию используется список, противоположный списку toupper. | |
map totitle | |
за которым указывается список преобразований пар символов и букв, используемых в заголовках. | |
class | за которым указывается определение класса символов определённой локали, сначала имя класса, затем идут символы, принадлежащие классу. |
charconv | |
за которым указывается список определённых в локали имён преобразований символов, которые будут определены в локали позднее. | |
outdigit | |
за которым указывается список альтернативных выводимых цифр для локали. | |
map to_inpunct | |
за которым указывается список преобразований пар альтернативных цифр и разделителей вводимых цифр для локали. | |
map to_outpunct | |
за которым указывается список преобразований пар альтернативных разделителей вывода для локали. | |
translit_start | |
отмечает начало раздела правил транслитерации. В начале раздела может содержаться ключевое слово include, за которым указываются правила и замены для определённой локали. Любое правило, указанное в локали, заменит любое правило, скопированное или включённое из других файлов. В случае повтора определения правила в файле локали, используется только первое правило. | |
Правило транслитерации состоит из символа, который будет транслитерироваться, и списка целей транслитерации через точку с запятой. Используется первая цель, из набора символов которой может быть представлен указанный символ. Если представить нечем, то будет использоваться символ default_missing. | |
include | |
в разделе правил транслитерации включает файл правил транслитерации (и необязательный файл_набора отображения). | |
default_missing | |
в разделе правил транслитерации определяет символ по умолчанию, который будет использован для транслитерации, если ни одна из целей не может быть представлена набором символов цели. | |
translit_end | |
помечает конец правил транслитерации. |
LC_COLLATE
Заметим, что в glibc не поддерживаются все параметры, определённые в POSIX; список поддерживаемых параметров приведён ниже (для glibc 2.23).
Определение категории LC_COLLATE заканчивается строкой END LC_COLLATE.
Определение начинается со строки LC_COLLATE в первой колонке.
Допустимы следующие ключевые слова:
coll_weight_max | |
за которым указывается число, представляющее уровни сортировки. Это ключевое слово воспринимается glibc, но игнорируется. | |
collating-element | |
за которым указывается определение символа элемента-сортировки, представляющего многосимвольный элемент сортировки. | |
collating-symbol | |
за которым указывается определение символа сортировки, который можно использовать в определениях порядка сортировки. | |
define | за которым указывается строка, которая будет вычислена в конструкции ifdef строка / else / endif. |
reorder-after | |
за которым следует повторное определение правила сортировки. | |
reorder-end | |
помечает конец повторного определения правила сортировки. | |
reorder-sections-after | |
за которым следует имя сценария для переупорядочивания сценариев, перечисляемых после. | |
reorder-sections-end | |
помечает конец разделов переупорядочивания. | |
script | за которым следует объявление сценария. |
symbol-equivalence | |
за которым следует символ-сортировки, который будет эквивалентен другому определённому символу-сортировки. | |
Определение правила сортировки начинается со строки: | |
order_start | |
за которой указывается список ключевых слов из forward, backward или position. Определение сортировки состоит из строк, описывающих порядок сортировки, и заканчивается ключевым словом order_end. |
LC_IDENTIFICATION
Определение начинается со строки LC_IDENTIFICATION в первой колонке.
Определение категории LC_IDENTIFICATION заканчивается строкой END LC_IDENTIFICATION.
Допустимы следующие ключевые слова:
title | за которым указывается название документа локали (например, «Maori language locale for New Zealand»). |
source | за которым указывается название организации, которая сопровождает этот документ. |
address | |
за которым указывается адрес организации, которая сопровождает этот документ. | |
contact | |
за которым указывается контактное лицо от организации, которое сопровождает этот документ. | |
за которым указывается адрес электронной почты лица или организации, которое сопровождает этот документ. | |
tel | за которым указывается номер телефона (в международном формате) организации, которая сопровождает этот документ. В glibc 2.24 это ключевое слово устарело и заменено другими методами описания контактов. |
fax | за которым указывается номер факса (в международном формате) организации, которая сопровождает этот документ. В glibc 2.24 это ключевое слово устарело и заменено другими методами описания контактов. |
language | |
за которым указывается название языка, к которому применим этот документ. | |
territory | |
за которым указывается название страны/географической области, к которой применим этот документ. | |
audience | |
за которым указывается аудитория, которой адресован этот документ. | |
application | |
за которым указывается описание любого специального применения, для которого предназначен этот документ. | |
abbreviation | |
за которым указывается короткое имя источника, предоставившего этот документ. | |
revision | |
за которым указывается номер выпуска этого документа. | |
date | за которым указывается дата выпуска этого документа. |
Также, для каждой категории, определяемой документом, должна быть строка, начинающаяся с ключевого слова category, после которого указывается: |
* | строка, обозначающая определение этой категории локали, |
* | точка с запятой и |
* | один из идентификаторов LC_*. |
LC_MESSAGES
Определение начинается со строки LC_MESSAGES в первой колонке.
Определение категории LC_MESSAGES заканчивается строкой END LC_MESSAGES.
Допустимы следующие ключевые слова:
yesexpr | |
за которым указывается регулярное выражение, которое описывает возможные ответы «да». | |
noexpr | за которым указывается регулярное выражение, которое описывает возможные ответы «нет». |
yesstr | за которым указывается выходная строка, соответствующая «да». |
nostr | за которым указывается выходная строка, соответствующая «нет». |
LC_MEASUREMENT
Определение начинается со строки LC_MEASUREMENT в первой колонке.
Определение категории LC_MEASUREMENT заканчивается строкой END LC_MEASUREMENT.
Допустимы следующие ключевые слова:
measurement | |||||
за которым указывается число, определяющее систему мер, используемую при измерениях. Возможны следующие значения:
|
LC_MONETARY
Определение начинается со строки LC_MONETARY в первой колонке.
Определение категории LC_MONETARY заканчивается строкой END LC_MONETARY.
Допустимы следующие ключевые слова:
int_curr_symbol | |||||||||||
за которым указывается международной символ валюты. Это должна быть строка из четырёх символов, в которой указан код международного символа валюты согласно стандарту ISO 4217 (три символа) с последующим разделителем. | |||||||||||
currency_symbol | |||||||||||
за которым указывается локальный символ валюты. | |||||||||||
mon_decimal_point | |||||||||||
за которым указывается строка, используемая как десятичный разделитель в денежных величинах. | |||||||||||
mon_thousands_sep | |||||||||||
за которым указывается строка, используемая как разделитель групп тысяч в денежных величинах. | |||||||||||
mon_grouping | |||||||||||
за которым указывается последовательность целых, разделяемых точкой с запятой, которые описывают формат денежных величин. Смотрите подробности в grouping далее. | |||||||||||
positive_sign | |||||||||||
за которым указывается строка, используемая для указания положительного знака денежных величин. | |||||||||||
negative_sign | |||||||||||
за которым указывается строка, используемая для указания отрицательного знака денежных величин. | |||||||||||
int_frac_digits | |||||||||||
за которым указывается количество цифр в дробной части, которое нужно использовать при форматировании с int_curr_symbol. | |||||||||||
frac_digits | |||||||||||
за которым указывается количество цифр в дробной части, которое нужно использовать при форматировании с currency_symbol. | |||||||||||
p_cs_precedes | |||||||||||
за которым указывается целое, обозначающее положение currency_symbol при форматировании неотрицательной денежной величины:
|
|||||||||||
p_sep_by_space | |||||||||||
за которым указывается целое, обозначающее разделитель currency_symbol, строки знака и значения при форматировании неотрицательной денежной величины. Допустимы следующие значения:
|
|||||||||||
n_cs_precedes | |||||||||||
за которым указывается целое, обозначающее положение currency_symbol при форматировании отрицательной денежной величины. Используются те же значения что и для p_cs_precedes. | |||||||||||
n_sep_by_space | |||||||||||
за которым указывается целое, обозначающее разделитель currency_symbol, строку знака и значение при генерации отрицательной денежной величины. Используются те же значения что и для p_sep_by_space. | |||||||||||
p_sign_posn | |||||||||||
за которым указывается целое, обозначающее положение positive_sign при форматировании неотрицательной денежной величины:
|
|||||||||||
n_sign_posn | |||||||||||
за которым указывается целое, обозначающее положение negative_sign при форматировании отрицательной денежной величины. Используются те же значения что и для p_sign_posn. | |||||||||||
int_p_cs_precedes | |||||||||||
за которым указывается целое, обозначающее положение int_curr_symbol при генерации неотрицательной денежной величины в международном формате. Используются те же значения что и для p_cs_precedes. | |||||||||||
int_n_cs_precedes | |||||||||||
за которым указывается целое, обозначающее положение int_curr_symbol при генерации отрицательной денежной величины в международном формате. Используются те же значения что и для p_cs_precedes. | |||||||||||
int_p_sep_by_space | |||||||||||
за которым указывается целое, обозначающее разделитель int_curr_symbol, строку знака и значение при генерации неотрицательной денежной величины в международном формате. Используются те же значения что и для p_sep_by_space. | |||||||||||
int_n_sep_by_space | |||||||||||
за которым указывается целое, обозначающее разделитель int_curr_symbol, строку знака и значение при генерации отрицательной денежной величины в международном формате. Используются те же значения что и для p_sep_by_space. | |||||||||||
int_p_sign_posn | |||||||||||
за которым указывается целое, обозначающее положение positive_sign при генерации неотрицательной денежной величины в международном формате. Используются те же значения что и для p_sign_posn. | |||||||||||
int_n_sign_posn | |||||||||||
за которым указывается целое, обозначающее положение negative_sign при генерации отрицательной денежной величины в международном формате. Используются те же значения что и для p_sign_posn. |
LC_NAME
Определение начинается со строки LC_NAME в первой колонке.
Определение категории LC_NAME заканчивается строкой END LC_NAME.
Допускаются различные ключевые слова, но обязательно только name_fmt. Другие ключевые слова нужны только, если есть общее соглашение использовать соответствующее приветствие в этой локали.Допустимые ключевые слова:
name_fmt | |||||||||||||||||||||||||||
за которым указывается строка описателей поля, которые задают формат, используемый для имён в локали. Доступны следующие описатели поля:
|
|||||||||||||||||||||||||||
name_gen | |||||||||||||||||||||||||||
за которым указывается приветствие для любого пола. | |||||||||||||||||||||||||||
name_mr | |||||||||||||||||||||||||||
за которым указывается приветствие для мужчин. | |||||||||||||||||||||||||||
name_mrs | |||||||||||||||||||||||||||
за которым указывается приветствие для замужних женщин. | |||||||||||||||||||||||||||
name_miss | |||||||||||||||||||||||||||
за которым указывается приветствие для не замужних женщин. | |||||||||||||||||||||||||||
name_ms | |||||||||||||||||||||||||||
за которым указывается приветствие, подходящее для всех женщин. |
LC_NUMERIC
Определение начинается со строки LC_NUMERIC в первой колонке.
Определение категории LC_NUMERIC заканчивается строкой END LC_NUMERIC.
Допустимы следующие ключевые слова:
decimal_point | |
за которым указывается строка, используемая в качестве десятичного разделителя при форматировании числовых величин. | |
thousands_sep | |
за которым указывается строка, используемая в качестве разделителя тысяч при форматировании числовых величин. | |
grouping | |
за которым указывается последовательность целых чисел, разделяемых точкой с запятой, которые описывают формат числовых величин. | |
Каждое целое указывает количество цифр в группе. Первое целое определяет размер группы, расположенной первой слева от десятичного разделителя. Последующие целые определяют последующие группы левее предыдущей группы. Если последнее целое не равно -1, то размер предыдущей группы (если есть) постоянно используется для оставшихся цифр. Если последнее целое равно -1, то дальнейшая группировка не производится. |
LC_PAPER
Определение начинается со строки LC_PAPER в первой колонке.
Определение категории LC_PAPER заканчивается строкой END LC_PAPER.
Допустимы следующие ключевые слова:
height | за которым указывается высота бумаги стандартного формата в миллиметрах. |
width | за которым указывается ширина бумаги стандартного формата в миллиметрах. |
LC_TELEPHONE
Определение начинается со строки LC_TELEPHONE в первой колонке.
Определение категории LC_TELEPHONE заканчивается строкой END LC_TELEPHONE.
Допустимы следующие ключевые слова:
tel_int_fmt | |||||||||||||||
за которым указывается строка описателей поля, которыми задаётся формат, используемый для набора международных номеров. Доступны следующие описатели поля:
|
|||||||||||||||
tel_dom_fmt | |||||||||||||||
за которым указывается строка описателей поля, которыми задаётся формат, используемый для набора местных номеров. Используются те же описатели поля, что и в tel_int_fmt. | |||||||||||||||
int_select | |||||||||||||||
за которым указывается префикс для набора международных телефонных номеров. | |||||||||||||||
int_prefix | |||||||||||||||
за которым указывается префикс, используемый в других странах для звонков в эту страну. |
LC_TIME
Определение начинается со строки LC_TIME в первой колонке.
Определение категории LC_TIME заканчивается строкой END LC_TIME.
Допустимы следующие ключевые слова:
abday | за которым указывается список сокращённых названий дней недели. Список начинается с первого дня недели, указанного в week (по умолчанию Sunday, воскресенье). Смотрите ЗАМЕЧАНИЯ. | ||||||||||||||||||||||||
day | за которым указывается список названий дней недели. Список начинается с первого дня недели, указанного в week (по умолчанию Sunday, воскресенье). Смотрите ЗАМЕЧАНИЯ. | ||||||||||||||||||||||||
abmon | за которым указывается список кратких названий месяцев. | ||||||||||||||||||||||||
mon | за которым указывается список названий месяцев. | ||||||||||||||||||||||||
d_t_fmt | |||||||||||||||||||||||||
за которым указывается соответствующий формат даты и времени (синтаксис описан в strftime(3)). | |||||||||||||||||||||||||
d_fmt | за которым указывается соответствующий формат даты (синтаксис описан в strftime(3)). | ||||||||||||||||||||||||
t_fmt | за которым указывается соответствующий формат времени (синтаксис описан в strftime(3)). | ||||||||||||||||||||||||
am_pm | за которым указывается соответствующее представление строк am и pm. Должно быть пустым для локалей, в которых не используется соглашение для AM/PM. | ||||||||||||||||||||||||
t_fmt_ampm | |||||||||||||||||||||||||
за которым указывается соответствующий формат времени для представления 12 часового формата (синтаксис описан в strftime(3)). Должно быть пустым для локалей, в которых не используется соглашение для AM/PM. | |||||||||||||||||||||||||
era | за которым указывается список строк через точку с запятой, задающих как в локали считать и отображать года каждой эпохи. Каждая строка имеет следующий формат:
direction:offset:start_date:end_date:era_name:era_format
Поля определены следующим образом:
|
||||||||||||||||||||||||
era_d_fmt | |||||||||||||||||||||||||
за которым указывается формат даты в альтернативном формате эпохи, соответствует описателю %Ex (смотрите strptime(3)). | |||||||||||||||||||||||||
era_t_fmt | |||||||||||||||||||||||||
за которым указывается формат времени в альтернативном формате эпохи, соответствует описателю %EX (смотрите strptime(3)). | |||||||||||||||||||||||||
era_d_t_fmt | |||||||||||||||||||||||||
за которым указывается формат даты и времени в альтернативном формате эпохи, соответствует описателю %Ec (смотрите strptime(3)). | |||||||||||||||||||||||||
alt_digits | |||||||||||||||||||||||||
за которым указываются альтернативные цифры, используемые для даты и времени в локали. | |||||||||||||||||||||||||
week | за которым указывается список из трёх значений, разделённых точкой с запятой: количество дней в неделе (по умолчанию 7), день начала недели (по умолчанию воскресенье) и минимальная длина первой недели в году (по умолчанию 4). Независимо от начала недели, 19971130 считается воскресеньем и 19971201 считается понедельником. Смотрите ЗАМЕЧАНИЯ. | ||||||||||||||||||||||||
first_weekday (начиная с glibc 2.2) | |||||||||||||||||||||||||
за которым указывается номер первого дня из списка day, который будет показан в приложениях-календарях. Значение по умолчанию 1 соответствует или воскресенью или понедельнику, в зависимости от значения второго элемента в списке week. Смотрите ЗАМЕЧАНИЯ. | |||||||||||||||||||||||||
first_workday (начиная с glibc 2.2) | |||||||||||||||||||||||||
за которым указывается номер первого рабочего дня из списка day Значение по умолчанию равно 2.Смотрите ЗАМЕЧАНИЯ. | |||||||||||||||||||||||||
cal_direction | |||||||||||||||||||||||||
за которым указывается числовое значение, задающее направление показа календарных дат:
|
|||||||||||||||||||||||||
date_fmt | |||||||||||||||||||||||||
за которым указывается представление соответствующей даты для date(1) (синтаксис описан в strftime(3)). |
ФАЙЛЫ
/usr/lib/locale/locale-archive | |
Обычный путь по умолчанию для расположения архива локалей. | |
/usr/share/i18n/locales | |
Обычный путь по умолчанию для файлов определений локалей. |
СООТВЕТСТВИЕ СТАНДАРТАМ
POSIX.2.
ЗАМЕЧАНИЯ
Коллективная мудрость сообщества библиотеки GNU C про abday, day, week, first_weekday и first_workday пишет в https://sourceware.org/glibc/wiki/Locales следующее:
* | Значение второго элемента в списке week задаёт начало списков abday и day. |
* | В first_weekday задаётся смещение первого дня недели в списках abday и day. |
* | Для совместимости, все локали glibc должны содержать значение второго элемента в списке week равное 19971130 (воскресенье), а также в базовых списках abday и day, соответственно, и установить значение first_weekday и first_workday равное 1 или 2, в зависимости от реального начала и рабочего дня недели в локали — воскресенья или понедельника. |