Traditional Chinese Solaris System Administrator's Guide

Chapter 2 System Environment

Users can change their locale settings with shell environment variables. Each category names an existing locale. The setlocale() function directly sets or queries the setting of these categories. Internationalized functions use these settings to access the appropriate tables for the desired locale.

Environment variables can indirectly set the categories: when setlocale() sets the categories to the default setting for that site, it uses the setting of each environment variable to set the associated categories. The setlocale() function does not change the settings of environment variables, it only reads their settings.

Changing the Default Locale

You can change the default locale system-wide with the following procedure.

  1. Edit the /etc/default/init file by adding or changing the line.

    Substitute C, zh_TW zh_TW.BIG5, zh_TW.UTF-8, zh_HK.BIG5HK or zh_HK.UTF-8 for locale.


    LANG=locale 
    
  2. Have all users exit CDE.

  3. Type the following commands:


    % su
    # /usr/dt/bin/dtconfig -kill
    
  4. Type the following commands:


    % su
    # reboot
    

Locale and Category Terminology

The terms locale and category relate to each other as follows:

The environmental variable LC_ALL explicitly sets the same locale for all categories; it has the highest priority. If categories or LC_ALL are not set, the LANG environmental variable will determine the category setting.

Interfacing With the Traditional Chinese Solaris Localization Facility

At the C shell level, each environment variable can be set to locale (zh_TW, zh_TW.BIG5, zh_TW.UTF-8, zh_HK.BIG5HK or zh_HK.UTF-8for Traditional Chinese, or C for ASCII) by a shell command as follows:

    C shell users can enter a shell command as follows:


system% setenv LC_TIME locale 

    Bourne shell (sh) users can use set or export:


$ set -a LC_TIME
$ LC_TIME=locale 

or


$ LC_TIME=locale
$ export LC_TIME 

Making zh_TW, zh_TW.BIG5, zh_TW.UTF-8, zh_HK.BIG5HK or zh_HK.UTF-8the locale allows the user's environment to display time in Traditional Chinese format and text. A user can also define a mix of locales for the working environment. For example, characters can be typed and converted in Traditional Chinese, time can be displayed in French format, and messages can appear in English.

Many users work in a single cultural environment. The LC_ALL and LANG environment variables set the system default for all categories. For example, these C shell commands set the system default for all categories to locale.


system% setenv LC_ALL locale
system% setenv LANG locale 

System administrators or users can set the default and the setenv syntax can be used in programming.

This setting is put into effect the next time a setlocale() function call in an application program line sets a category to the default setting: setlocale(LC_XXX"" )