用户可以使用 shell 环境变量来更改他们的语言环境设置。每个种类命名一个现有的语言环境。setlocale () 函数直接设置或查询这些种类的设置。 国际化函数使用这些设置来访问与所需语言环境相对应的表。
环境变量可以间接设置种类: 当 setlocale() 将种类设置为缺省设置时,它使用每个环境变量的设置来设置关联的种类。 setlocale() 函数不更改环境变量的设置,它只是读取它们的设置。
可以采用下列步骤更改系统范围的缺省语言环境。
编辑 /etc/default/init 文件,添加或更改下行。
用 C、zh、zh.GBK 、zh_CN.GB18030 或 zh.UTF-8 替代 语言环境。
LANG=locale |
让所有用户退出 CDE。
键入下列命令:
% su # /usr/dt/bin/dtconfig -kill |
键入下列命令:
% su # reboot |
术语“语言环境”和“种类”有如下关系:
语言环境包括语言、地域、编码集和其他功能的规范。 简体中文 Solaris 操作环境包括以下语言环境:
C
—对于 ASCII
英文环境,语言环境必须设置为 C
。
zh
—对于 EUC
中的简体中文环境,语言环境必须设置为 zh
。
zh.GBK
—对于
GBK 中的简体中文环境,语言环境必须设置为 zh.GBK
。
zh.UTF-8
—对于 Unicode 中的简体中文环境,语言环境必须设置为 zh.UTF-8
。
zh_CN.GB18030
—对于 GB18030-2000 中的简体中文环境,语言环境必须设置为 zh_CN.GB18030
。
种类是构成语言环境的功能集。 例如字符显示或时间/日期表示,它们的行为取决于 locale。 简体中文 Solaris 种类包括:
LC_CTYPE
设置字符类型以便分类和转换。
LC_TIME
为日期和时间表示设置语言环境。
LC_NUMERIC
设置数字表示语言环境(也用于 I/O)。
LC_MONETARY
设置货币表示语言环境。
LC_MESSAGES
为用户消息设置语言环境。
LC_COLLATE
设置与语言环境有关的字符串排序。
环境变量 LC_ALL
为所有种类显式设置相同的语言环境;
它具有最高的优先级。 如果未设置种类或 LC_ALL
,LANG
环境变量将确定种类设置。
在 C shell 级,每个环境变量都可以由 shell 命令设置为 locale(对于
ASCII 为 C
,对于 EUC 中的简体中文为 zh
,对于 GBK 中的简体中文为 zh.GBK
,对于 GB18030-2000 中的简体中文为 zh_CN.GB18030,对于
Unicode 中的简体中文为 zh.UTF-8 ),如下所示:
C shell 用户可以输入如下 shell 命令:
system% setenv LC_TIME locale |
Bourne shell (sh) 用户可以使用 set 或 export:
$ set -a LC_TIME$ LC_TIME=locale |
或
$ LC_TIME=locale $ export LC_TIME |
将 zh
或 zh.GBK
、zh_CN.GB18030 或 zh.UTF-8
作为 locale 使用户的环境可以以简体中文格式和文本显示时间。 用户可以为工作环境定义混合的语言环境。
例如,字符可以以简体中文键入和转换,时间可以以法语格式显示,而消息可以以英文显示。
许多用户在单一文化环境中工作。 LC_ALL
和 LANG
环境变量设置所有种类的系统缺省值。 例如,这些 C shell 命令将所有种类的系统缺省值设置为 locale。
system% setenv LC_All locale system% setenv LANG locale |
系统管理员或用户可以设置缺省值,而 setenv 语法可以在编程时使用。
此设置在下次应用程序调用 setlocale () 将种类设置为缺省设置时生效:setlocale()( LC_
XXX ""
)