-
区域设置 编辑
区域设置 (locale)是特定于语言和地域的规则和数据的集合。区域设置包括有关排序规则、日期和时间格式设置、数字和货币约定,以及字符分类的信息。
目录
中文名:区域设置
又称:本地化策略集
领域:计算机
区域设置(locale),也称作“本地化策略集”、“本地环境”,是表达程序用户地区方面的软件设定。不同系统、平台、与软件有不同的区域设置处理方式和不同的设置范围,但是一般区域设置最少也会包括语言和地区。操作系统的区域设置通常比较复杂。区域设置的内容包括:数据格式、货币金额格式、小数点符号、千分位符号、度量衡单位、通货符号、日期写法、日历类型、文字排序、姓名格式、地址等等。
区域设置的主要目标是让用户选择最适合他自己的设定。比如用以上的Windows作比喻:在控制面板的区域和语言选择中,用户可以选择自己的字符集排序方法;当浏览文件时,系统会使用“用户选择的排序”来排列文件。
计算机中一套定义用户的语言、国家和用于定义用户希望在其用户界面上看到的各种可以改变的选择的参数集合。通常一个区域设置标识符至少包括一个语言标识符和一个区域标识符。
在UNIX和Windows中,区域设置的控制是不同的。在UNIX下,通常通过环境变量来控制区域设置。这些环境变量包括:LC_ALL, LC_CTYPE, LC_TIME, 等等。你可以通过改变这些环境变量来控制你的程序或者命令所表现出来的区域设置,前提是这些程序或者命令必须是已经被国际化的和本地化的。在Windows下,你可以通过改变控制面板上的“语言/区域”中的区域的值来设定Windows的当前用户的区域设置。
在Ubuntu操作系统中,使用man locale-gen或man locale可获得关于locale实现的细节。实际上是由glibc库实现的。
locale相关(环境)变量生效的优先顺序:
1.LANGUAGE 指定个人对语言环境值的主次偏好,例如zh_CN:en_US:en2.
LC_ALL 这不是一个环境变量,是一个可被C语言库函数setlocale设置的宏,其值可覆盖所有其他的locale设定。因此缺省时此值为空3.
LC_xxx 可设定locale各方面(category)的值,可以覆盖LANG的值。4.
LANG 指定默认使用的locale值
可以把上述环境变量设在/etc/profile 或 /etc/environment等系统初始文件中。值得注意的是,若LANG或LC_ALL被设定为 "C",那么LANGUAGE的值将被忽视。
除 C 和 POSIX这两个locale名称外,locale的名称并未标准化。Linux平台与Windows系统的locale名称有很大不同。Linux名称的命名规则为:
language]
其中language是ISO 639-1标准中定义的语言代码,territory是ISO 3166-1标准中定义的国家和地区代码,codeset是字符集的名称 (如 UTF-8等),而 modifier 则是某些 locale 变体的修正符。
bash中的使用示例:
$ LC_TIME=en_US.UTF-8 dateFri Oct 31 19:51:16 CST 2014$ LC_TIME=fi_FI.UTF-8 datepe 31.10.2014 19.52.00 +0800$ LC_TIME=zh_CN.UTF-8 date
Windows SDK规定,“语言”是与沟通有关的一组属性的集合,包括所有允许的字符、通货符号、日期时间格式等等。每个“语言”有一个语言名字与语言标识符。语言往往还需要指出国家/地区,如“英语(美国)”使用的语言名字是“en-US”。
每个区域设置(locale)是一个“语言”及一个排序规则。Windows XP支持超过150个区域设置(locale);Windows Vista支持超过200个区域设置(locale);Windows 7支持至少365个区域设置(locale)。每个区域设置(locale)有区域设置(locale)名字与区域设置(locale)标识符。例如:"de-DE_phoneb"是德国德语使用德式电话薄排序规则(该排序规则与拉丁字母序稍有不同)。
1、本站所有文本、信息、视频文件等,仅代表本站观点或作者本人观点,请网友谨慎参考使用。
2、本站信息均为作者提供和网友推荐收集整理而来,仅供学习和研究使用。
3、对任何由于使用本站内容而引起的诉讼、纠纷,本站不承担任何责任。
4、如有侵犯你版权的,请来信(邮箱:baike52199@gmail.com)指出,核实后,本站将立即删除。