地區設定和語言

「語言」一詞表示在口語和撰寫通訊中使用的屬性集合。 每個語言都有語言名稱和語言識別項,指出特定 字碼頁 (ANSI、DOS、Macintosh) ,用來代表作業系統上語言的 地理位置 。 中性語言以英文名稱表示,例如 「en」。 更地理位置的特定語言可以透過名稱來表示,其中包含地區設定和國家/地區資訊。 例如,地區設定英文 (美國) 具有語言名稱 「en-US」。

「locale」 是語言相關使用者喜好設定資訊的集合,以值清單表示。 Windows XP 支援超過 150 個地區設定,而 Windows Vista 支援大約 200 個地區設定。 每個地區設定都是由語言和排序次序所定義,而且同時具有地區設定名稱和地區設定識別碼。 德文 (德國) 的地區設定名稱範例為 「de-DE_phonebook」。

每個作業系統至少有一個已安裝的地區設定,而且通常有許多地區設定可供使用者選取。 每個地區設定都有與其相關聯的各種資訊,而不是其名稱和識別碼。 地區設定資訊類型會在 地區設定資訊常數中描述。

作業系統會將地區設定指派給每個執行緒,一開始會指派 LOCALE_SYSTEM_DEFAULT所定義的「系統預設地區設定」。 當安裝作業系統時,或當使用者使用主控台的區域和語言選項部分選取此地區設定時,就會設定此地區設定。 在屬於使用者的進程中執行執行緒時,作業系統會將「使用者預設地區設定」指派給執行緒。 這個地區設定是由 LOCALE_USER_DEFAULT所定義。 應用程式可以使用 SetThreadLocale 函式來明確設定執行緒的地區設定,以覆寫任一預設。

語言的實作需要對應的地區設定。 作業系統會藉由選取與特定語言版本相關聯的地區設定資料來實作中性語言,通常是最廣泛的地區設定。

從 Windows Vista 開始,特定語言可以對應至補充地區設定,這是自訂地區設定的類型。 由於補充地區設定全都會共用單一地區設定識別碼,因此您的應用程式應該依名稱來處理這些地區設定和對應的語言,而不是依識別碼來處理。

語言概念與地區設定概念緊密相關,但兩個詞彙不可交換。 一般規則是,與 多語系使用者介面 相關的函式會處理語言,而 NLS 函式則處理地區設定。

這一節涵蓋下列主題:

關於國家語言支援

字碼頁

地區設定資訊常數

多語系使用者介面

地理位置資料表

使用者介面語言管理

SetThreadLocale