跳过导航链接 | |
退出打印视图 | |
![]() |
Oracle Solaris 11.1 国际语言环境指南 Oracle Solaris 11.1 Information Library (简体中文) |
应用程序的一个重要概念是程序语言环境的概念。语言环境是指本机语言环境的显式模型和定义。POSIX 标准(可通过 http://opengroup.org 进行访问)中明确定义并包含了语言环境的概念。
语言环境包括许多类别,对于这些类别,存在与国家/地区有关的格式设置或其他规范。程序的语言环境用于定义其代码集、日期和时间格式设置约定、货币约定、十进制格式设置约定和整理(排序)顺序。
语言环境名称可以由基本语言、使用国家(地区)和代码集组成。例如,德文为 de(Deutsch 的缩写),而瑞士德文为 de_CH(CH 是 Confederation Helvetica 的缩写)。通过此约定,可以区分国家/地区之间的特定差异,如货币单位表示法。在 Oracle Solaris 11 中,缺省语言环境代码集为 UTF-8,这是 Unicode 的一种 ASCII 兼容 8 位编码形式。因此,瑞士德文的完整定义语言环境名称将为 de_CH.UTF-8。
可以将多个语言环境与特定语言进行关联,这样便能够区分地区差异。例如,美国的英文用户可以选择 en_US.UTF-8 语言环境(美国英文),而英国的英文用户可选择 en_GB.UTF-8(英国英文)。
通常,语言环境名称由 LANG 环境变量指定。语言环境类别从属于 LANG,但也可单独设置(在这种情况下,它们将覆盖 LANG)。如果设置了 LC_ALL 环境变量,则它会覆盖 LANG 和所有不同的语言环境类别。
语言环境命名约定如下:
language[_territory][.codeset][@modifier]
其中,双字母语言代码来自 ISO 639,双字母 territory 代码来自 ISO 3166,codeset 是语言环境中使用的代码集的名称,而 modifier 是将语言环境与不带修饰符的语言环境相区分的特征名称。
所有 Oracle Solaris 产品语言环境都保留了具有 US-ASCII 代码值的可移植字符集字符。
有关可移植字符集的更多信息,请参阅“X/Open CAE 规范:系统接口定义,第 5 期”(ISBN 1-85912-186-1)。
一个语言环境可以有多个语言环境名称。例如,POSIX 与 C 是相同的语言环境。
C 语言环境也称为 POSIX 语言环境,该语言环境是符合 POSIX 标准的所有系统的 POSIX 系统缺省语言环境。Oracle Solaris 操作系统 是 POSIX 系统。单一 UNIX 规范版本 3 定义了 C 语言环境。您可以在 http://www.unix.org/version3/online.html 中进行注册,以读取和下载该规范。
您可以采用以下两种方式指定要在 C 语言环境中运行的国际化程序:
取消对所有语言环境的环境变量的设置。在 C 语言环境中运行应用程序。
$ unset LC_ALL LANG LC_CTYPE LC_COLLATE LC_NUMERIC LC_TIME LC_MONETARY LC_MESSAGES
将语言环境显式设置为 C 或 POSIX。
$ export LC_ALL=C $ export LANG=C
某些应用程序会检查 LANG 环境变量,而不是实际调用 setlocale(3C) 来引用当前语言环境。在这种情况下,可通过指定 LC_ALL 和 LANG 语言环境的环境变量将 Shell 显式设置为 C 语言环境。有关语言环境的环境变量之间的优先级关系,请参见 setlocale(3C) 手册页。
要检查终端环境中的当前语言环境设置,请运行 locale(1) 命令。
$ locale LANG=C LC_CTYPE="C" LC_NUMERIC="C" LC_TIME="C" LC_COLLATE="C" LC_MONETARY="C" LC_MESSAGES="C" LC_ALL=
字符分类和大小写转换。
指定日期和时间格式,包括月份名称、每周日期以及通用的完整表示法和缩写表示法。
指定货币格式,包括语言环境的货币符号、千位分隔符、符号位置、小数位数等。
指定十进制分隔符(或基数字符)、千位分隔符和分组。
指定语言环境的整理顺序和正则表达式定义。
指定编写本地化信息所用的语言及语言环境的肯定和否定响应(yes 和 no 字符串与表达式)。
指定提供有关语言渲染信息的布局引擎。语言渲染(或文本渲染)取决于书写体的形状和方向属性。
下表列出了 Oracle Solaris 11 核心语言环境:
表 1-1 语言和核心语言环境
|
与额外安装的其他语言环境相比,核心语言环境的本地化程度更高。Oracle Solaris OS 组件(如安装程序或软件包管理器)仅在核心语言环境中本地化,而第三方软件(如 GNOME 或 Firefox)的本地化信息通常可用于大多数语言环境。
只要存在相关语言和应用程序的本地化信息,Oracle Solaris 环境中的所有语言环境就可以显示本地化信息。可以通过修改 pkg facet 属性,从安装系统信息库将其他语言环境(包括其所有可用本地化信息)添加到系统中。有关更多信息,请参见安装其他语言环境。