CultureTypes Перечисление

Определение

Определяет типы списков языков и региональных параметров, которые можно получить с помощью метода GetCultures(CultureTypes).

Это перечисление имеет атрибут FlagsAttribute, который разрешает побитовое сочетание значений его элементов.

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
Наследование
CultureTypes
Атрибуты

Поля

AllCultures 7

Все языки и региональные параметры, распознаваемые .NET, включая нейтральные и определенные, а также созданные пользователем.

В .NET Framework 4 и более поздних версиях и .NET Core под управлением Windows содержатся данные языка и региональных параметров, доступные в операционной системе Windows. В .NET Core под управлением Linux и macOS содержатся данные языка и региональных параметров, которые определены в библиотеках ICU.

AllCultures представляет собой составное поле, содержащее значения NeutralCultures, SpecificCultures и InstalledWin32Cultures.

FrameworkCultures 64

Этот элемент считается нерекомендуемым. При использовании этого значения с GetCultures(CultureTypes) будут возвращены нейтральные и конкретные языки и региональные параметры, поставляемые с платформой .NET Framework 2.0.

InstalledWin32Cultures 4

Этот элемент считается нерекомендуемым. Все языки и региональные параметры, установленные в операционной системе Windows.

NeutralCultures 1

Языки и региональные параметры, связанные с языком, но не с определенной страной или регионом.

ReplacementCultures 16

Этот элемент считается нерекомендуемым. Пользовательский язык и региональные параметры, замещающие язык и региональные параметры платформы .NET Framework.

SpecificCultures 2

Языки и региональные параметры, присущие стране или региону.

UserCustomCulture 8

Этот элемент считается нерекомендуемым. Пользовательские языки и региональные параметры.

WindowsOnlyCultures 32

Этот элемент считается нерекомендуемым и игнорируется.

Примеры

В следующем примере демонстрируется 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 namespace System;
using namespace System::Globalization;
int main()
{
   
   // Displays several properties of the neutral cultures.
   Console::WriteLine( "CULTURE ISO ISO WIN DISPLAYNAME                              ENGLISHNAME" );
   System::Collections::IEnumerator^ enum0 = CultureInfo::GetCultures( CultureTypes::NeutralCultures )->GetEnumerator();
   while ( enum0->MoveNext() )
   {
      CultureInfo^ ci = safe_cast<CultureInfo^>(enum0->Current);
      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                                 
zh-Hans zh  zho CHS Chinese (Simplified)                     Chinese (Simplified)                    
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-Hant zh  zho CHT Chinese (Traditional)                    Chinese (Traditional)                   
zh-CHS  zh  zho CHS Chinese (Simplified) Legacy              Chinese (Simplified) Legacy             
zh-CHT  zh  zho CHT Chinese (Traditional) Legacy             Chinese (Traditional) Legacy            

*/
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
zh-Hans zh  zho CHS Chinese (Simplified)                     Chinese (Simplified)
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-Hant zh  zho CHT Chinese (Traditional)                    Chinese (Traditional)
zh-CHS  zh  zho CHS Chinese (Simplified) Legacy              Chinese (Simplified) Legacy
zh-CHT  zh  zho CHT Chinese (Traditional) Legacy             Chinese (Traditional) Legacy

*/
Imports System.Globalization

Module Module1

   Public Sub Main()

      ' 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

   End Sub



'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                                 
'zh-Hans zh  zho CHS Chinese (Simplified)                     Chinese (Simplified)                    
'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-Hant zh  zho CHT Chinese (Traditional)                    Chinese (Traditional)                   
'zh-CHS  zh  zho CHS Chinese (Simplified) Legacy              Chinese (Simplified) Legacy             
'zh-CHT  zh  zho CHT Chinese (Traditional) Legacy             Chinese (Traditional) Legacy            

End Module

Комментарии

Эти значения типа языка и региональных параметров возвращаются 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 10 UserCustomCulture значение также назначается системным языкам и региональным параметрам, которые не поддерживаются полным набором культурных данных и не имеют уникальных локальных идентификаторов. (Все языки и региональные параметры типа UserCustomCulture совместно используют CultureInfo.LCID значение LOCALE_CUSTOM_UNSPECIFIED (0x1000 или 4096)). в результате CultureInfo.GetCultures(CultureTypes.UserCustomCulture) метод возвращает разные наборы языков и региональных параметров для разных версий Windows.

Применяется к

См. также раздел