CultureAndRegionInfoBuilder Třída

Definice

Definuje vlastní jazykovou verzi, která je nová nebo založená na jiné jazykové verzi a zemi nebo oblasti.Defines a custom culture that is new or based on another culture and country/region. Vlastní jazykovou verzi můžete nainstalovat na počítač a následně ji použít v jakékoli aplikaci, která je na tomto počítači spuštěná.The custom culture can be installed on a computer and subsequently used by any application that is running on that computer. Tuto třídu nelze zdědit.This class cannot be inherited.

public ref class CultureAndRegionInfoBuilder sealed
[System.Runtime.InteropServices.ComVisible(false)]
public sealed class CultureAndRegionInfoBuilder
type CultureAndRegionInfoBuilder = class
Public NotInheritable Class CultureAndRegionInfoBuilder
Dědičnost
CultureAndRegionInfoBuilder
Atributy

Příklady

Následující příklad definuje vlastní jazykovou verzi ru-US, která představuje ruštinu v USA.The following example defines a custom ru-US culture that represents the Russian language in the United States. Příklad definuje vlastní jazykovou verzi načtením nastavení z ruského (Rusko CultureInfo ) objektu a objektu RegionInfo USA a CultureAndRegionInfoBuilder poté nastaví počet vlastností.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 CultureAndRegionInfoBuilder properties. Tento příklad registruje vlastní jazykovou verzi a poté vytvoří instanci a nastaví ji jako aktuální jazykovou verzi vlákna.The example registers the custom culture, and then instantiates it and makes it the current thread culture.

using System;
using System.Globalization;
using System.Threading;

public class Example
{
   public static void Main()
   {
      // Create a custom culture for ru-US.
      CultureAndRegionInfoBuilder car1 = new CultureAndRegionInfoBuilder("ru-US", 
                                             CultureAndRegionModifiers.None);
      car1.LoadDataFromCultureInfo(CultureInfo.CreateSpecificCulture("ru-RU"));
      car1.LoadDataFromRegionInfo(new RegionInfo("en-US"));
      
      car1.CultureEnglishName = "Russian (United States)";
      car1.CultureNativeName = "русский (США)";
      car1.CurrencyNativeName = "Доллар (США)";
      car1.RegionNativeName = "США";

      // Register the culture.
      try {
         car1.Register();
      }    
      catch (InvalidOperationException) {
         // Swallow the exception: the culture already is registered.
      }
      
      // Use the custom culture.
      CultureInfo ci = CultureInfo.CreateSpecificCulture("ru-US");
      Thread.CurrentThread.CurrentCulture = ci;
      Console.WriteLine("Current Culture: {0}", 
                        Thread.CurrentThread.CurrentCulture.Name);
      Console.WriteLine("Writing System: {0}", 
                        Thread.CurrentThread.CurrentCulture.TextInfo);
   }
}
// The example displays the following output:
//     Current Culture: ru-US
//     Writing System: TextInfo - ru-US
Imports System.Globalization
Imports System.Threading

Module Example
   Public Sub Main()
      ' Create a custom culture for ru-US.
      Dim car1 As New CultureAndRegionInfoBuilder("ru-US", CultureAndRegionModifiers.None)
      car1.LoadDataFromCultureInfo(CultureInfo.CreateSpecificCulture("ru-RU"))
      car1.LoadDataFromRegionInfo(New RegionInfo("en-US"))
      
      car1.CultureEnglishName = "Russian (United States)"
      car1.CultureNativeName = "русский (США)"
      car1.CurrencyNativeName = "Доллар (США)"
      car1.RegionNativeName = "США"

      ' Register the culture.
      Try
         car1.Register()
      Catch e As InvalidOperationException
         ' Swallow the exception: the culture already is registered.
      End Try
      
      ' Use the custom culture.
      Dim ci As CultureInfo = CultureInfo.CreateSpecificCulture("ru-US")
      Thread.CurrentThread.CurrentCulture = ci
      Console.WriteLine("Current Culture: {0}", 
                        Thread.CurrentThread.CurrentCulture.Name)
      Console.WriteLine("Writing System: {0}", 
                        Thread.CurrentThread.CurrentCulture.TextInfo)
   End Sub
End Module
' The example displays the following output:
'     Current Culture: ru-US
'     Writing System: TextInfo - ru-US

Poznámky

CultureInfo Třída obsahuje informace specifické pro jazykovou verzi, jako je například přidružený jazyk, dílčí jazyk, země/oblast, kalendář a kulturní konvence.The CultureInfo class holds culture-specific information, such as the associated language, sublanguage, country/region, calendar, and cultural conventions. Tato třída také DateTimeFormatInfoposkytuje instance TextInfo třídy, NumberFormatInfo, CompareInfoa specifické pro jazykovou verzi, které jsou požadovány pro operace specifické pro jazykovou verzi, jako je například velká a malá písmena, formátování a analýza dat a čísel a porovnávání řetězců.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.

Ve výchozím nastavení .NET Framework podporuje CultureInfo objekty, které reprezentují předdefinované sady kultur.By default, the .NET Framework supports CultureInfo objects that represent a predefined set of cultures. Seznam těchto kultur, které jsou k dispozici v systémech Windows, naleznete ve sloupci tag jazyka v seznamu názvů jazyků nebo oblastí podporovaných systémem Windows.For a list of these cultures available on Windows systems, see the Language tag column in the list of language/region names supported by Windows. Názvy jazykové verze se řídí standardem definovaným v BCP 47.Culture names follow the standard defined by BCP 47. CultureAndRegionInfoBuilder Třída umožňuje vytvořit vlastní jazykovou verzi, která je zcela nová nebo přepíše předdefinovanou jazykovou verzi.The CultureAndRegionInfoBuilder class enables you to create a custom culture that is completely new or that overrides a predefined culture. Když je nainstalována a zaregistrována vlastní jazyková verze v určitém počítači, bude ji možné odlišit od CultureInfo předdefinovaných objektů a lze ji vytvořit a použít ji stejně jako tyto objekty.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.

Důležité

Všimněte si, CultureAndRegionInfoBuilder že třída se nachází v sestavení s názvem sysglobl. dll.Note that the CultureAndRegionInfoBuilder class is found in an assembly named sysglobl.dll. Úspěšné kompilování kódu, který používá tento typ vyžaduje, abyste přidali odkaz na sysglobl. dll.Successfully compiling code that uses this type requires that you add a reference to sysglobl.dll.

Vlastní jazykovou verzi lze zaregistrovat v počítači pouze uživatelem, který má oprávnění správce v daném počítači.A custom culture can be registered on a computer only by a user who has administrative rights on that computer. V důsledku toho aplikace obvykle nevytváří a neinstalují vlastní jazykové verze.Consequently, apps typically do not create and install custom cultures. Místo toho můžete použít CultureAndRegionInfoBuilder třídu k vytvoření nástroje pro zvláštní účely, který může správce použít k vytvoření, instalaci a registraci vlastní jazykové verze.Instead, you can use the CultureAndRegionInfoBuilder class to create a special-purpose tool that an administrator can use to create, install, and register a custom culture. Po registraci vlastní jazykové verze v počítači můžete použít CultureInfo třídu v aplikaci k vytvoření instancí vlastní jazykové verze stejně jako u předdefinované jazykové verze.After the custom culture is registered on a computer, you can use the CultureInfo class in your app to create instances of the custom culture just as you would for a predefined culture.

Pokud analyzujete řetězce data a času vygenerované pro vlastní jazykovou verzi, měli byste DateTime.ParseExact použít DateTime.TryParseExact metodu nebo namísto DateTime.Parse metody nebo DateTime.TryParse pro zlepšení pravděpodobnosti, že operace analýzy bude úspěšná.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. Řetězec data a času pro vlastní jazykovou verzi může být složitý a proto je obtížné ho analyzovat.A date and time string for a custom culture can be complicated and therefore difficult to parse. Metody Parse aTryParse se pokoušejí analyzovat řetězec s několika implicitními vzory analýzy, z nichž všechny můžou selhat.The Parse and TryParse methods try to parse a string with several implicit parse patterns, all of which might fail. TryParseExact Metoda naopak vyžaduje, aby aplikace explicitně určila jeden nebo více přesných vzorů analýz, které mohou být úspěšné.The TryParseExact method, in contrast, requires the application to explicitly designate one or more exact parse patterns that are likely to succeed.

Definování a vytvoření vlastní jazykové verzeDefining and Creating a Custom Culture

CultureAndRegionInfoBuilder Třídu můžete použít k definování a pojmenování vlastní jazykové verze.You use the CultureAndRegionInfoBuilder class to define and name a custom culture. Vlastní jazyková verze může být zcela nová kultura, nová jazyková verze založená na stávající jazykové verzi (tj. Doplňková jazyková verze) nebo jazyková verze, která nahrazuje existující .NET Frameworkovou jazykovou verzi.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. V každém případě jsou základní kroky stejné:In each case, the basic steps are the same:

  1. Vytvořte instanci CultureAndRegionInfoBuilder(String, CultureAndRegionModifiers) objektu voláním jeho konstruktoru. CultureAndRegionInfoBuilderInstantiate a CultureAndRegionInfoBuilder object by calling its CultureAndRegionInfoBuilder(String, CultureAndRegionModifiers) constructor. Chcete-li nahradit existující jazykovou verzi, předejte jí název CultureAndRegionModifiers.Replacement této jazykové verze a hodnotu výčtu konstruktoru.To replace an existing culture, pass that culture's name and the CultureAndRegionModifiers.Replacement enumeration value to the constructor. Chcete-li vytvořit novou jazykovou verzi nebo doplňkovou jazykovou verzi, předejte jedinečný název CultureAndRegionModifiers.Neutral jazykové CultureAndRegionModifiers.None verze a hodnotu výčtu nebo.To create a new culture or a supplemental culture, pass a unique culture name and either the CultureAndRegionModifiers.Neutral or CultureAndRegionModifiers.None enumeration value.

    Poznámka

    Použijete CultureAndRegionModifiers.Replacement -li hodnotu výčtu pro vytvoření instance CultureAndRegionInfoBuilder objektu, CultureAndRegionInfoBuilder CultureInfo vlastnosti objektu jsou automaticky vyplněny hodnotami z objektu, který má být nahrazen.If you use the CultureAndRegionModifiers.Replacement enumeration value to instantiate a CultureAndRegionInfoBuilder object, the CultureAndRegionInfoBuilder object's properties are automatically populated with values from the CultureInfo object to be replaced.

  2. Pokud vytváříte novou nebo doplňkovou jazykovou verzi:If you are creating a new or supplemental culture:

  3. Podle potřeby upravte vlastnosti CultureAndRegionInfoBuilder objektu.Modify the properties of the CultureAndRegionInfoBuilder object as necessary.

  4. Pokud plánujete zaregistrovat vlastní jazykovou verzi v samostatné rutině, zavolejte Save metodu.If you are planning to register the custom culture in a separate routine, call the Save method. Tím se vygeneruje soubor XML, který můžete načíst a zaregistrovat v samostatné instalační rutině vlastní jazykové verze.This generates an XML file that you can load and register in a separate custom culture installation routine.

Registrace vlastní jazykové verzeRegistering a Custom Culture

Pokud vyvíjíte registrační aplikaci pro vlastní jazykovou verzi, která je oddělena od aplikace, která vytváří jazykovou verzi, zavoláte CreateFromLdml metodu pro načtení souboru XML, který obsahuje definici vlastní jazykové verze a vytvoří instanci CultureAndRegionInfoBuilderobjekt.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 CultureAndRegionInfoBuilder object. Chcete-li zpracovat registraci, zavolejte Register metodu.To handle the registration, call the Register method. Aby byla registrace úspěšná, musí aplikace, která registruje vlastní jazykovou verzi, běžet s oprávněními správce v cílovém systému. v opačném případě volání Register UnauthorizedAccessException vyvolá výjimku.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.

Varování

Data jazykové verze se můžou mezi systémy lišit.Culture data can differ between systems. Používáte-li CultureInfo RegionInfo třídu k vytvoření vlastní jazykové verze, která je jednotná napříč různými systémy, a vytváříte vlastní jazykovou verzi načtením dat z existujících objektů a a jejich přizpůsobením, měli byste vyvíjet dvě CultureAndRegionInfoBuilder různé nástroje.If you are using the CultureAndRegionInfoBuilder class to create a custom culture that is uniform across multiple systems and you are creating your custom culture by loading data from existing CultureInfo and RegionInfo objects and customizing it, you should develop two different utilities. První vytvoří vlastní jazykovou verzi a uloží ji do souboru XML.The first creates the custom culture and saves it to an XML file. Druhá používá CreateFromLdml metodu pro načtení vlastní jazykové verze ze souboru XML a její registraci na cílovém počítači.The second uses the CreateFromLdml method to load the custom culture from an XML file and register it on the target computer.

Proces registrace provádí následující úlohy:The registration process performs the following tasks:

  • Vytvoří soubor. NLP, který obsahuje informace, které jsou definovány v CultureAndRegionInfoBuilder objektu.Creates an .nlp file that contains the information that is defined in the CultureAndRegionInfoBuilder object.

  • Uloží soubor. NLP do systémového adresáře%windir%\Globalization na cílovém počítači.Stores the .nlp file in the %windir%\Globalization system directory on the target computer. To umožňuje zachovat nastavení vlastní jazykové verze mezi relacemi.This enables the custom culture's settings to persist between sessions. CultureAndRegionInfoBuilder (Metoda vyžaduje oprávnění správce, protože soubor. NLP je uložen v adresáři systému.)(The CultureAndRegionInfoBuilder method requires administrative privileges because the .nlp file is stored in a system directory.)

  • Připraví .NET Framework k hledání v adresáři systému%windir%\Globalization místo interní mezipaměti, a to při dalším požadavku na vytvoření nové vlastní jazykové verze.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.

Pokud je vlastní jazyková verze úspěšně registrována, je možné ji odlišit od kultur, které jsou předdefinovány .NET Framework.When a custom culture is successfully registered, it is indistinguishable from the cultures that are predefined by the .NET Framework. Vlastní jazyková verze je k dispozici, dokud volání CultureAndRegionInfoBuilder metody neodstraní soubor. NLP z místního počítače.The custom culture is available until a call to the CultureAndRegionInfoBuilder method removes the .nlp file from the local computer.

Vytvoření instance vlastní jazykové verzeInstantiating a Custom Culture

Můžete vytvořit instanci vlastní jazykové verze jedním z následujících způsobů:You can create an instance of the custom culture in one of the following ways:

Kromě toho pole CultureInfo objektů, které jsou vráceny CultureInfo.GetCultures metodou, zahrnuje vlastní jazykovou verzi.In addition, the array of CultureInfo objects that is returned by the CultureInfo.GetCultures method includes the custom culture.

Konstruktory

CultureAndRegionInfoBuilder(String, CultureAndRegionModifiers)

Inicializuje novou instanci třídy CultureAndRegionInfoBuilder třídy.Initializes a new instance of the CultureAndRegionInfoBuilder class.

Vlastnosti

AvailableCalendars

Získá nebo nastaví pole kalendářů, které jsou podporovány tímto CultureAndRegionInfoBuilder objektem.Gets or sets an array of calendars that are supported by this CultureAndRegionInfoBuilder object.

CompareInfo

Získá nebo nastaví CompareInfo objekt, který definuje, jak porovnat řetězce pro jazykovou verzi.Gets or sets the CompareInfo object that defines how to compare strings for the culture.

ConsoleFallbackUICulture

Získá nebo nastaví alternativní jazykovou verzi uživatelského rozhraní vhodnou pro konzolové aplikace, pokud je výchozí jazyková verze grafického uživatelského rozhraní nevhodná.Gets or sets an alternate user interface culture suitable for console applications when the default graphic user interface culture is inappropriate.

CultureEnglishName

Získá nebo nastaví název jazykové verze v angličtině.Gets or sets the culture name in English.

CultureName

Získá název vytvářené jazykové verze.Gets the name of the culture being created.

CultureNativeName

Získá nebo nastaví název jazykové verze ve formátu a jazyku, ve kterém je jazyková verze nastavena na hodnotu zobrazit.Gets or sets the culture name in the format and language that the culture is set to display.

CultureTypes

Získá hodnotu, která popisuje jazykovou verzi reprezentovanou aktuálním CultureAndRegionInfoBuilder objektem. CultureTypesGets the CultureTypes value that describes the culture represented by the current CultureAndRegionInfoBuilder object.

CurrencyEnglishName

Získá nebo nastaví název v angličtině v měně použité v zemi nebo oblasti reprezentované aktuálním CultureAndRegionInfoBuilder objektem.Gets or sets the name, in English, of the currency used in the country/region represented by the current CultureAndRegionInfoBuilder object.

CurrencyNativeName

Získá nebo nastaví nativní název měny použité v zemi nebo oblasti reprezentované aktuálním CultureAndRegionInfoBuilder objektem.Gets or sets the native name of the currency used in the country/region represented by the current CultureAndRegionInfoBuilder object.

GeoId

Získá nebo nastaví jedinečné identifikační číslo pro geografickou oblast, zemi, město nebo umístění.Gets or sets a unique identification number for a geographical region, country, city, or location.

GregorianDateTimeFormat

Získá nebo nastaví DateTimeFormatInfo objekt, který definuje formát dat a časů podle gregoriánského kalendáře.Gets or sets a DateTimeFormatInfo object that defines the format of dates and times according to the Gregorian calendar.

IetfLanguageTag

Získá nebo nastaví název jazykové verze formátovaný podle specifikace RFC 4646 Standard, "značky pro identifikaci jazyků".Gets or sets a culture name formatted according to the RFC 4646 standard, "Tags for the Identification of Languages."

IsMetric

Získá nebo nastaví hodnotu označující, jestli země nebo oblast používá pro měření systém metriky.Gets or sets a value indicating whether the country/region uses the metric system for measurements.

ISOCurrencySymbol

Získá nebo nastaví symbol měny ISO 4217 o třech znacích, který je přidružený k zemi nebo oblasti.Gets or sets the three-character ISO 4217 currency symbol associated with the country/region.

IsRightToLeft

Získá nebo nastaví převládající směr řádků textu v systému zápisu přidruženého k aktuálnímu CultureAndRegionInfoBuilder objektu.Gets or sets the predominant direction of lines of text in the writing system associated with the current CultureAndRegionInfoBuilder object.

KeyboardLayoutId

Získá nebo nastaví identifikátor národního prostředí aktivního vstupu.Gets or sets the active input locale identifier.

LCID

Získá identifikátor jazykové verze pro aktuální CultureAndRegionInfoBuilder objekt.Gets the culture identifier for the current CultureAndRegionInfoBuilder object.

NumberFormat

Získá nebo nastaví NumberFormatInfo objekt, který definuje kulturní náležitě odpovídající formát zobrazení čísel, měny a procenta.Gets or sets a NumberFormatInfo object that defines the culturally appropriate format of displaying numbers, currency, and percentage.

Parent

Získá nebo nastaví CultureInfo objekt, který představuje nadřazenou jazykovou verzi aktuální vlastní jazykové verze.Gets or sets the CultureInfo object that represents the parent culture of the current custom culture.

RegionEnglishName

Získá nebo nastaví úplný název země nebo oblasti v angličtině.Gets or sets the full name of the country/region in English.

RegionName

Získá název země nebo oblasti pro aktuální CultureAndRegionInfoBuilder objekt.Gets the name of the country/region for the current CultureAndRegionInfoBuilder object.

RegionNativeName

Získá nebo nastaví úplný název země nebo oblasti, jak jsou známí lidé z této vlastní jazykové verze.Gets or sets the full name of the country/region as known by the people of this custom culture.

TextInfo

Získá nebo nastaví TextInfo objekt, který definuje systém zápisu přidružený k této vlastní jazykové verzi.Gets or sets the TextInfo object that defines the writing system associated with this custom culture.

ThreeLetterISOLanguageName

Získá nebo nastaví třímístný kód ISO 639-2 pro jazyk této vlastní jazykové verze.Gets or sets the ISO 639-2 three-letter code for the language of this custom culture.

ThreeLetterISORegionName

Získá nebo nastaví kód se třemi písmeny definovanými v ISO 3166 pro zemi nebo oblast.Gets or sets the three-letter code defined in ISO 3166 for the country/region.

ThreeLetterWindowsLanguageName

Získá nebo nastaví kód tří písmen pro jazyk definovaný v rozhraní API systému Windows.Gets or sets the three-letter code for the language as defined in the Windows API.

ThreeLetterWindowsRegionName

Získá nebo nastaví kód tří písmen přiřazený systémem Windows k zemi nebo oblasti reprezentované aktuální vlastní jazykovou verzí.Gets or sets the three-letter code assigned by Windows to the country/region represented by the current custom culture.

TwoLetterISOLanguageName

Získá nebo nastaví dvoumístné číslo ISO 639-1 pro jazyk aktuálního CultureInfo objektu.Gets or sets the ISO 639-1 two-letter code for the language of the current CultureInfo object.

TwoLetterISORegionName

Získá nebo nastaví kód dvou písmen definovaný v normě ISO 3166 pro zemi nebo oblast.Gets or sets the two-letter code defined in ISO 3166 for the country/region.

Metody

CreateFromLdml(String)

Znovu vytvoří CultureAndRegionInfoBuilder objekt ze zadaného souboru XML, který obsahuje reprezentace objektu.Reconstitutes a CultureAndRegionInfoBuilder object from a specified XML file that contains a representation of the object.

Equals(Object)

Určuje, zda se zadaný objekt rovná aktuálnímu objektu.Determines whether the specified object is equal to the current object.

(Zděděno od Object)
GetHashCode()

Serves as the default hash function.Serves as the default hash function.

(Zděděno od Object)
GetType()

Gets the Type of the current instance.Gets the Type of the current instance.

(Zděděno od Object)
LoadDataFromCultureInfo(CultureInfo)

Nastaví vlastnosti aktuálního CultureAndRegionInfoBuilder objektu s odpovídajícími vlastnostmi zadaného CultureInfo objektu.Sets the properties of the current CultureAndRegionInfoBuilder object with the corresponding properties of the specified CultureInfo object.

LoadDataFromRegionInfo(RegionInfo)

Nastaví vlastnosti aktuálního CultureAndRegionInfoBuilder objektu s odpovídajícími vlastnostmi zadaného RegionInfo objektu.Sets the properties of the current CultureAndRegionInfoBuilder object with the corresponding properties of the specified RegionInfo object.

MemberwiseClone()

Creates a shallow copy of the current Object.Creates a shallow copy of the current Object.

(Zděděno od Object)
Register()

Uchovává aktuální CultureAndRegionInfoBuilder objekt jako vlastní jazykovou verzi v místním počítači a zpřístupňuje tuto jazykovou verzi aplikacím.Persists the current CultureAndRegionInfoBuilder object as a custom culture on the local computer and makes that culture available to applications. Vyžaduje oprávnění správce.Requires administrative privileges.

Save(String)

Zapíše reprezentace XML aktuálního CultureAndRegionInfoBuilder objektu do zadaného souboru.Writes an XML representation of the current CultureAndRegionInfoBuilder object to the specified file.

ToString()

Vrací řetězec, který představuje aktuální objekt.Returns a string that represents the current object.

(Zděděno od Object)
Unregister(String)

Odstraní vlastní jazykovou verzi z místního počítače.Deletes a custom culture from the local computer.

Platí pro