区设置名称
区域设置名称基于 IETF BCP 47 ( Windows Vista 及更高版本) 的语言标记约定,并由 LOCALE_SNAME 表示。 通常使用 模式 <language>-<REGION>
。 此处,语言是小写的 ISO 639 语言代码。 ISO 639-1 中的代码在可用时使用。 否则,将使用 ISO 639-2/T 中的代码。 REGION 指定大写的 ISO 3166-1 国家/地区标识符。 例如,英语 (美国) 的区域设置名称为“en-US”,马尔代夫 (Dvhi) 的区域设置名称为“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被指定为“hu-HU_technl”。
对于 替换区域设置,区域设置名称必须与要替换的区域设置的名称相同。 对于补充区域设置,区域设置名称应遵循 或 <language>-<Script>-<REGION>-x-<custom>
的<language>-<REGION>-x-<custom>
模式,其中 <custom>
是特定于补充区域设置的字母数字字符串。 例如,特定于名为 Fabricam 的公司的区域设置可能称为“en-US-x-fabricam”。
应用程序可以使用 GetSystemDefaultLocaleName 和 GetUserDefaultLocaleName 函数检索当前区域设置名称。 虽然每个线程都可以使用 GetThreadLocale 检索和设置自己的区域设置标识符,并使用 SetThreadLocale 对其进行设置,但是没有类似的函数可以按名称获取和设置区域设置。