Имена языкового стандарта
Имя языкового стандарта основано на соглашениях о тегах языка IETF BCP 47 (Windows Vista и более поздних версий) и представлен LOCALE_SNAME. Как правило, используется шаблон <language>-<REGION>
. Здесь язык является строчным кодом ISO 639. Коды iso 639-1 используются при наличии. В противном случае используются коды из ISO 639-2/T. РЕГИОН задает идентификатор страны или региона 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 обозначается как "hu-HU_technl".
Для замены языкового стандартаимя языкового стандарта должно совпадать с именем заменяемого языкового стандарта. Для дополнительного языкового стандарта имя языкового стандарта должно соответствовать шаблону <language>-<REGION>-x-<custom>
или <language>-<Script>-<REGION>-x-<custom>
, где <custom>
является буквенно-цифровой строкой, конкретной для дополнительного языкового стандарта. Например, дополнительный языковой стандарт, характерный для компании Fabricam, может называться "en-US-x-fabricam".
Приложение может получить текущие имена языкового стандарта с помощью функций GetSystemDefaultLocaleName и GetUserDefaultLocaleName. Хотя каждый поток может получить и задать собственный идентификатор языкового стандарта с GetThreadLocale и задать его SetThreadLocale, для получения и задания языкового стандарта по имени нет аналоговых функций.
Связанные разделы
пользовательских языковых стандартов