LOCALE - Linux手册页

时间:2019-08-20 18:01:49  来源:igfitidea点击:

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的字符。
print
然后是可打印字符的列表,包括该字符。会自动包含定义为上,下,字母,数字,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
然后是维护此文档的组织的联系人姓名。
email
然后是维护此文档的人员或组织的电子邮件地址。
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。

备注

有关abdaydayweek,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/