Defines a custom culture that is new or based on another culture and country/region. The custom culture can be installed on a computer and subsequently used by any application that is running on that computer. This class cannot be inherited.
Assembly: sysglobl (in sysglobl.dll)
Initializes a new instance of theclass.
Gets or sets an array of calendars that are supported by thisobject.
Gets or sets the CompareInfo object that defines how to compare strings for the culture.
Gets or sets an alternate user interface culture suitable for console applications when the default graphic user interface culture is inappropriate.
Gets or sets the culture name in English.
Gets the name of the culture being created.
Gets or sets the culture name in the format and language that the culture is set to display.
Gets the CultureTypes value that describes the culture represented by the current object.
Gets or sets the name, in English, of the currency used in the country/region represented by the currentobject.
Gets or sets the native name of the currency used in the country/region represented by the currentobject.
Gets or sets a unique identification number for a geographical region, country, city, or location.
Gets or sets a DateTimeFormatInfo object that defines the format of dates and times according to the Gregorian calendar.
Gets or sets a culture name formatted according to the RFC 4646 standard, "Tags for the Identification of Languages."
Gets or sets a value indicating whether the country/region uses the metric system for measurements.
Gets or sets the three-character ISO 4217 currency symbol associated with the country/region.
Gets or sets the predominant direction of lines of text in the writing system associated with the currentobject.
Gets or sets the active input locale identifier.
Gets the culture identifier for the currentobject.
Gets or sets a NumberFormatInfo object that defines the culturally appropriate format of displaying numbers, currency, and percentage.
Gets or sets the CultureInfo object that represents the parent culture of the current custom culture.
Gets or sets the full name of the country/region in English.
Gets the name of the country/region for the currentobject.
Gets or sets the full name of the country/region as known by the people of this custom culture.
Gets or sets the TextInfo object that defines the writing system associated with this custom culture.
Gets or sets the ISO 639-2 three-letter code for the language of this custom culture.
Gets or sets the three-letter code defined in ISO 3166 for the country/region.
Gets or sets the three-letter code for the language as defined in the Windows API.
Gets or sets the three-letter code assigned by Windows to the country/region represented by the current custom culture.
Gets or sets the ISO 639-1 two-letter code for the language of the current CultureInfo object.
Gets or sets the two-letter code defined in ISO 3166 for the country/region.
Reconstitutes aobject from a specified XML file that contains a representation of the object.
Determines whether the specified object is equal to the current object.(Inherited from Object.)
Serves as the default hash function. (Inherited from Object.)
Sets the properties of the current CultureInfo object.object with the corresponding properties of the specified
Sets the properties of the current RegionInfo object.object with the corresponding properties of the specified
Persists the currentobject as a custom culture on the local computer and makes that culture available to applications. Requires administrative privileges.
Writes an XML representation of the currentobject to the specified file.
Returns a string that represents the current object.(Inherited from Object.)
Deletes a custom culture from the local computer.
The CultureInfo class holds culture-specific information, such as the associated language, sublanguage, country/region, calendar, and cultural conventions. This class also provides culture-specific instances of the DateTimeFormatInfo, NumberFormatInfo, CompareInfo, and TextInfo classes, which are required for culture-specific operations such as casing, formatting and parsing dates and numbers, and comparing strings.
By default, the .NET Framework supports CultureInfo objects that represent a predefined set of cultures. For a list of these cultures, see the National Language Support (NLS) API Reference at the Go Global Developer Center. The class enables you to create a custom culture that is completely new or that overrides a predefined culture. When a custom culture is installed and registered on a particular computer, it becomes indistinguishable from predefined CultureInfo objects, and can be instantiated and used just like those objects.
Note that theclass is found in an assembly named sysglobl.dll. Successfully compiling code that uses this type requires that you add a reference to sysglobl.dll.
A custom culture can be registered on a computer only by a user who has administrative rights on that computer. Consequently, apps typically do not create and install custom cultures. Instead, you can use the CultureInfo class in your app to create instances of the custom culture just as you would for a predefined culture.class to create a special-purpose tool that an administrator can use to create, install, and register a custom culture. After the custom culture is registered on a computer, you can use the
If you parse date and time strings generated for a custom culture, you should use the DateTime::ParseExact or DateTime::TryParseExact method instead of the DateTime::Parse or DateTime::TryParse method to improve the probability that the parse operation will succeed. A date and time string for a custom culture can be complicated and therefore difficult to parse. The Parse and TryParse methods try to parse a string with several implicit parse patterns, all of which might fail. The TryParseExact method, in contrast, requires the application to explicitly designate one or more exact parse patterns that are likely to succeed.
You use theclass to define and name a custom culture. The custom culture can be an entirely new culture, a new culture that is based on an existing culture (that is, a supplemental culture), or a culture that replaces an existing .NET Framework culture. In each case, the basic steps are the same:
Instantiate a CultureAndRegionInfoBuilder(String^, CultureAndRegionModifiers) constructor. To replace an existing culture, pass that culture's name and the CultureAndRegionModifiers::Replacement enumeration value to the constructor. To create a new culture or a supplemental culture, pass a unique culture name and either the CultureAndRegionModifiers::Neutral or CultureAndRegionModifiers::None enumeration value.object by calling its
If you are creating a new or supplemental culture:
Modify the properties of theobject as necessary.
If you are planning to register the custom culture in a separate routine, call the Save method. This generates an XML file that you can load and register in a separate custom culture installation routine.
If you are developing a registration application for a custom culture that is separate from the application that creates the culture, you call the CreateFromLdml method to load the XML file that contains the custom culture's definition and instantiate the object. To handle the registration, call the Register method. For the registration to succeed, the application that registers the custom culture must be running with administrative privileges on the target system; otherwise, the call to Register throws an UnauthorizedAccessException exception.
Culture data can differ between systems. If you are using the CultureInfo and RegionInfo objects and customizing it, you should develop two different utilities. The first creates the custom culture and saves it to an XML file. The second uses the CreateFromLdml method to load the custom culture from an XML file and register it on the target computer.class to create a custom culture that is uniform across multiple systems and you are creating your custom culture by loading data from existing
The registration process performs the following tasks:
Creates an .nlp file that contains the information that is defined in theobject.
Stores the .nlp file in the %windir%\Globalization system directory on the target computer. This enables the custom culture's settings to persist between sessions. (Themethod requires administrative privileges because the .nlp file is stored in a system directory.)
Prepares the .NET Framework to search the %windir%\Globalization system directory instead of an internal cache the next time there is a request to create your new custom culture.
When a custom culture is successfully registered, it is indistinguishable from the cultures that are predefined by the .NET Framework. The custom culture is available until a call to themethod removes the .nlp file from the local computer.
You can create an instance of the custom culture in one of the following ways:
By invoking the CultureInfo::CultureInfo constructor with the culture name.
By calling the CultureInfo::CreateSpecificCulture method with the culture name.
By calling the CultureInfo::GetCultureInfo method with the culture name.
The following example defines a custom ru-US culture that represents the Russian language in the United States. The example defines the custom culture by loading settings from the Russian (Russia) CultureInfo object and the U.S. RegionInfo object, and then sets a number of properties. The example registers the custom culture, and then instantiates it and makes it the current thread culture.
Available since 2.0
Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.