地區設定名稱
地區設定名稱是以IETF BCP 47 ( Windows Vista 和更新版本) 的語言標記慣例為基礎,並以LOCALE_SNAME表示。 一般而言,會使用模式 <language>-<REGION>
。 在這裡,語言是小寫 ISO 639 語言代碼。 ISO 639-1 中的代碼可在可用時使用。 否則,會使用 ISO 639-2/T 中的代碼。 REGION 指定大寫 ISO 3166-1 國家/地區識別碼。 例如,英文 (美國) 的地區設定名稱是 「en-US」,而 Divehi 的地區設定名稱 () 為 「dv-MV」。
注意
常 數LOCALE_NAME_MAX_LENGTH 提供地區設定名稱的最大長度。 它包含終止 Null 字元的空間。
如果地區設定是中性地區設定, (沒有區域) , 則LOCALE_SNAME 值會遵循模式 <language>
。 如果它是相當重要的腳本中性地區設定,則模式為 <language>-<Script>
。
如果地區設定必須使用不同的腳本來區分相同語言和區域的另一個地區設定,則LOCALE_SNAME值會遵循模式 <language>-<Script>-<REGION>
,其中 Script 是初始大寫 ISO 15924 腳本程式碼。 例如,特定地區設定 Uzbek (Latin 的LOCALE_SNAME值,) 是 「uz-Latn-UZ」。 腳本元件不包含在語言通常只以一個腳本撰寫的情況下。
地區設定的 排序次序是使用排序次序識別碼來指定,例如,SORT_DEFAULT。 若要區分相同語言和區域的兩個或多個排序次序,地區設定名稱會遵循模式 <language>-<REGION>\_<sort order>
。 如果您必須區分腳本和排序次序,則名稱會遵循模式 <language>-<Script>-<REGION>\_<sort order>
。 預設排序次序永遠不會明確指定,只有替代排序次序。 例如,以SORT_DEFAULT或數值相等的SORT_HUNGARIAN_DEFAULT指定為 「hu-HU」 的匈牙利 (匈牙利) 。 匈牙利文 (匈牙利) ,並指定排序次序SORT_HUNGARIAN_TECHNICAL 「hu-HU_technl」。
針對 取代地區設定,地區設定名稱必須與所取代地區設定的名稱相同。 針對補充地區設定,地區設定名稱應遵循 或 <language>-<Script>-<REGION>-x-<custom>
的 <language>-<REGION>-x-<custom>
模式,其中 <custom>
是補充地區設定特有的英數位元字串。 例如,名為 Fabricam 之公司特有的補充地區設定可能稱為 「en-US-x-fabricam」。
應用程式可以使用 GetSystemDefaultLocaleName 和 GetUserDefaultLocaleName 函式來擷取目前的地區設定名稱。 雖然每個執行緒都可以使用 GetThreadLocale 擷取和設定自己的地區設定識別碼,並使用 SetThreadLocale加以設定,但沒有類似的函式可依名稱取得和設定地區設定。