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.
You can change the default locale system-wide with the following procedure. For OpenWindows users, a default setting of zh_TW.BIG5 will revert to the C locale.
Edit the /etc/default/init file by adding or changing the line.
Substitute C, zh_TW.BIG5, zh_TW or zh_TW.UTF-8 for locale.
LANG=locale |
Have all users exit CDE.
Type the following commands:
% su # /usr/dt/bin/dtconfig -kill |
Type the following commands:
% su # reboot |
The terms locale and category relate to each other as follows:
A locale includes specification of a language, territory, code set, and other features. The Traditional Chinese Solaris operating environment includes the following locales:
C--For the ASCII English environment, the locale must be set to C.
zh_TW--For the Traditional Chinese environment in EUC, the locale must be set to zh_TW.
zh_TW.BIG5--For the Traditional Chinese environment in Big5, the locale must be set to zh_TW.BIG5.
zh_TW.UTF-8--For the Traditional Chinese environment in Unicode, the locale must be set to zh_TW.UTF-8.
A category is a set of features that comprises a locale. For example, character displays or time/date representations, whose behavior depends on the locale. Traditional Chinese Solaris categories include the following:
LC_CTYPE sets the character-type for classification and conversion.
LC_TIME sets the locale for representation of date and time.
LC_NUMERIC sets the number representation locale (used also for I/O).
LC_MONETARY sets the currency representation locale.
LC_MESSAGES sets the language locale for messages to users.
LC_COLLATE sets the locale-dependent collation of strings.
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.
In reference to theTraditional Chinese window system input server, the keybinding process links certain keys on the keyboard with certain actions by an application. You can keybind a complex action by an application, for example closing its open windows, to a single key or sequence of keys like Control-H or Esc w c.
All input conversion mode Control-key commands associated with EUC and Big5 non-ASCII input conversion are set in /usr/lib/mle/zh_TW/keybind.dat. The default commands are listed in the table in Chapter 4, "Entering Traditional Chinese Input," in Traditional Chinese Solaris User's Guide.
Keybindings can be changed by changing the names of the keys in this file and then restarting the htt input server. You can make and use your own customized keybind.dat file as follows:
Make a customized copy named keybind.dat in another directory.
Set the environment variable MLE_PATH to the path name of the directory containing this customized file.
Start the input server.
The directory set in MLE_PATH is then searched for a keybind.dat file and the commands in that file are set for the user.
If MLE_PATH is not set or does not contain a usable keybind.dat file, /usr/lib/mle/zh_TW/keybind.dat is used.
To change the keybindings, edit the keybinding file to replace default keys with new keys. Key combinations and ON/OFF toggling also can be used.
At the C shell level, each environment variable can be set to locale (zh_TW, zh_TW.BIG5 or zh_TW.UTF-8 for 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.BIG5or zh_TW.UTF-8 the 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"" )