國際化程式設計中Locale相關概念的一些解釋
Locales
一般常用的並且容易造成混淆的Locale有3種:System Locale, User Locale, Thread Locale
1. System Locale:系統區域設定。決定了非Unicode程式所使用的內碼表,如下:
System Locale對應的Code Page可以用GetACP和GetOEMCP來獲得。System Locale無法被API修改 ,但是可以用GetSystemDefaultLCID和GetSystemDefaultLangID獲得。LCID和LangID後面會解釋。
2. User Locale:使用者區域設定,決定了各種標準和格式的定義,如數字,日期等,如下:
User Locale是不能被API修改的,只能由使用者設定。可以通過GetUserDefaultLCID和GetUserDefaultLangID獲得。同樣的,區別後面會提到。
3. Thread Locale:執行緒相關的區域。初始值為當前的User Locale,可以使用GetThreadLocale和SetThreadLocale獲取和修改。
LANGID & LCID
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 |
Blog: http://blog.csdn.net/atfield
轉載請註明出處
相關文章
- 一些程式設計相關的分享程式設計
- C#並行程式設計-相關概念C#並行行程程式設計
- Dart 非同步程式設計相關概念簡述Dart非同步程式設計
- springboot~國際化Locale正確的姿勢Spring Boot
- 關於 Angular 程式設計中的 shim 概念Angular程式設計
- 【系統設計】併發相關概念
- locale 詳解 字符集概念
- parallel並行度的相關操作、概念、引數解釋Parallel並行
- Python 函數語言程式設計、裝飾器以及一些相關概念簡介Python函數程式設計
- 關於locale的設定
- IPsec相關的一些基本概念
- 與Windows Phone 7 相關的一些概念Windows
- rust程式設計(3)結構體相關概念和疑問Rust程式設計結構體
- redis持久化相關引數解釋Redis持久化
- 好程式設計師Java學習路線分享JVM相關概念程式設計師JavaJVM
- Java中的國際化Java
- 中軟國際Java程式設計師筆試題Java程式設計師筆試
- 領域驅動設計的概念解釋 -DEVdev
- 整理了一些前端設計相關的網站前端網站
- JS的相關概念JS
- 漏洞安全相關概念解釋?網路安全入門學習
- 程式設計中的一些感悟程式設計
- 關於程式設計的一些反思程式設計
- (轉)執行計劃相關概念
- 計算機指令集的相關概念計算機
- 程式設計師的相關笑話(一)程式設計師
- 一些關係(離散數學中的)的程式設計思想程式設計
- Docker相關概念Docker
- Scrum相關概念Scrum
- oracle相關術語的解釋Oracle
- Java開發程式設計師:JVM相關的知識講解Java程式設計師JVM
- Data Guard相關的一些設定
- 關於分散式計算的一些概念分散式
- 『現學現忘』Docker相關概念 — 4、虛擬化概念Docker
- 最近關於程式設計的一些反思程式設計
- 詳解BetterZip對壓縮包註釋的一些相關小功能
- Oracle優化相關的一些引數Oracle優化
- 元件庫設計實戰系列:國際化方案元件