CultureTypes Перечисление
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Определяет типы списков языка и региональных параметров, которые можно получить с помощью метода GetCultures(CultureTypes).
Это перечисление поддерживает побитовую комбинацию значений его членов.
public enum class CultureTypes
[System.Flags]
public enum CultureTypes
[System.Flags]
[System.Serializable]
public enum CultureTypes
[System.Flags]
[System.Serializable]
[System.Runtime.InteropServices.ComVisible(true)]
public enum CultureTypes
[<System.Flags>]
type CultureTypes =
[<System.Flags>]
[<System.Serializable>]
type CultureTypes =
[<System.Flags>]
[<System.Serializable>]
[<System.Runtime.InteropServices.ComVisible(true)>]
type CultureTypes =
Public Enum CultureTypes
- Наследование
- Атрибуты
Поля
| Имя | Значение | Описание |
|---|---|---|
| NeutralCultures | 1 | Язык и региональные параметры, связанные с языком, но не относятся к стране или региону. |
| SpecificCultures | 2 | Региональные параметры, относящиеся к стране или региону. |
| InstalledWin32Cultures | 4 | Этот элемент не рекомендуется. Все региональные параметры, установленные в операционной системе Windows. |
| AllCultures | 7 | Все региональные параметры, распознаваемые .NET, включая нейтральные и определенные региональные параметры и пользовательские региональные параметры, созданные пользователем. В .NET Framework 4 и более поздних версиях и .NET Core, работающих в Windows, он включает данные языка и региональных параметров, доступные в операционной системе Windows. В .NET Core, работающем в Linux и macOS, он включает данные языка и региональных параметров, определенные в библиотеках ICU. AllCultures— составное поле, включающее NeutralCulturesSpecificCulturesзначения и InstalledWin32Cultures значения. |
| UserCustomCulture | 8 | Этот элемент не рекомендуется. Пользовательские региональные параметры, созданные пользователем. |
| ReplacementCultures | 16 | Этот элемент не рекомендуется. Пользовательские региональные параметры, созданные пользователем, которые заменяют язык и региональные параметры, отправленные платформой .NET Framework. |
| WindowsOnlyCultures | 32 | Этот элемент не рекомендуется и игнорируется. |
| FrameworkCultures | 64 | Этот элемент не рекомендуется; при использовании этого значения возвращается GetCultures(CultureTypes) нейтральный и конкретный язык и региональные параметры, отправленные в .NET Framework 2.0. |
Примеры
В следующем примере показан CultureTypes.AllCultures элемент перечисления и CultureTypes свойство.
using System;
using System.Globalization;
class Sample
{
public static void Main()
{
// Get and enumerate all cultures.
var allCultures = CultureInfo.GetCultures(CultureTypes.AllCultures);
foreach (var ci in allCultures)
{
// Display the name of each culture.
Console.Write($"{ci.EnglishName} ({ci.Name}): ");
// Indicate the culture type.
if (ci.CultureTypes.HasFlag(CultureTypes.NeutralCultures))
Console.Write(" NeutralCulture");
if (ci.CultureTypes.HasFlag(CultureTypes.SpecificCultures))
Console.Write(" SpecificCulture");
Console.WriteLine();
}
}
}
/*
The following is a portion of the output from this example.
Tajik (tg): NeutralCulture
Tajik (Cyrillic) (tg-Cyrl): NeutralCulture
Tajik (Cyrillic, Tajikistan) (tg-Cyrl-TJ): SpecificCulture
Thai (th): NeutralCulture
Thai (Thailand) (th-TH): SpecificCulture
Tigrinya (ti): NeutralCulture
Tigrinya (Eritrea) (ti-ER): SpecificCulture
Tigrinya (Ethiopia) (ti-ET): SpecificCulture
Tigre (tig): NeutralCulture
Tigre (Eritrea) (tig-ER): SpecificCulture
Turkmen (tk): NeutralCulture
Turkmen (Turkmenistan) (tk-TM): SpecificCulture
Setswana (tn): NeutralCulture
Setswana (Botswana) (tn-BW): SpecificCulture
Setswana (South Africa) (tn-ZA): SpecificCulture
*/
Imports System.Globalization
Module Module1
Public Sub Main()
' Get and enumerate all cultures.
Dim allCultures = CultureInfo.GetCultures(CultureTypes.AllCultures)
For Each ci In allCultures
' Display the name of each culture.
Console.Write($"{ci.EnglishName} ({ci.Name}): ")
' Indicate the culture type.
If ci.CultureTypes.HasFlag(CultureTypes.NeutralCultures) Then
Console.Write(" NeutralCulture")
End If
If ci.CultureTypes.HasFlag(CultureTypes.SpecificCultures) Then
Console.Write(" SpecificCulture")
End If
Console.WriteLine()
Next
End Sub
End Module
' The following is a portion of the output from this example.
' Tajik (tg): NeutralCulture
' Tajik (Cyrillic) (tg-Cyrl): NeutralCulture
' Tajik (Cyrillic, Tajikistan) (tg-Cyrl-TJ): SpecificCulture
' Thai (th): NeutralCulture
' Thai (Thailand) (th-TH): SpecificCulture
' Tigrinya (ti): NeutralCulture
' Tigrinya (Eritrea) (ti-ER): SpecificCulture
' Tigrinya (Ethiopia) (ti-ET): SpecificCulture
' Tigre (tig): NeutralCulture
' Tigre (Eritrea) (tig-ER): SpecificCulture
' Turkmen (tk): NeutralCulture
' Turkmen (Turkmenistan) (tk-TM): SpecificCulture
' Setswana (tn): NeutralCulture
' Setswana (Botswana) (tn-BW): SpecificCulture
' Setswana (South Africa) (tn-ZA): SpecificCulture
В следующем примере показаны несколько свойств нейтральных языков и региональных параметров.
using System;
using System.Globalization;
public class SamplesCultureInfo
{
public static void Main()
{
// Displays several properties of the neutral cultures.
Console.WriteLine("CULTURE ISO ISO WIN DISPLAYNAME ENGLISHNAME");
foreach (CultureInfo ci in CultureInfo.GetCultures(CultureTypes.NeutralCultures))
{
Console.Write("{0,-7}", ci.Name);
Console.Write(" {0,-3}", ci.TwoLetterISOLanguageName);
Console.Write(" {0,-3}", ci.ThreeLetterISOLanguageName);
Console.Write(" {0,-3}", ci.ThreeLetterWindowsLanguageName);
Console.Write(" {0,-40}", ci.DisplayName);
Console.WriteLine(" {0,-40}", ci.EnglishName);
}
}
}
/*
This code produces the following output. This output has been cropped for brevity.
CULTURE ISO ISO WIN DISPLAYNAME ENGLISHNAME
ar ar ara ARA Arabic Arabic
bg bg bul BGR Bulgarian Bulgarian
ca ca cat CAT Catalan Catalan
cs cs ces CSY Czech Czech
da da dan DAN Danish Danish
de de deu DEU German German
el el ell ELL Greek Greek
en en eng ENU English English
es es spa ESP Spanish Spanish
fi fi fin FIN Finnish Finnish
zh zh zho CHS Chinese Chinese
zh-Hans zh zho CHS Chinese (Simplified) Chinese (Simplified)
zh-Hant zh zho ZHH Chinese (Traditional) Chinese (Traditional)
Note: zh-Hant returns ZHH when using ICU (default). When NLS mode is enabled, it returns CHT.
*/
' Displays several properties of the neutral cultures.
Console.WriteLine("CULTURE ISO ISO WIN DISPLAYNAME ENGLISHNAME")
Dim ci As CultureInfo
For Each ci In CultureInfo.GetCultures(CultureTypes.NeutralCultures)
Console.Write("{0,-7}", ci.Name)
Console.Write(" {0,-3}", ci.TwoLetterISOLanguageName)
Console.Write(" {0,-3}", ci.ThreeLetterISOLanguageName)
Console.Write(" {0,-3}", ci.ThreeLetterWindowsLanguageName)
Console.Write(" {0,-40}", ci.DisplayName)
Console.WriteLine(" {0,-40}", ci.EnglishName)
Next ci
'This code produces the following output. This output has been cropped for brevity.
'
'CULTURE ISO ISO WIN DISPLAYNAME ENGLISHNAME
'ar ar ara ARA Arabic Arabic
'bg bg bul BGR Bulgarian Bulgarian
'ca ca cat CAT Catalan Catalan
'cs cs ces CSY Czech Czech
'da da dan DAN Danish Danish
'de de deu DEU German German
'el el ell ELL Greek Greek
'en en eng ENU English English
'es es spa ESP Spanish Spanish
'fi fi fin FIN Finnish Finnish
'zh zh zho CHS Chinese Chinese
'zh-Hans zh zho CHS Chinese (Simplified) Chinese (Simplified)
'zh-Hant zh zho ZHH Chinese (Traditional) Chinese (Traditional)
'
'Note: zh-Hant returns ZHH when using ICU (default). When NLS mode is enabled, it returns CHT.
Комментарии
Эти значения типа языка и региональных параметров возвращаются свойством CultureInfo.CultureTypes , а также служат фильтром, ограничивающим язык и региональные параметры, возвращаемые методом CultureInfo.GetCultures . Дополнительные сведения о языках и региональных параметрах см. в статье CultureInfo.
Как правило, вы перечисляете все региональные параметры с помощью CultureTypes.AllCultures значения. Это позволяет перечислять пользовательские региональные параметры, а также другие типы языка и региональных параметров.
Обратите внимание, что все CultureTypes члены не рекомендуется использовать, кроме CultureTypes.AllCultures, CultureTypes.NeutralCulturesи CultureTypes.SpecificCultures.
.NET распознает следующие типы языка и региональных параметров, все из которых включаются в перечисления, возвращаемые CultureTypes.AllTypes членом перечисления:
Конкретные региональные параметры, которые указывают страну или регион и язык. Имена этих языков и региональных параметров соответствуют RFC 4646. Формат состоит
<languagecode2>-<country/regioncode2>в том, где<languagecode2>является строчным двухбуквенный код, производный от ISO 639-1, и<country/regioncode2>является прописным двухбуквенный код, производный от ISO 3166. Например, "en-US" для английского языка (США) является определенным языком и региональными параметрами. Пользовательские региональные параметры (т. е. региональные параметры, которые являются приложениями, а не системными) могут иметь любое имя, указанное пользователем, а не только соответствующее стандартам.Нейтральные язык и региональные параметры, которые указывают язык без уважения к стране или региону. Имена нейтральных языков и региональных параметров состоят из строчных двухбуквенный код, производный от ISO 639-1. Например, "en" (английский) — это нейтральный язык и региональные параметры. Пользовательские нейтральные региональные параметры (т. е. региональные параметры, которые являются приложениями, а не системными) могут иметь любое имя, указанное пользователем, а не только двухбуквенный код.
Инвариантный язык и региональные параметры включается в массив культур, возвращаемый методом CultureInfo.GetCultures , указывающим это значение.
Пользовательские региональные параметры, которые являются языком и региональными параметрами, определенными приложением. Пользовательские региональные параметры могут представлять определенные региональные параметры или нейтральные региональные параметры и могут иметь любое имя, указанное приложением.
В версиях Windows до Windows 10 значение назначается пользовательским языкам и региональным параметрам,
UserCustomCultureсозданным разработчиком. В Windows 10UserCustomCultureзначение также назначается системным языкам и региональным параметрам, которые не поддерживаются полным набором культурных данных и не имеют уникальных локальных идентификаторов. (Все региональные параметры типаUserCustomCultureимеют CultureInfo.LCID значениеLOCALE_CUSTOM_UNSPECIFIED(0x1000 или 4096)). В результатеCultureInfo.GetCultures(CultureTypes.UserCustomCulture)метод возвращает различные наборы региональных параметров в разных версиях Windows.