地區設定名稱
地區設定 名稱是以 IETF BCP BCP 47(Windows Vista 和更新版本)的語言標記慣例為基礎,並以 LOCALE_SNAME表示。 一般而言,會使用模式 <language>-<REGION>
。 在這裡,語言是小寫 ISO 639 語言代碼。 ISO 639-1 中的程式代碼會在可用時使用。 否則,會使用來自 ISO 639-2/T 的代碼。 REGION 指定大寫 ISO 3166-1 國家/地區標識符。 例如,英文(美國)的地區設定名稱是“en-US”,而迪維希(馬爾地夫)的地區設定名稱是“dv-MV”。
注意
常數 LOCALE_NAME_MAX_LENGTH 提供地區設定名稱的最大長度。 它包含終止 Null 字元的空間。
如果地區設定是中性地區設定(無區域),則 LOCALE_SNAME 值會遵循模式 <language>
。 如果它是文稿很重要的中性地區設定,則模式會 <language>-<Script>
。
如果地區設定必須使用不同的腳本來區分相同語言和區域的另一個地區設定,則LOCALE_SNAME值會遵循模式 <language>-<Script>-<REGION>
,其中 Script 是初始大寫 ISO 15924 腳本程序代碼。 例如,特定地區設定烏茲別克(拉丁,烏茲別克)的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指定為「胡-胡_technl」。。
針對 取代地區設定,地區設定名稱必須與所取代地區設定的名稱相同。 針對補充地區設定,地區設定名稱應遵循 <language>-<REGION>-x-<custom>
或 <language>-<Script>-<REGION>-x-<custom>
模式,其中 <custom>
是補充地區設定特有的英數位元字串。 例如,稱為 Fabricam 之公司特有的補充地區設定可能稱為 「en-US-x-fabricam」。。
應用程式可以使用 getSystemDefaultLocaleName 和 GetUserDefaultLocaleName 函式來擷取目前的地區設定名稱。 雖然每個線程都可以使用 GetThreadLocale 來擷取並設定自己的地區設定標識子,並使用 setThreadLocale加以設定,但沒有任何類似的函式可依名稱取得和設定地區設定。