码迷,mamicode.com
首页 > 其他好文 > 详细

locale - 地域定义文件的描述

时间:2019-06-26 13:38:02      阅读:95      评论:0      收藏:0      [点我收藏+]

标签:src   arm   posix   oca   lower   positive   ret   组成   标记   

描述

地域 定义文件含有 localedef(1) 命令所需的全部信息.

定义文件由几个小节组成, 一个小节详细地描述地域的一个范畴.

语法

地域定义文件以一个包含有如下关键字的文件头开头:

<escape_char>
其后所跟字符在文件的其余部分被特别解释为逃逸字符, 逃逸字符缺省为反斜杠( \\ ).
<comment_char>
后面所跟字符在文件的其余部分要特别解释为注释符, 注释符缺省为数字符号( # ).

 

地域定义分成几个部分, 每个部分对应一个地域范畴, 每个部分都可以复制别的地域范畴的内容, 也可以自己重新新定义一个, 如果一个范畴想要复制别的范畴, 则在该范畴的定义里唯一有效的关键字是 copy, 其后跟随要复制的地域范畴的名字.

 

LC_CTYPE

LC_CTYPE 范畴的定义以第一栏的 LC_CTYPE 字符串开始.

可以有如下关键字:

 

upper
跟随一个大写字母列表. 字母 AZ 自动包括. 被说明为 cntrl, digit, punct,space 的字符则不允许包括.

 

lower
跟随一个小写字母列表. 字母 az 自动包括. 同样也不允许如下字符: cntrl, digit, punct, 或者 space.

 

alpha
跟随一个字母列表. 所有被说明为 upperlower 的字符都自动包括. 但如下字符仍然不允许: 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, xdigitpunct 的字符自动包括, 而被说明为 cntrl 的字符则不允许包括.

 

print
跟随一个可打印字符列表, 包括空格符 <space>. 被定义为 upper, lower, alpha, digit, xdigit, punct<space> 的字符自动包括. 而被说明为 cntrl 的字符则不被允许.

 

xdigit
跟随一个被归类为十六进制数的字符的列表. 十进制数字必须被包括, 其后还有一个或多个的升序顺序的六字符集, 缺省包括下列字符: 09, af, AF.

 

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-definition以下列行开始:

order_start

后随一个如下关键字的列表: forward, backward 或者 position. 顺序定义由一些描述顺序的行组成, 并以如下关键字终止,

order_end.

 

要得到更多细节请查阅在 /usr/lib/nls/src 里的源代码. 请注意几个例子: POSIX, Example 以及 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
其后跟随一个整数, 如果 currency_symbol 或者 int_curr_symbol 要置于格式化的货币数额前面, 该整数就为 1, 否则为 0.

 

p_sep_by_space
跟随一个整数,
0
表明在货币符号和数额之间不打印空格,
1
表明在货币符号和数额之间打印一个空格,
2
的意思是如果货币符号与数额的正号相邻的话, 其间打印一个空格,

 

n_cs_precedes
0
- 负号跟随于数额,
1
- 负号领先于数额,

 

n_sep_by_space
一个整数,设为 0 要求在 currency_symbol 或者 int_curr_symbol 和一个负的货币数额之间没有空格分隔, 设为 1 则要求在两者之间有一个空格分隔, 而设为 2 则要求在货币符号和负号之间有一个空格分隔, 如果这两者相邻的话,

 

p_sign_posn
0
意思是要用括号括住 currency_symbolint_curr_symbol. 和货币数额,
1
正号要领先于货币数额和货币符号 currency_symbolint_curr_symbol.
2
正号跟在货币数额和货币符号 currency_symbolint_curr_symbol 的后面.
3
正号领先于货币符号 currency_symbolint_curr_symbol.
4
正号跟在货币符号 currency_symbolint_curr_symbol 的后面.

 

n_sign_posn
0
意思是要用括号括住 currency_symbolint_curr_symbol. 和货币数额,
1
负号领先于货币数额及货币符号 currency_symbolint_curr_symbol.
2
负号跟在货币数量及货币符号 currency_symbolint_curr_symbol 的后面.
3
负号领先于货币符号 currency_symbolint_curr_symbol.
4
负号跟在货币符号 currency_symbolint_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
跟随一个星期名列表, 该列表以Sunday开头,
abmon
跟随一个简写的月名列表,
mon
跟随一个月名列表,
am_pm
ampm 的适当表示,
d_t_fmt
适当的日期加时间格式,
d_fmt
适当的日期格式,
t_fmt
适当的时间格式,
t_fmt_ampm
适当的时间格式(12小时格式),

 

LC_TIME 定义以字符串 END LC_TIME. 结束,

 

LC_MESSAGES

该定义以第一栏的字符串 LC_MESSAGES 开始,

可以有如下关键字:

 

yesexpr
跟随一个正则表达式, 描述可能的yes-responses.

 

noexpr
跟随一个正则表达式, 描述可能的no-responses.

 

LC_MESSAGES 定义以字符串 END LC_MESSAGES 结束.

要得到更多细节, 请查阅POSIX.2标准.

文件

/usr/lib/locale/       - 当前地域范畴设置数据库
/usr/lib/nls/charmap/*  - 字符映射文件

locale - 地域定义文件的描述

标签:src   arm   posix   oca   lower   positive   ret   组成   标记   

原文地址:https://www.cnblogs.com/fanweisheng/p/11089191.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!