Языковые и региональные параметры, созданные на основе языковых стандартов Windows
Поддержка глобализации в .NET Framework предполагает автоматическое создание языка и региональных параметров, соответствующих языковым стандартам Windows, если такой язык и параметры отсутствуют в платформе .NET Framework.
Создаваемые языки и региональные параметры
В состав Windows входит набор языковых стандартов, эквивалентных языку и региональным параметрам в платформе .NET Framework, которые определяют конкретные для языка сведения, например способы сортировки текста, форматирования даты и формат отображения чисел и денежных единиц. Кроме того, Windows поддерживает такую возможность, как (ELK), позволяющую добавлять новые языковые стандарты без установки нового выпуска операционной системы. В результате приложение сможет добавлять в Windows языковой стандарт, для которого в платформе .NET Framework отсутствуют соответствующий язык и региональные параметры.
При попытке приложения создать объект CultureInfo для языка и региональных параметров, отсутствующих в платформе .NET Framework, в то время как соответствующий языковой стандарт присутствует в Windows, .NET Framework автоматически создаст новый язык и региональные параметры на основе языкового стандарта Windows. Новый язык и региональные параметры создаются при указании приложением имени или идентификатора, после чего они могут использоваться наравне с другими языками и региональными параметрами платформы .NET Framework.
Имя созданного языка и региона состоит из языкового кода ISO 639, кода страны или региона ISO 3166 и дополнительного тега набора символов ISO 15924 для написания языка. Например, имя языка и региональных параметров для боснийского языка страны Босния и Герцеговина при использовании латинских символов написания выглядит следующим образом: "Боснийский (латиница, Босния и Герцеговина)". Полный список поддерживаемых языков и региональных параметров с именами и идентификаторами см. на странице многоязыковой поддержки центра для разработчиков Go Global(https://msdn.microsoft.com/en-us/goglobal/bb896001.aspx.
Особенности производительности
Язык и региональные параметры, созданные на основе языковых стандартов Windows, генерируются при первом вызове конструктора CultureInfo для этих параметров, причем процесс создания является длительным. Однако создание последующих объектов языка и региональных параметров не вызывает снижения производительности.
Сериализация и десериализация языка и региональных параметров — это процесс формирования двоичного представления объекта CultureInfo и последующее использование этого представления для воссоздания исходного объекта CultureInfo. Приложение может выполнять сериализацию языка и региональных параметров на одном компьютере, а десериализацию — на другом. Однако при сериализации языка и региональных параметров, извлеченных из языкового стандарта ELK, на одном компьютере создается исключение, если десериализация двоичного представления происходит на другом компьютере, где не установлен такой же языковой стандарт ELK.
Значения по умолчанию
Данные из языкового стандарта Windows используются для заполнения соответствующего свойства объекта CultureInfo, созданного на основе этого языка. Если соответствующие данные отсутствуют, для свойства используются значения по умолчанию.
Возвращаемое значение многих методов CultureInfo и некоторых свойств зависит от данных, характерных для языка и региональных параметров. Если языковой стандарт Windows не предоставляет таких данных для созданного языка и региональных параметров, то извлекаются данные языковых параметров, используемых по умолчанию. В большинстве случаев язык и региональные параметры, используемые по умолчанию, являются инвариантным языком и региональными параметрами.
В следующей таблице перечислены значения по умолчанию для свойств и язык и региональные параметры по умолчанию для методов классов CultureInfo, RegionInfo, NumberFormatInfo, CompareInfo, TextInfo и Calendar , поддерживающих язык и региональные параметры платформы .NET.
CultureInfo
Элемент |
По умолчанию |
---|---|
IsNeutralCulture |
false, поскольку в Windows отсутствуют нейтральные языки и региональные параметры. |
Parent |
Инвариантный язык и региональные параметры, поскольку в Windows отсутствуют нейтральные языки и региональные параметры. |
GetConsoleFallbackUICulture |
Инвариантный язык и региональные параметры. |
RegionInfo
Элемент |
По умолчанию |
---|---|
GeoId |
Ноль для Windows 2000 (унаследованное значение из Windows XP и более поздних версий). |
DateTimeFormatInfo
Элемент |
По умолчанию |
---|---|
GetAbbreviatedEraName |
Инвариантный язык и региональные параметры. |
GetEra |
Инвариантный язык и региональные параметры. |
GetEraName |
Инвариантный язык и региональные параметры. |
MonthDayPattern |
Инвариантный язык и региональные параметры. |
NativeCalendarName |
Инвариантный язык и региональные параметры. |
NumberFormatInfo
Элемент |
По умолчанию |
---|---|
NaNSymbol |
Инвариантный язык и региональные параметры. |
NegativeInfinitySymbol |
Инвариантный язык и региональные параметры. |
PercentDecimalDigits |
Инвариантный язык и региональные параметры. |
PercentDecimalSeparator |
Инвариантный язык и региональные параметры. |
PercentGroupSeparator |
Инвариантный язык и региональные параметры. |
PercentGroupSizes |
Инвариантный язык и региональные параметры. |
PercentNegativePattern |
Инвариантный язык и региональные параметры. |
PercentPositivePattern |
Инвариантный язык и региональные параметры. |
PercentSymbol |
Инвариантный язык и региональные параметры. |
PerMilleSymbol |
Инвариантный язык и региональные параметры. |
PositiveInfinitySymbol |
Инвариантный язык и региональные параметры. |
CompareInfo
Элемент |
По умолчанию |
---|---|
IndexOf |
(нет) |
IsPrefix |
(нет) |
IsSuffix |
(нет) |
LastIndexOf |
(нет) |
TextInfo
Элемент |
По умолчанию |
---|---|
ToTitleCase |
Тот же результат, что и для региональных параметров en-US, пока кодовая страница ANSI языковых стандартов Windows не будет представлена на турецком языке. В этом случае значение по умолчанию соответствует результату для региональных параметров tr-TR. |
Календарь
Элемент |
По умолчанию |
---|---|
Все |
Соответствующий элемент календаря, возвращенный InvariantCulture. |
Имена языков для последних версий ELK
В приложении язык и региональные параметры создаются путем определения имени или идентификатора в конструкторе CultureInfo. Ниже перечислены языки и региональные параметры Windows, присутствующие в ELK версии 1 и 2. Полный список поддерживаемых языков и региональных параметров с именами и идентификаторами см. на странице многоязыковой поддержки центра для разработчиков Go Global(https://msdn.microsoft.com/en-us/goglobal/bb896001.aspx.
Bengali (India)
Bosnian (Cyrillic, Bosnia and Herzegovina)
Bosnian (Latin, Bosnia and Herzegovina)
Croatian (Bosnia and Herzegovina)
Dari (Afghanistan)
Filipino (Phillipines)
Inuktitut (Latin, Canada)
Irish (Ireland)
isiXhosa (South Africa)
isiZulu (South Africa)
Luxembourgish (Luxembourg)
Malayalam (India)
Maltese (Malta)
Maori (New Zealand)
Mapudungun (Chile)
Mohawk (Canada)
Nepali (Nepal)
Pashto (Afghanistan)
Quechua (Bolivia)
Quechua (Ecuador)
Quechua (Peru)
Romansh (Switzerland)
Sami, Inari (Finland)
Sami, Lule (Norway)
Sami, Lule (Sweden)
Sami, Northern (Finland)
Sami, Northern (Norway)
Sami, Northern (Sweden)
Sami, Skolt (Finland)
Sami, Southern (Norway)
Sami, Southern (Sweden)
Serbian (Cyrillic, Bosnia and Herzegovina)
Serbian (Latin, Bosnia and Herzegovina)
Sesotho sa Leboa (South Africa)
Setswana (South Africa)
Upper Sorbian (Germany)
Welsh (United Kingdom)
См. также
Задачи
Практическое руководство. Создание настраиваемых региональных параметров