Sdílet prostřednictvím


Třída CultureAndRegionInfoBuilder

Tento článek obsahuje doplňující poznámky k referenční dokumentaci pro toto rozhraní API.

Poznámka:

Třída CultureAndRegionInfoBuilder je užitečná pouze pro operační systémy Windows. Vygenerované soubory .nlp nejsou podporovány v operačních systémech jiných než Windows. I ve Windows jsou generované soubory .nlp podporovány pouze v rozhraní .NET Framework (nebo v .NET Core při použití režimu globalizace NLS).

Třída CultureInfo obsahuje informace specifické pro jazykovou verzi, jako je přidružený jazyk, podlanguage, země/oblast, kalendář a kulturní konvence. Tato třída také poskytuje instance specifické pro jazykovou verzi , NumberFormatInfo, CompareInfoa TextInfo třídy, které jsou vyžadovány pro operace specifické pro jazykovou verzi, jako jsou písmenaDateTimeFormatInfo, formátování a analýza kalendářních dat a čísel a porovnávání řetězců.

.NET ve výchozím nastavení podporuje CultureInfo objekty, které představují předdefinovanou sadu jazykových verzí. Seznam těchto jazykových verzí dostupných v systémech Windows najdete ve sloupci Značka jazyka v seznamu názvů jazyků a oblastí podporovaných systémem Windows. Názvy jazykových verzí se řídí standardem definovaným BCP 47. Třída CultureAndRegionInfoBuilder umožňuje vytvořit vlastní jazykovou verzi, která je zcela nová nebo která přepíše předdefinovanou jazykovou verzi. Když je na konkrétním počítači nainstalovaná a zaregistrovaná vlastní jazyková verze, stane se nerozlišitelným od předdefinovaných CultureInfo objektů a může být vytvořena a používána stejně jako tyto objekty.

Důležité

Třída CultureAndRegionInfoBuilder se nachází v sestavení s názvem sysglobl.dll. Chcete-li úspěšně zkompilovat kód, který používá tento typ, musíte přidat odkaz na sysglobl.dll.

Vlastní jazykovou verzi může zaregistrovat jenom uživatel, který má na tomto počítači práva správce. V důsledku toho aplikace obvykle nevytvoří a nenainstalují vlastní jazykové verze. Místo toho můžete pomocí CultureAndRegionInfoBuilder třídy vytvořit speciální nástroj, který může správce použít k vytvoření, instalaci a registraci vlastní jazykové verze. Po registraci vlastní jazykové verze na počítači můžete pomocí CultureInfo třídy v aplikaci vytvořit instance vlastní jazykové verze stejně jako pro předdefinovanou jazykovou verzi.

Pokud analyzujete řetězce data a času vygenerované pro vlastní jazykovou verzi, měli byste místo metody nebo DateTime.TryParseExactDateTime.TryParse metody DateTime.Parse použít DateTime.ParseExact metodu ke zlepšení pravděpodobnosti, že operace analýzy bude úspěšná. Řetězec data a času pro vlastní jazykovou verzi může být komplikovaný, a proto se obtížně parsuje. TryParse Metody Parse se snaží analyzovat řetězec s několika implicitními vzory analýzy, z nichž všechny můžou selhat. Metoda TryParseExact naproti tomu vyžaduje, aby aplikace explicitně určila jeden nebo více přesných vzorů analýzy, které budou pravděpodobně úspěšné.

Definování a vytvoření vlastní jazykové verze

Třídu CultureAndRegionInfoBuilder použijete k definování a pojmenování vlastní jazykové verze. Vlastní jazyková verze může být zcela nová jazyková verze, nová jazyková verze založená na existující jazykové verzi (tj. doplňkové jazykové verzi) nebo jazykovou verzi, která nahrazuje stávající jazykovou verzi .NET. V každém případě jsou základní kroky stejné:

  1. CultureAndRegionInfoBuilder Vytvořte instanci objektu voláním jeho CultureAndRegionInfoBuilder(String, CultureAndRegionModifiers) konstruktoru. Chcete-li nahradit existující jazykovou verzi, předejte název této jazykové verze a hodnotu výčtu CultureAndRegionModifiers.Replacement konstruktoru. Pokud chcete vytvořit novou jazykovou verzi nebo doplňkovou jazykovou verzi, předejte jedinečný název jazykové verze a hodnotu výčtu CultureAndRegionModifiers.NeutralCultureAndRegionModifiers.None .

    Poznámka:

    Pokud k vytvoření CultureAndRegionInfoBuilder instance objektu CultureAndRegionModifiers.Replacement použijete hodnotu výčtu, vlastnosti objektu se automaticky vyplní hodnotami z objektuCultureInfo, CultureAndRegionInfoBuilder které se mají nahradit.

  2. Pokud vytváříte novou nebo doplňkovou jazykovou verzi:

  3. Podle potřeby upravte vlastnosti objektu CultureAndRegionInfoBuilder .

  4. Pokud plánujete zaregistrovat vlastní jazykovou verzi v samostatné rutině, zavolejte metodu Save . Tím se vygeneruje soubor XML, který můžete načíst a zaregistrovat v samostatné rutině instalace vlastní jazykové verze.

Registrace vlastní jazykové verze

Pokud vyvíjíte registrační aplikaci pro vlastní jazykovou verzi, která je oddělená od aplikace, která vytváří jazykovou verzi, zavoláte metodu CreateFromLdml načtení souboru XML obsahujícího definici vlastní jazykové verze a vytvoření instance objektu CultureAndRegionInfoBuilder . Chcete-li zpracovat registraci, zavolejte metodu Register . Aby registrace byla úspěšná, musí být aplikace, která zaregistruje vlastní jazykovou verzi, spuštěna s oprávněními správce v cílovém systému; jinak volání vyvolá RegisterUnauthorizedAccessException výjimku.

Upozorňující

Data jazykové verze se můžou mezi systémy lišit. Pokud třídu používáte CultureAndRegionInfoBuilder k vytvoření vlastní jazykové verze, která je jednotná v různých systémech a vytváříte vlastní jazykovou verzi načtením dat z existujících CultureInfo a RegionInfo objektů a jejich přizpůsobením, měli byste vyvíjet dva různé nástroje. První vytvoří vlastní jazykovou verzi a uloží ji do souboru XML. Druhý používá metodu CreateFromLdml k načtení vlastní jazykové verze ze souboru XML a jeho registraci v cílovém počítači.

Proces registrace provádí následující úlohy:

  • Vytvoří soubor .nlp obsahující informace definované v objektuCultureAndRegionInfoBuilder.
  • Uloží soubor .nlp do systémového adresáře %windir%\Globalization v cílovém počítači. To umožňuje zachovat nastavení vlastní jazykové verze mezi relacemi. (Metoda CultureAndRegionInfoBuilder vyžaduje oprávnění správce, protože soubor .nlp je uložen v systémovém adresáři.)
  • Připraví .NET k vyhledání systémového adresáře %windir%\Globalization namísto interní mezipaměti při příštím požadavku na vytvoření nové vlastní jazykové verze.

Když je vlastní jazyková verze úspěšně zaregistrována, je nerozlišitelná od jazykových verzí, které jsou předdefinované rozhraním .NET. Vlastní jazyková verze je k dispozici, dokud volání CultureAndRegionInfoBuilder metody neodebere soubor .nlp z místního počítače.

Vytvoření instance vlastní jazykové verze

Instanci vlastní jazykové verze můžete vytvořit jedním z následujících způsobů:

Kromě toho pole CultureInfo objektů vrácených metodou CultureInfo.GetCultures zahrnuje vlastní jazykovou verzi.