CultureAndRegionModifiers CultureAndRegionModifiers CultureAndRegionModifiers CultureAndRegionModifiers Enum

Definition

Specifies constants that define a CultureAndRegionInfoBuilder object.

This enumeration has a FlagsAttribute attribute that allows a bitwise combination of its member values.

public enum class CultureAndRegionModifiers
[System.Flags]
public enum CultureAndRegionModifiers
type CultureAndRegionModifiers = 
Public Enum CultureAndRegionModifiers
Inheritance
CultureAndRegionModifiersCultureAndRegionModifiersCultureAndRegionModifiersCultureAndRegionModifiers
Attributes

Fields

Neutral Neutral Neutral Neutral 1

A neutral custom culture.

None None None None 0

A specific, supplemental custom culture.

Replacement Replacement Replacement Replacement 2

A custom culture that replaces an existing .NET Framework culture or Windows locale.

Examples

The following code example creates a custom culture with a private use prefix, then lists a set of its properties. The first property is the name of the culture.

// This example demonstrates a System.Globalization.Culture-
// AndRegionInfoBuilder constructor and some of the properties 
// of a custom culture object created with the constructor.

#using <sysglobl.dll>

using namespace System;
using namespace System::Globalization;

int main()
{
    CultureAndRegionInfoBuilder^ builder = 
        gcnew CultureAndRegionInfoBuilder
        ("x-en-US-sample", CultureAndRegionModifiers::None);
    
    // Display some of the properties 
    // for the en-US culture.
    Console::WriteLine("CultureName:. . . . . . . . . . {0}", 
        builder->CultureName);
    Console::WriteLine("CultureEnglishName: . . . . . . {0}", 
        builder->CultureEnglishName);
    Console::WriteLine("CultureNativeName:. . . . . . . {0}", 
        builder->CultureNativeName);
    Console::WriteLine("GeoId:. . . . . . . . . . . . . {0}", 
        builder->GeoId);
    Console::WriteLine("IsMetric: . . . . . . . . . . . {0}", 
        builder->IsMetric);
    Console::WriteLine("ISOCurrencySymbol:. . . . . . . {0}", 
        builder->ISOCurrencySymbol);
    Console::WriteLine("RegionEnglishName:. . . . . . . {0}", 
        builder->RegionEnglishName);
    Console::WriteLine("RegionName: . . . . . . . . . . {0}", 
        builder->RegionName);
    Console::WriteLine("RegionNativeName: . . . . . . . {0}", 
        builder->RegionNativeName);
    Console::WriteLine("ThreeLetterISOLanguageName: . . {0}", 
        builder->ThreeLetterISOLanguageName);
    Console::WriteLine("ThreeLetterISORegionName: . . . {0}", 
        builder->ThreeLetterISORegionName);
    Console::WriteLine("ThreeLetterWindowsLanguageName: {0}", 
        builder->ThreeLetterWindowsLanguageName);
    Console::WriteLine("ThreeLetterWindowsRegionName: . {0}", 
        builder->ThreeLetterWindowsRegionName);
    Console::WriteLine("TwoLetterISOLanguageName: . . . {0}", 
        builder->TwoLetterISOLanguageName);
    Console::WriteLine("TwoLetterISORegionName: . . . . {0}", 
        builder->TwoLetterISORegionName);
}

/*
This code example produces the following results:

CultureName:. . . . . . . . . . en-US
CultureEnglishName: . . . . . . English (United States)
CultureNativeName:. . . . . . . English (United States)
GeoId:. . . . . . . . . . . . . 244
IsMetric: . . . . . . . . . . . False
ISOCurrencySymbol:. . . . . . . USD
RegionEnglishName:. . . . . . . United States
RegionName: . . . . . . . . . . US
RegionNativeName: . . . . . . . United States
ThreeLetterISOLanguageName: . . eng
ThreeLetterISORegionName: . . . USA
ThreeLetterWindowsLanguageName: ENU
ThreeLetterWindowsRegionName: . USA
TwoLetterISOLanguageName: . . . en
TwoLetterISORegionName: . . . . US

*/
// This example demonstrates a System.Globalization.Culture-
// AndRegionInfoBuilder constructor and some of the properties 
// of the CultureAndRegionInfoBuilder object that is created.
// Compile this example with a reference to sysglobl.dll.

using System;
using System.Globalization;

class Sample 
{
    public static void Main() 
    {

// Construct a new, privately used culture that extends the en-US culture 
// provided by the .NET Framework. In this sample, the CultureAndRegion-
// Types.Specific parameter creates a minimal CultureAndRegionInfoBuilder 
// object that you must populate with culture and region information.

    CultureAndRegionInfoBuilder cib = null;
    try {
        cib = new CultureAndRegionInfoBuilder(
                                          "x-en-US-sample",
                                          CultureAndRegionModifiers.None);
        }
    catch (ArgumentException ae)
        {
        Console.WriteLine(ae);
        return;
        }

// Populate the new CultureAndRegionInfoBuilder object with culture information.

    CultureInfo ci = new CultureInfo("en-US");
    cib.LoadDataFromCultureInfo(ci);

// Populate the new CultureAndRegionInfoBuilder object with region information.

    RegionInfo  ri = new RegionInfo("US");
    cib.LoadDataFromRegionInfo(ri);

// Display some of the properties for the x-en-US-sample custom culture.

    Console.Clear();
    Console.WriteLine("CultureName:. . . . . . . . . . {0}", cib.CultureName);
    Console.WriteLine("CultureEnglishName: . . . . . . {0}", cib.CultureEnglishName);
    Console.WriteLine("CultureNativeName:. . . . . . . {0}", cib.CultureNativeName);
    Console.WriteLine("GeoId:. . . . . . . . . . . . . {0}", cib.GeoId);
    Console.WriteLine("IsMetric: . . . . . . . . . . . {0}", cib.IsMetric);
    Console.WriteLine("ISOCurrencySymbol:. . . . . . . {0}", cib.ISOCurrencySymbol);
    Console.WriteLine("RegionEnglishName:. . . . . . . {0}", cib.RegionEnglishName);
    Console.WriteLine("RegionName: . . . . . . . . . . {0}", cib.RegionName);
    Console.WriteLine("RegionNativeName: . . . . . . . {0}", cib.RegionNativeName);
    Console.WriteLine("ThreeLetterISOLanguageName: . . {0}", cib.ThreeLetterISOLanguageName);
    Console.WriteLine("ThreeLetterISORegionName: . . . {0}", cib.ThreeLetterISORegionName);
    Console.WriteLine("ThreeLetterWindowsLanguageName: {0}", cib.ThreeLetterWindowsLanguageName);
    Console.WriteLine("ThreeLetterWindowsRegionName: . {0}", cib.ThreeLetterWindowsRegionName);
    Console.WriteLine("TwoLetterISOLanguageName: . . . {0}", cib.TwoLetterISOLanguageName);
    Console.WriteLine("TwoLetterISORegionName: . . . . {0}", cib.TwoLetterISORegionName);
    }
}
/*
This code example produces the following results:

CultureName:. . . . . . . . . . x-en-US-sample
CultureEnglishName: . . . . . . English
CultureNativeName:. . . . . . . English
GeoId:. . . . . . . . . . . . . 244
IsMetric: . . . . . . . . . . . False
ISOCurrencySymbol:. . . . . . . USD
RegionEnglishName:. . . . . . . United States
RegionName: . . . . . . . . . . US
RegionNativeName: . . . . . . . United States
ThreeLetterISOLanguageName: . . eng
ThreeLetterISORegionName: . . . USA
ThreeLetterWindowsLanguageName: ENU
ThreeLetterWindowsRegionName: . USA
TwoLetterISOLanguageName: . . . en
TwoLetterISORegionName: . . . . US

*/
' This example demonstrates a System.Globalization.Culture-
' AndRegionInfoBuilder constructor and some of the properties 
' of the CultureAndRegionInfoBuilder object that is created.
' Compile this example with a reference to sysglobl.dll.

Imports System.Globalization

Class Sample
    Public Shared Sub Main() 
        
        ' Construct a new, privately used culture that extends the en-US culture 
        ' provided by the .NET Framework. In this sample, the CultureAndRegion-
        ' Types.Specific parameter creates a minimal CultureAndRegionInfoBuilder 
        ' object that you must populate with culture and region information.

        Dim cib As CultureAndRegionInfoBuilder = Nothing
        Try
            cib = New CultureAndRegionInfoBuilder("x-en-US-sample", _
                                                   CultureAndRegionModifiers.None)
        Catch ae As ArgumentException
            Console.WriteLine(ae)
            Return
        End Try
        
        ' Populate the new CultureAndRegionInfoBuilder object with culture information.

        Dim ci As New CultureInfo("en-US")
        cib.LoadDataFromCultureInfo(ci)
        
        ' Populate the new CultureAndRegionInfoBuilder object with region information.

        Dim ri As New RegionInfo("US")
        cib.LoadDataFromRegionInfo(ri)
        
        ' Display some of the properties for the x-en-US-sample custom culture.

        Console.Clear()
        Console.WriteLine("CultureName:. . . . . . . . . . {0}", cib.CultureName)
        Console.WriteLine("CultureEnglishName: . . . . . . {0}", cib.CultureEnglishName)
        Console.WriteLine("CultureNativeName:. . . . . . . {0}", cib.CultureNativeName)
        Console.WriteLine("GeoId:. . . . . . . . . . . . . {0}", cib.GeoId)
        Console.WriteLine("IsMetric: . . . . . . . . . . . {0}", cib.IsMetric)
        Console.WriteLine("ISOCurrencySymbol:. . . . . . . {0}", cib.ISOCurrencySymbol)
        Console.WriteLine("RegionEnglishName:. . . . . . . {0}", cib.RegionEnglishName)
        Console.WriteLine("RegionName: . . . . . . . . . . {0}", cib.RegionName)
        Console.WriteLine("RegionNativeName: . . . . . . . {0}", cib.RegionNativeName)
        Console.WriteLine("ThreeLetterISOLanguageName: . . {0}", cib.ThreeLetterISOLanguageName)
        Console.WriteLine("ThreeLetterISORegionName: . . . {0}", cib.ThreeLetterISORegionName)
        Console.WriteLine("ThreeLetterWindowsLanguageName: {0}", cib.ThreeLetterWindowsLanguageName)
        Console.WriteLine("ThreeLetterWindowsRegionName: . {0}", cib.ThreeLetterWindowsRegionName)
        Console.WriteLine("TwoLetterISOLanguageName: . . . {0}", cib.TwoLetterISOLanguageName)
        Console.WriteLine("TwoLetterISORegionName: . . . . {0}", cib.TwoLetterISORegionName)
    
    End Sub
End Class
'
'This code example produces the following results:
'
'CultureName:. . . . . . . . . . x-en-US-sample
'CultureEnglishName: . . . . . . English
'CultureNativeName:. . . . . . . English
'GeoId:. . . . . . . . . . . . . 244
'IsMetric: . . . . . . . . . . . False
'ISOCurrencySymbol:. . . . . . . USD
'RegionEnglishName:. . . . . . . United States
'RegionName: . . . . . . . . . . US
'RegionNativeName: . . . . . . . United States
'ThreeLetterISOLanguageName: . . eng
'ThreeLetterISORegionName: . . . USA
'ThreeLetterWindowsLanguageName: ENU
'ThreeLetterWindowsRegionName: . USA
'TwoLetterISOLanguageName: . . . en
'TwoLetterISORegionName: . . . . US
'

Remarks

Specify a bitwise combination of one or more CultureAndRegionModifiers values as an argument to the CultureAndRegionInfoBuilder.CultureAndRegionInfoBuilder(String, CultureAndRegionModifiers) constructor. You use the resulting CultureAndRegionInfoBuilder object to create a custom culture.

A custom culture can have a combination of these characteristics:

  • A custom culture can be a specific culture or a neutral culture.

    A specific culture specifies a language and a region, while a neutral culture specifies a language but no region.

  • A custom culture can be a replacement culture or a supplemental culture.

    A replacement culture replaces a culture that ships with the .NET Framework or a locale that ships with Windows.

    A supplemental culture is anything other than a replacement culture. A supplemental culture can be entirely new, or can extend an existing .NET Framework culture or Windows locale.

Important

Note that the CultureAndRegionModifiers enumeration is found in an assembly named sysglobl.dll. Successfully compiling code that uses this type requires that you add a reference to sysglobl.dll.

Applies to

See also