locales
一般常用的並且容易造成混淆的
locale有3
種:system locale, user locale, thread locale
1.system locale
:系統區域設定。決定了非
unicode
程式所使用的**頁,如下:
對應的code page
可以用getacp
和getoemcp
來獲得。
system locale
無法被api
修改,但是可以用
getsystemdefaultlcid
和getsystemdefaultlangid
獲得。lcid
和langid
後面會解釋。
2.user locale
:使用者區域設定,決定了各種標準和格式的定義,如數字,日期等,如下:
是不能被
api修改的,只能由使用者設定。可以通過
getuserdefaultlcid
和getuserdefaultlangid
獲得。同樣的,區別後面會提到。
3.thread locale
:執行緒相關的區域。初始值為當前的
user locale
,可以使用
getthreadlocale
和setthreadlocale
獲取和修改。
1.langid:
language id
,也就是語言
id。代表不同的語言,比如
english
,chinese
,等等。
lang id (16 bit)=primary language id(10 bit) + sub language id(6 bit)
,如下:
sub language id:6
primary language id:10
primarylanguage
代表主語言,比如英語
sub language
代表子語言,也就是語言的亞種,如美式英語
(en-us)
,或者英式英語
(en-gb)
,對應的子語言為
us/gb
。 2.
lcid:
locale identifier
,代表locale
資訊,等價於
langid (16 bit) + sort id (4bit) + reserved (12)
,如下:
reserved : 16
sort id : 4
lang id: 16
作者: atfield
國際化程式設計中Locale相關概念的一些解釋
locales 一般常用的並且容易造成混淆的 locale有3 種 system locale,user locale,thread locale 1.system locale 系統區域設定。決定了非 unicode 程式所使用的 頁,如下 對應的code page 可以用getacp 和geto...
國際化程式設計中Locale相關概念的一些解釋
locales 一般常用的並且容易造成混淆的 locale有3 種 system locale,user locale,thread locale 1.system locale 系統區域設定。決定了非 unicode 程式所使用的 頁,如下 對應的code page 可以用getacp 和geto...
國際化程式設計中Locale相關概念的一些解釋
locales 一般常用的並且容易造成混淆的 locale有3 種 system locale,user locale,thread locale 1.system locale 系統區域設定。決定了非 unicode 程式所使用的 頁,如下 對應的code page 可以用getacp 和geto...