简体中文 Solaris 系统管理员指南

第 2 章 系统环境

用户可以使用 shell 环境变量来更改他们的语言环境设置。每个种类命名一个现有的语言环境。setlocale () 函数直接设置或查询这些种类的设置。 国际化函数使用这些设置来访问与所需语言环境相对应的表。

环境变量可以间接设置种类: 当 setlocale() 将种类设置为缺省设置时,它使用每个环境变量的设置来设置关联的种类。 setlocale() 函数不更改环境变量的设置,它只是读取它们的设置。

更改缺省语言环境

可以采用下列步骤更改系统范围的缺省语言环境。

  1. 编辑 /etc/default/init 文件,添加或更改下行。

    Czhzh.GBK zh_CN.GB18030zh.UTF-8 替代 语言环境


    LANG=locale 
    
  2. 让所有用户退出 CDE。

  3. 键入下列命令:


    % su
    # /usr/dt/bin/dtconfig -kill
    
  4. 键入下列命令:


    % su
    # reboot
    

语言环境和种类术语

术语“语言环境”和“种类”有如下关系:

环境变量 LC_ALL 为所有种类显式设置相同的语言环境; 它具有最高的优先级。 如果未设置种类或 LC_ALLLANG 环境变量将确定种类设置。

与简体中文 Solaris 本地化工具相互作用

在 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) 用户可以使用 setexport


$ set -a LC_TIME$ LC_TIME=locale 


$ LC_TIME=locale
$ export LC_TIME 

zhzh.GBKzh_CN.GB18030zh.UTF-8 作为 locale 使用户的环境可以以简体中文格式和文本显示时间。 用户可以为工作环境定义混合的语言环境。 例如,字符可以以简体中文键入和转换,时间可以以法语格式显示,而消息可以以英文显示。

许多用户在单一文化环境中工作。 LC_ALLLANG 环境变量设置所有种类的系统缺省值。 例如,这些 C shell 命令将所有种类的系统缺省值设置为 locale


system% setenv LC_All locale
system% setenv LANG locale 

系统管理员或用户可以设置缺省值,而 setenv 语法可以在编程时使用。

此设置在下次应用程序调用 setlocale () 将种类设置为缺省设置时生效:setlocale()( LC_XXX "")