ИМЯ
locale - описание файла определения локалиОПИСАНИЕ
Файл определения локали содержит в себе всю информацию, которая нужна команде localedef(1) для преобразования её в двоичную базу данных локалей. Файлы определения состоят из разделов, каждый из которых подробно описывает некоторую категорию локали. Дополнительную информацию об этих категориях смотрите в locale(7).Синтаксис
Файл определения локали начинается с заголовка, который может состоять из следующих ключевых слов:- escape_char
- за которым указывается символ, использующийся в оставшихся строках файла как символ экранирования для пометки символов, которые должны обрабатываться особым образом. По умолчанию это символ обратной косой черты (\).
- comment_char
- за которым указывается символ, использующийся в оставшихся строках файла как символ комментария. По умолчанию это символ решётки (#).
Разделы категорий локали
Следующие разделы категорий определены в POSIX:- •
- 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 в первой колонке. Допустимы следующие ключевые слова:- postal_fmt
- за которым указывается строка описателей поля, задающая формат почтовых адресов, используемый в локали. Доступны следующие описатели поля:
- %n
- Имя человека, возможно собранное с использованием ключевого слова LC_NAME name_fmt (начиная с glibc 2.24).
- %a
- Относится к человеку или организации.
- %f
- Фирменное название.
- %d
- Название отдела.
- %b
- Обозначение здания.
- %s
- Название улицы или блока (в Японии).
- %h
- Номер дома или назначения.
- %N
- Вставить конец строки, если предыдущее значение описателя было не пустой строкой; в противном случае игнорируется.
- %t
- Вставить пробел, если предыдущее значение описателя было не пустой строкой; в противном случае игнорируется.
- %r
- Номер квартиры, комнаты.
- %e
- Номер этажа.
- %C
- Страна назначения, берётся из ключевого слова country_post.
- %l
- Часть территории внутри посёлка или города (начиная с glibc 2.24).
- %z
- Индекс, почтовый код.
- %T
- Город, посёлок.
- %S
- Область, штат или префектура.
- %c
- Страна, как указана в данных записи.
- 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 в первой колонке. Допустимы следующие ключевые слова:- 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 в первой колонке. Допустимы следующие ключевые слова:- 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 в первой колонке. Допустимы следующие ключевые слова:- 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
- за которым указывается дата выпуска этого документа.
- (1)
- строка, обозначающая определение этой категории локали,
- (2)
- точка с запятой и
- (3)
- один из идентификаторов LC_*.
LC_MESSAGES
Определение начинается со строки LC_MESSAGES в первой колонке. Допустимы следующие ключевые слова:- yesexpr
- за которым указывается регулярное выражение, которое описывает возможные ответы «да».
- noexpr
- за которым указывается регулярное выражение, которое описывает возможные ответы «нет».
- yesstr
- за которым указывается выходная строка, соответствующая «да».
- nostr
- за которым указывается выходная строка, соответствующая «нет».
LC_MEASUREMENT
Определение начинается со строки LC_MEASUREMENT в первой колонке. Допустимы следующие ключевые слова:- measurement
- за которым указывается число, определяющее систему мер, используемую при измерениях. Возможны следующие значения:
- 1
- Метрическая
- 2
- Система мер США
LC_MONETARY
Определение начинается со строки LC_MONETARY в первой колонке. Допустимы следующие ключевые слова:- int_curr_symbol
- за которым указывается международной символ валюты. Это должна быть строка из четырёх символов, в которой указан код международного символа валюты согласно стандарту ISO 4217 (три символа) с последующим разделителем.
- currency_symbol
- за которым указывается локальный символ валюты.
- mon_decimal_point
- followed by the single-character string that will be used as the decimal delimiter when formatting monetary quantities.
- mon_thousands_sep
- followed by the single-character string that will be used as a group separator when formatting monetary quantities.
- mon_grouping
- за которым указывается последовательность целых, разделяемых точкой с запятой, которые описывают формат денежных величин. Смотрите подробности в grouping далее.
- positive_sign
- за которым указывается строка, используемая для указания положительного знака денежных величин.
- negative_sign
- за которым указывается строка, используемая для указания отрицательного знака денежных величин.
- int_frac_digits
- за которым указывается количество цифр в дробной части, которое нужно использовать при форматировании с int_curr_symbol.
- frac_digits
- за которым указывается количество цифр в дробной части, которое нужно использовать при форматировании с currency_symbol.
- p_cs_precedes
- за которым указывается целое, обозначающее положение currency_symbol при форматировании неотрицательной денежной величины:
- 0
- сначала величина, затем символ
- 1
- сначала символ, затем величина
- p_sep_by_space
- за которым указывается целое, обозначающее разделитель currency_symbol, строки знака и значения при форматировании неотрицательной денежной величины. Допустимы следующие значения:
- 0
- Отсутствует пробел между денежным символом и величиной.
- 1
- Если денежный символ и строка знака находятся рядом, то они отделяются от значения пробелом; в противном случае пробелом разделяются денежный символ и значение.
- 2
- Если денежный символ и строка знака находятся рядом, то они отделяются от значения пробелом; в противном случае пробелом разделяются строка знака и значение.
- n_cs_precedes
- за которым указывается целое, обозначающее положение currency_symbol при форматировании отрицательной денежной величины. Используются те же значения что и для p_cs_precedes.
- n_sep_by_space
- за которым указывается целое, обозначающее разделитель currency_symbol, строку знака и значение при генерации отрицательной денежной величины. Используются те же значения что и для p_sep_by_space.
- p_sign_posn
- за которым указывается целое, обозначающее положение positive_sign при форматировании неотрицательной денежной величины:
- 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
- за которым указывается целое, обозначающее положение 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 в первой колонке. Допускаются различные ключевые слова, но обязательно только name_fmt. Другие ключевые слова нужны только, если есть общее соглашение использовать соответствующее приветствие в этой локали.Допустимые ключевые слова:- name_fmt
- за которым указывается строка описателей поля, которые задают формат, используемый для имён в локали. Доступны следующие описатели поля:
- %f
- Фамилия.
- %F
- Фамилия в верхнем регистре.
- %g
- Имя.
- %G
- Инициал имени.
- %l
- Имя латиницей.
- %o
- Другое сокращённое имя.
- %m
- Дополнительные имена.
- %M
- Инициалы дополнительных имён.
- %p
- Профессия.
- %s
- Приветствие, например «доктор».
- %S
- Сокращение приветствия, например «Mr.» или «Dr.».
- %d
- Приветствие в соответствии с соглашениями FDCC.
- %t
- Если предыдущий описатель поля равен пустой строке, то выдаётся пустая строка, в противном случае символ пробела.
- name_gen
- за которым указывается приветствие для любого пола.
- name_mr
- за которым указывается приветствие для мужчин.
- name_mrs
- за которым указывается приветствие для замужних женщин.
- name_miss
- за которым указывается приветствие для не замужних женщин.
- name_ms
- за которым указывается приветствие, подходящее для всех женщин.
LC_NUMERIC
Определение начинается со строки LC_NUMERIC в первой колонке. Допустимы следующие ключевые слова:- decimal_point
- followed by the single-character string that will be used as the decimal delimiter when formatting numeric quantities.
- thousands_sep
- followed by the single-character string that will be used as a group separator when formatting numeric quantities.
- grouping
- за которым указывается последовательность целых чисел, разделяемых точкой с запятой, которые описывают формат числовых величин.
- Каждое целое указывает количество цифр в группе. Первое целое определяет размер группы, расположенной первой слева от десятичного разделителя. Последующие целые определяют последующие группы левее предыдущей группы. Если последнее целое не равно -1, то размер предыдущей группы (если есть) постоянно используется для оставшихся цифр. Если последнее целое равно -1, то дальнейшая группировка не производится.
LC_PAPER
Определение начинается со строки LC_PAPER в первой колонке. Допустимы следующие ключевые слова:- height
- за которым указывается высота бумаги стандартного формата в миллиметрах.
- width
- за которым указывается ширина бумаги стандартного формата в миллиметрах.
LC_TELEPHONE
Определение начинается со строки LC_TELEPHONE в первой колонке. Допустимы следующие ключевые слова:- tel_int_fmt
- за которым указывается строка описателей поля, которыми задаётся формат, используемый для набора международных номеров. Доступны следующие описатели поля:
- %a
- Код региона без национального префикса (используемый чаще всего префикс «00»).
- %A
- Код региона включая национальный префикс.
- %l
- Локальный номер (внутри кода региона).
- %e
- Расширение (локального номера).
- %c
- Код страны.
- %C
- Альтернативный сервисный код поставщика услуг связи (carrier), используемый при наборе заграничного номера.
- %t
- Если предыдущий описатель поля равен пустой строке, то выдаётся пустая строка, в противном случае символ пробела.
- tel_dom_fmt
- за которым указывается строка описателей поля, которыми задаётся формат, используемый для набора местных номеров. Используются те же описатели поля, что и в tel_int_fmt.
- int_select
- за которым указывается префикс для набора международных телефонных номеров.
- int_prefix
- за которым указывается префикс, используемый в других странах для звонков в эту страну.
LC_TIME
Определение начинается со строки 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
Поля
определены
следующим
образом:
- direction
- Может быть + или -. Символ + означает, что у годов, находящихся ближе к start_date, числовое значение меньше, чем у годов, находящихся ближе к end_date. Символ - имеет обратный смысл.
- offset
- Ближайший к start_date номер года в эре, соответствует описателю %Ey (смотрите strptime(3)).
- start_date
- Начало эры в виде гггг/мм/дд. Года до 1-го нашей эры представляются отрицательными числами.
- end_date
- Конец эры в виде гггг/мм/вв или одно из двух специальных значений: -* или +*. Комбинация -* означает, что конечная дата — это начало времён. Комбинация +* означает, что конечная дата — это конец времён.
- era_name
- Название эпохи, соответствует описателю %EC (смотрите strptime(3)).
- era_format
- Формат года в эпохе, соответствует описателю %EY (смотрите strptime(3)).
- 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)
- followed by the number of the day from the day list to be shown as the first day of the week in calendar applications. The default value of 1 corresponds to either Sunday or Monday depending on the value of the second week list item. See NOTES.
- first_workday (начиная с glibc 2.2)
- за которым указывается номер первого рабочего дня из списка day Значение по умолчанию равно 2.Смотрите ЗАМЕЧАНИЯ.
- cal_direction
- за которым указывается числовое значение, задающее направление показа календарных дат:
- 1
- Слева направо, сверху.
- 2
- Сверху вниз, слева.
- 3
- Справа налево, сверху.
- 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, в зависимости от реального начала и рабочего дня недели в локали — воскресенья или понедельника.
СМ. ТАКЖЕ
iconv(1), locale(1), localedef(1), localeconv(3), newlocale(3), setlocale(3), strftime(3), strptime(3), uselocale(3), charmap(5), charsets(7), locale(7), unicode(7), utf-8(7)ПЕРЕВОД
Русский перевод этой страницы руководства был сделан Artyom Kunyov <[email protected]>, Azamat Hackimov <[email protected]>, Dmitry Bolkhovskikh <[email protected]>, Katrin Kutepova <[email protected]>, Konstantin Shvaykovskiy <[email protected]>, Yuri Kozlov <[email protected]> и Иван Павлов <[email protected]> Этот перевод является бесплатной документацией; прочитайте Стандартную общественную лицензию GNU версии 3 или более позднюю, чтобы узнать об условиях авторского права. Мы не несем НИКАКОЙ ОТВЕТСТВЕННОСТИ. Если вы обнаружите ошибки в переводе этой страницы руководства, пожалуйста, отправьте электронное письмо на [email protected]5 февраля 2023 г. | Linux man-pages 6.03 |