LOCALE - Linux手册页
Section: Linux User Manual (5)
更新日期: 2020-06-09
名称
语言环境-描述语言环境定义文件
说明
语言环境定义文件包含localedef(1)命令将其转换为二进制语言环境数据库所需的所有信息。
定义文件由各个部分组成,每个部分都详细描述了语言环境类别。有关这些类别的更多详细信息,请参见locale(7)。
Syntax
语言环境定义文件以标题开头,该标题可能包含以下关键字:
- escape_char
- 后跟一个字符,该字符应用作文件其余部分的转义字符,以标记应以特殊方式解释的字符。默认为反斜杠(\)。
- comment_char
- 后跟一个字符,该字符将用作文件其余部分的注释字符。默认为数字符号(#)。
对于每个语言环境类别,语言环境定义都有一部分。每个部分都可以从另一个现有的语言环境复制,也可以从头开始定义。如果应该复制类别,则定义中唯一有效的关键字是copy,后跟要复制的双引号的语言环境名称。该规则的例外是LC_COLLATE和LC_CTYPE,其中copy语句后可以跟随特定于语言环境的规则和选定的替代。
从头开始定义语言环境或类别时,应使用现有的系统提供的语言环境定义文件作为遵循通用glibc约定的参考。
Locale category sections
POSIX定义了以下类别部分:
- *
- LC_CTYPE
- *
- LC_COLLATE
- *
- LC_MESSAGES
- *
- LC_MONETARY
- *
- LC_NUMERIC
- *
- LC_TIME
另外,从2.2版开始,GNU C库支持以下非标准类别:
- *
- LC_ADDRESS
- *
- LC_IDENTIFICATION
- *
- LC_MEASUREMENT
- *
- LC_NAME
- *
- LC_PAPER
- *
- LC_TELEPHONE
有关每个类别的详细说明,请参见locale(7)。
LC_ADDRESS
该定义以第一列中的字符串LC_ADDRESS开头。
允许使用以下关键字:
- postal_fmt
- followed by a string containing field descriptors that define
the format used for postal addresses in the locale.
The following field descriptors are recognized:
- %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
- 国家(从数据记录中获取)。
每个字段描述符可以在aq%aq之后具有aqRaq,以指定该信息取自实体的罗马化版本字符串。
- country_name
- 后跟当前文档语言的国家/地区名称(例如,de_DE语言环境为" Deutschland")。
- 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_lib相比,应用程序通常应首选lang_term。
LC_ADDRESS定义以字符串END LC_ADDRESS结尾。
LC_CTYPE
该定义以第一列中的字符串LC_CTYPE开头。
允许使用以下关键字:
- upper
- 然后是大写字母列表。字母A到Z会自动包含在内。不允许同时指定为cntrl,数字,点或空格的字符。
- lower
- 然后是小写字母的列表。字母a到z自动包含在内。不允许同时指定为cntrl,数字,点或空格的字符。
- alpha
- 随后是字母列表。指定为大写或小写的所有字符都会自动包括在内。也不允许将字符也指定为cntrl,数字,点或空格。
- digit
- 然后是分类为数字的字符。仅允许数字0到9。它们默认包含在此类中。
- space
- 然后是定义为空格字符的字符列表。不允许同时指定为大写,小写,字母,数字,图形或x位数的字符。字符,,,,和会自动包括在内。
- cntrl
- 然后是控制字符列表。不允许同时指定为大写,小写,字母,数字,点,图形,印刷或x位数的字符。
- punct
- 然后是标点符号列表。也不允许将字符指定为大写,小写,字母,数字,cntrl,xdigit或该字符。
- graph
- 后面是可打印字符的列表,不包括该字符。会自动包含定义为上,下,字母,数字,x位数和点的字符。也不允许将也指定为cntrl的字符。
- 然后是可打印字符的列表,包括该字符。会自动包含定义为上,下,字母,数字,x位数,点和字符的字符。也不允许将也指定为cntrl的字符。
- xdigit
- 然后是分类为十六进制数字的字符列表。必须包含十进制数字,然后是一个或多个六个字符的升序排列。默认情况下包括以下字符:0到9,a到f,A到F。
- blank
- 然后是分类为空白的字符列表。字符和将自动包含在内。
- 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_CTYPE定义以字符串END LC_CTYPE结尾。
LC_COLLATE
请注意,glibc不支持所有POSIX定义的选项,仅支持以下所述的选项(从glibc 2.23开始)。
该定义以第一列中的字符串LC_COLLATE开头。
允许使用以下关键字:
- coll_weight_max
- 然后是代表使用的整理级别的数字。 glibc可以识别但忽略此关键字。
- collating-element
- 然后定义代表多个字符整理元素的整理元素符号。
- collating-symbol
- 然后是可以在整理顺序语句中使用的整理符号的定义。
- define
- 后跟要在ifdef string / else / endif构造中求值的字符串。
- reorder-after
- 然后重新定义排序规则。
- reorder-end
- 标记归类规则的重新定义结束。
- reorder-sections-after
- 后面跟一个脚本名称,以便之后对列出的脚本重新排序。
- reorder-sections-end
- 标志着部分重新排序的结束。
- script
- 然后是脚本的声明。
- symbol-equivalence
- 后跟一个排序规则符号,它等效于另一个定义的排序规则符号。
整理规则定义以一行开头:
- order_start
- 然后是从前进,后退或位置中选择的关键字列表。订单定义由描述排序顺序的行组成,并以关键字order_end终止。
LC_COLLATE定义以字符串END LC_COLLATE结尾。
LC_IDENTIFICATION
该定义以第一列中的字符串LC_IDENTIFICATION开头。
允许使用以下关键字:
- title
- 紧随其后的是语言环境文档的标题(例如,"新西兰的毛利语言语言环境")。
- source
- 然后是维护此文档的组织的名称。
- address
- 然后是维护此文档的组织的地址。
- contact
- 然后是维护此文档的组织的联系人姓名。
- 然后是维护此文档的人员或组织的电子邮件地址。
- tel
- 然后是维护此文档的组织的电话号码(国际格式)。从glibc 2.24开始,不推荐使用此关键字,而推荐使用其他联系方法。
- fax
- 然后是维护此文档的组织的传真号码(国际格式)。从glibc 2.24开始,不推荐使用此关键字,而推荐使用其他联系方法。
- language
- 紧随其后的是本文档适用的语言名称。
- territory
- 紧随其后的是本文档适用的国家/地区的名称。
- audience
- 然后是针对本文档的受众的描述。
- application
- 然后是本文档打算用于的任何特殊应用的描述。
- abbreviation
- 紧随其后的是本文档来源的提供者的简称。
- revision
- 然后是本文档的修订号。
- date
- 然后是本文档的修订日期。
另外,对于文档定义的每个类别,应该在一行中以关键字category开头,后跟:
- *
- 标识此语言环境类别定义的字符串,
- *
- 分号,以及
- *
- LC_ *标识符之一。
LC_IDENTIFICATION定义以字符串END LC_IDENTIFICATION结尾。
LC_MESSAGES
该定义以第一列中的字符串LC_MESSAGES开头。
允许使用以下关键字:
- yesexpr
- 然后是描述可能的yes响应的正则表达式。
- noexpr
- 然后是描述可能的无响应的正则表达式。
- yesstr
- 然后是与"是"相对应的输出字符串。
- nostr
- 后跟对应于" no"的输出字符串。
LC_MESSAGES定义以字符串END LC_MESSAGES结尾。
LC_MEASUREMENT
该定义以第一列中的字符串LC_MEASUREMENT开头。
允许使用以下关键字:
- measurement
- followed by number identifying the standard used for measurement.
The following values are recognized:
- 1
- 公制
- 2
- 美国习惯测量。
LC_MEASUREMENT定义以字符串END LC_MEASUREMENT结尾。
LC_MONETARY
该定义以第一列中的字符串LC_MONETARY开头。
允许使用以下关键字:
- int_curr_symbol
- 其次是国际货币符号。该字符串必须为4个字符的字符串,其中包含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
- followed by an integer that indicates the placement of
currency_symbol
for a nonnegative formatted monetary quantity:
- 0
- 符号在值之后。
- 1
- 符号在值之前。
- p_sep_by_space
- followed by an integer that indicates the separation of
currency_symbol,
the sign string, and the value for a nonnegative formatted monetary quantity.
The following values are recognized:- 0
- 货币符号和值之间没有空格分隔。
- 1
- 如果货币符号和符号字符串相邻,则将它们与值分开。否则,空格将货币符号和值分开。
- 2
- 如果货币符号和符号字符串相邻,则将它们与值分隔开;否则,空格将符号字符串和值分隔开。
- n_cs_precedes
- 后跟一个整数,该整数指示负格式货币数量的currency_symbol的位置。可以识别与p_cs_precedes相同的值。
- n_sep_by_space
- 后跟一个整数,该整数指示currency_symbol,符号字符串和负格式货币数量的值的分隔。可以识别与p_sep_by_space相同的值。
- p_sign_posn
- followed by an integer that indicates where the
positive_sign
should be placed for a nonnegative monetary quantity:
- 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
- 后跟一个整数,该整数指示负数量的负号应放置在哪里。识别出与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
- 后跟一个整数,该整数指示对于非负国际格式的货币量应在何处放置正号。识别出与p_sign_posn相同的值。
- int_n_sign_posn
- 后跟一个整数,该整数指示负数国际格式的货币数量应在何处放置negative_sign。识别出与p_sign_posn相同的值。
LC_MONETARY定义以字符串END LC_MONETARY结尾。
LC_NAME
该定义在第一列中以字符串LC_NAME开头。
允许使用各种关键字,但仅name_fmt是必需的。仅当在该区域设置中使用通用称呼时,才需要其他关键字。允许的关键字如下:
- name_fmt
- followed by a string containing field descriptors that define
the format used for names in the locale.
The following field descriptors are recognized:
- %f
- 姓氏)。
- %F
- 大写的姓氏。
- %g
- 第一个名字。
- %G
- 首先给出首字母。
- %l
- 以拉丁字母开头的名字。
- %o
- 其他简称。
- %m
- 其他给定名称。
- %M
- 其他给定名称的缩写。
- %p
- 职业。
- %s
- 称呼,例如" Doctor"。
- %S
- 缩写称呼,例如"先生"。或"博士"。
- %d
- 称呼,使用FDCC-sets约定。
- %t
- 如果前面的字段描述符产生空字符串,则为空字符串,否则为空格字符。
- name_gen
- 其次是任何性别的称呼。
- name_mr
- 其次是对男人的致敬。
- name_mrs
- 其次是对已婚妇女的称呼。
- name_miss
- 其次是未婚妇女的称呼。
- name_ms
- 其次是对所有妇女有效的称呼。
LC_NAME定义以字符串END LC_NAME结尾。
LC_NUMERIC
该定义以第一列中的字符串LC_NUMERIC开头。
允许使用以下关键字:
- decimal_point
- 后跟将用作格式化数字量时用作十进制分隔符的字符串。
- thousands_sep
- 后跟将在格式化数字量时用作组分隔符的字符串。
- grouping
- 其后是由分号分隔的整数序列,这些整数描述数字量的格式。
- 每个整数指定组中的位数。第一个整数定义了紧邻小数定界符左侧的组的大小。后续整数定义前一组左侧的后续组。如果最后一个整数不为-1,则前一组的大小(如果有)将重复用于其余数字。如果最后一个整数为-1,则不执行进一步的分组。
LC_NUMERIC定义以字符串END LC_NUMERIC结尾。
LC_PAPER
该定义以第一列中的字符串LC_PAPER开头。
允许使用以下关键字:
- height
- 然后是标准纸张格式的高度(以毫米为单位)。
- width
- 然后是标准纸张格式的宽度(以毫米为单位)。
LC_PAPER定义以字符串END LC_PAPER结尾。
LC_TELEPHONE
该定义以第一列中的字符串LC_TELEPHONE开头。
允许使用以下关键字:
- tel_int_fmt
- followed by a string that contains field descriptors that identify
the format used to dial international numbers.
The following field descriptors are recognized:
- %a
- 没有全国性前缀的区域代码(前缀通常为" 00")。
- %A
- 区号,包括全国前缀。
- %l
- 本地号码(在区号内)。
- %e
- 分机(至本地号码)。
- %c
- 国家代码。
- %C
- 用于拨打国外电话的备用运营商服务代码。
- %t
- 如果前面的字段描述符产生空字符串,则为空字符串,否则为空格字符。
- tel_dom_fmt
- 后跟一个包含字段描述符的字符串,该字段描述符标识用于拨打国内电话号码的格式。识别的字段描述符与tel_int_fmt相同。
- int_select
- 后跟用于拨打国际电话号码的前缀。
- int_prefix
- 然后是其他国家/地区用来拨打该国家/地区的前缀。
LC_TELEPHONE定义以字符串END LC_TELEPHONE结尾。
LC_TIME
该定义以第一列中的字符串LC_TIME开头。
允许使用以下关键字:
- abday
- 然后是星期几的缩写名称列表。该列表从按周指定的一周的第一天开始(默认为星期日)。请参阅注释。
- day
- 然后是星期几的名称列表。该列表从按周指定的一周的第一天开始(默认为星期日)。请参阅注释。
- abmon
- 然后是缩写的月份名称列表。
- mon
- 然后是月份名称列表。
- d_t_fmt
- 后跟适当的日期和时间格式(有关语法,请参见strftime(3))。
- d_fmt
- 后跟适当的日期格式(有关语法,请参见strftime(3))。
- t_fmt
- 后跟适当的时间格式(有关语法,请参见strftime(3))。
- am_pm
- 然后是am和pm字符串的适当表示。对于不使用AM / PM约定的语言环境,应将其保留为空。
- t_fmt_ampm
- 当使用12h时钟格式时,后跟适当的时间格式(有关语法,请参见strftime(3))。对于不使用AM / PM约定的语言环境,应将其保留为空。
- era
- followed by semicolon-separated strings that define how years are
counted and displayed for each era in the locale.
Each string has the following format:
方向:偏移:开始日期:结束日期:时代名称:时代格式
字段定义如下:
- direction
- +或-。 +表示距start_date更近的年份的数字比距end_date更近的年份的数字少。 -表示相反。
- offset
- 时代中最接近start_date的年份数,对应于%Ey描述符(请参阅strptime(3))。
- start_date
- 时代的开始是以yyyy / mm / dd的形式。公元1之前的年份以负数表示。
- end_date
- 时代的结束,格式为yyyy / mm / dd,或者是-*或+ *的两个特殊值之一。 -*表示结束日期是时间的开始。 + *表示结束日期是时间的结束。
- 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(since glibc 2.2)
- 然后是日期列表中的天数,将其显示为日历应用程序中的一周的第一天。默认值1对应于星期日或星期一,具体取决于第二周列表项的值。请参阅注释。
- first_workday(since glibc 2.2)
- 然后是日期列表中第一个工作日的编号。默认值为2。请参见NOTES。
- cal_direction
- followed by a number value that indicates the direction for the
display of calendar dates, as follows:
- 1
- 从上到左。
- 2
- 从左至上。
- 3
- 从上到右。
- date_fmt
- 后跟date(1)的适当日期表示形式(有关语法,请参见strftime(3))。
LC_TIME定义以字符串END LC_TIME结尾。
文件
- /usr/lib/locale/locale-archive
- 通常的默认语言环境存档位置。
- /usr/share/i18n/locales
- 语言环境定义文件的通常默认路径。
遵循规范
POSIX.2。
备注
有关abday,day,week,first_weekday和first_workday的GNU C库社区集体智慧,请访问https://sourceware.org/glibc/wiki/Locales,其内容如下:
- *
- 第二周列表项的值指定abday和day列表的基础。
- *
- first_weekday指定abday和天列表中一周中第一天的偏移量。
- *
- 出于兼容性原因,所有glibc语言环境都应将第二周列表项的值设置为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)
出版信息
这个页面是Linux手册页项目5.08版的一部分。有关项目的说明、有关报告错误的信息以及此页面的最新版本,请访问https://www.kernel.org/doc/man-pages/。