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

第 2 章 系统环境

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

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

改变默认语言环境

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

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

    Czhzh.GBK 代替 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 输入转换相关的 Control 命令都在 /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 "")