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

第 2 章 系统环境

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

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

改变缺省语言环境

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

  1. 通过添加或改变此行以编辑 /etc/default/init 文件。

    Czhzh.GBKzh.UTF-8 替换 locale


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

  3. 键入下列命令:


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


    % su
    # reboot
    

语言环境和种类术语

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

环境变量 LC_ALL 明确为所有种类设置相同的语言环境;它有最高级优先权。如果种类或 LC_ALL 未设置,则 LANG 环境变量将决定种类设置。

htt 输入服务器的键组合

关于简体中文窗口系统输入服务器,键组合进程把键盘上的某些键同应用程序的某些操作链接在一起。可以把应用程序的复杂操作 (例如关闭打开的窗口) 组合成单一键或一系列键,如同 CTRL-HEsc w c 一样。

所有输入转换模式下与非 ASCII 输入转换相关的控制命令都在 /usr/lib/mle/zh/data/keybind.dat 中设置。在简体中文 Solaris 用户指南第四章"简体中文的输入" 末尾的表中列出了缺省命令。

定制组合控制键

只有在 zh 语言环境下,才可用改变此文件中的键名并重新启动 htt 输入服务器的方法来更改键组合。可按如下方法制作和使用自己定制的 keybind.dat 文件:

  1. 在另一目录中制作名为 keybind.dat 的定制拷贝。

  2. 把环境变量 MLE_PATH 设置为包含这一定制文件的目录路径名。

  3. 启动输入服务器。

    然后查找 MLE_PATH 中设置的目录以寻找 keybind.dat 文件和该文件中为用户设置的命令。

    如果 MLE_PATH 未设置或不包含可使用的 keybind.dat 文件,则使用 /usr/lib/mle/zh/data/keybind.dat

    要改变键的组合,编辑组合键文件以新键代替缺省键。也可使用键组合和开/关切换。

与简体中文 Solaris 本地化设备的接口

在 C shell 级,每个环境变量都可以 shell 命令设置成语言环境 (用于 ASCII 的 C、用于 EUC 简体中文的 zh 或 GBK 简体中文的 zh.GBK) ,方法如下:

    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.GBK语言环境则让用户环境可以用简体中文格式和文本显示时间。用户可以为工作的环境定义混合的语言环境。例如,字符可以简体中文键入和转换,时间可以法文格式显示而消息可以英文显示。

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


system% setenv LC_All locale 
system% setenv LANG locale 

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

该设置在下次应用程序行调用 setlocale() 函数把种类设置为缺省设置时生效:setlocale()(LC_XXX "")