区域设置名称

区域设置 名称基于 IETF 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>,其中脚本是初始大写 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”。

应用程序可以使用 GetSystemDefaultLocaleNameGetUserDefaultLocaleName 函数检索当前区域设置名称。 虽然每个线程可以使用 GetThreadLocale 检索和设置自己的区域设置标识符,并使用 setThreadLocale设置它,但没有类似的函数可以按名称获取和设置区域设置。

区域设置和语言

自定义区域设置

区域设置标识符

排序顺序标识符