Provided by: manpages-zh_1.5-1_all bug

NAME()
       locale - 描z多語言支持

SYNOPSIS()
       #include <locale.h>

DESCRIPTION(z)
       locale    就是一系列語言文化規則.     它包括如下一些方:    訊息的語言,
       不同字符設置,     文字慣例,     等等.      程式需n能夠判斷其     locale
       並根據適合於不同文化的n求來運行.

       頭檔案 <locale.h> 聲明了用於該項作業中的數據類型,函數和宏.

       它聲明的函數有:    setlocale()    用來設置當前   locale,   localeconv()
       用來獲得數字格式方悸澈H息.

       程式可能需n的本地化信息會有不同的種類;  它抭ㄔH宏的方式聲明   把它抪禨
       setlocale() 的第一荌捊茈, 就可以把其中一茬]置為需n的 locale:

       LC_COLLATE
              這用來蚹翵蝻  strcoll()strxfrm() 的執行方式, 其中 strxfrm()
              函數用來以本地化字母表進行字符串比較.    例如,   德國升半答   s
              排序為 "ss".

       LC_CTYPE
              蚹鵀r符處理分類函數如  isupper()toupper()  的執行方式, 還-
              蚹鵀h字節字符函數如 mblen() 或者 wctomb() 的執行方式.

       LC_MONETARY
              蚹鴷  localeconv()  返回的信息,   這些信息描z了數字,   以及諸如
              小數點和千進位逗號之類輸出的常見格式的細節.       這些信息由函數
              strfmon() 在內部調用.

       LC_MESSAGES
              蚹幭膆靰獄y言信息以及正Mt漯竁F方式.    GNU    C-library包含:
              rpmatch() 函數用於方便地使用這些信息.

       LC_NUMERIC
              在考慮使用     locale    設置時,蚹    printf()scanf()
              函數族使用的信息.該信息也可以由 localeconv() 函數讀取.

       LC_TIMEstrftime()    函數的執行方式以顯示適於當地格式的當前時間;
              例如,歐洲的絕大部分地區使用的是  24  小時的時鐘,  而美國則是  12
              小時的時鐘.

       LC_ALL 上z所有的.

       如果       setlocale()        的第二荌捊高,        則設置        "",
       為預設的locale,它通過以下幾步來確定:

       1.     如果有非空的環境變量 LC_ALL, 則使用 LC_ALL 的.

       2.     如果存在一蚖P上z列出的種類同名的環境變量並且其不為空,
              則使用該分類的.

       3.     如果有非空的環境變量 LANG, 則使用 LANG 的.

       關於本地數字格式的峏韞  localeconv()  函數返回的  struct   lconv   ,
       其有以下聲明:
       struct lconv
       {
       /* 數碼(非貨幣形式)信息. */

       char *decimal_point; /* 小數點字符. */
       char *thousands_sep; /* 千數的分隔符. */
       /* 每茪葛懂N是每組的阿拉伯數字;指數越高的元素在越左邊.一蚧為CHAR_MAX的元素表示不需繼續
       分組了.一蚧為0的元素表示前悸漲r符用於所有更左邊的組. */
       char *grouping;

       /* 貨幣信息. */

       /* 前三茼r符是ISO 4217定義的流通符號.
       第四茼r符是分隔符. 第太字符是' '. */
       char *int_curr_symbol;
       char *currency_symbol; /* 當地貨幣符號. */
       char *mon_decimal_point; /* 小數點字符. */
       char *mon_thousands_sep; /* 千數的分隔符. */
       char *mon_grouping; /* 如前z的'分組'元素. */
       char *positive_sign; /* 正顫. */
       char *negative_sign; /* t顫. */
       char int_frac_digits; /* 國際通用的數字. */
       char frac_digits; /* 本地使用的數字. */
       /* 如果currency_symbol後跟著一茈褥則為1,如果順序相反為0. */
       char p_cs_precedes;
       /* 如果在currency_symbol和正孜′O一茠躓瑹h為1. */
       char p_sep_by_space;
       /* 如果currency_symbol後跟著一茭h為1,如果順序相反為0. */
       char n_cs_precedes;
       /* 如果在currency_symbol和正孜′O一茠躓瑹h為1. */
       char n_sep_by_space;
       /* 正Mt顫髡鼽m:
       數量Mcurrency_symbol在圓括號內則為0.
       符號字符串先於數量Mcurrency_symbol則為1.
       符號字符串在數量Mcurrency_symbol之後則為2.
       符號字符串後緊跟數量Mcurrency_symbol則為3.
       符號字符串緊跟在數量Mcurrency_symbol之後則為4. */
       char p_sign_posn;
       char n_sign_posn;
       };

CONFORMS TO()
       POSIX.1

SEE ALSO()
       setlocale(3),   localeconv(3),   locale(1),  localedef(1),  rpmatch(3),
       strfmon(3), strcoll(3), strxfrm(3), strftime(3)

[]
       riser <boomer@ccidnet.com>

[]
       2001/07/19

mlinuxan:
       http://cmpp.linuxforum.net