Sdílet prostřednictvím


Použití vlastnosti CurrentCulture

Vlastnost CurrentCulture reprezentuje informaci o aktuální jazykové verzi na základě vlákna. Tato informace stanovuje výchozí formáty data, času, měny a čísel; pořadí řazení textů; porovnávaní řetězců; a velká a malá písmena. Nastavení, které je provedeno pomocí této vlastnosti není nastavení jazyka. Vlastnost definuje pouze data týkající se standardního nastavení pro zeměpisnou oblast. Proto vaše aplikace může nastavit pouze CurrentCulture nebo InvariantCulture, aby specifikovala jazykovou verzi. Aplikace může použít vlastnost CurrentThread pro nastavení CurrentCulture.

PoznámkaPoznámka

Změna jazykové verze CurrentThread vyžaduje objekt SecurityPermission s nastaveným ControlThread. Manipulování s vlákny je nebezpečné kvůli stavu zabezpečení asociovanému s vlákny.Proto by tato oprávnění měla být udělena pouze důvěryhodnému kódu a pouze v případě potřeby.Nemůžete změnit jazykovou verzi vlákna v částečně důvěryhodném kódu.

Explicitní nastavení vlastnosti CurrentCulture

Vaše aplikace může nastavit vlastnost CurrentCulture explicitně. Následující příklad kódu nastaví vlastnost na konkrétní jazykovou verzi - němčinu (Německo), označenou "de-DE".

Thread.CurrentThread.CurrentCulture = new CultureInfo("de-DE")
Thread.CurrentThread.CurrentCulture = new CultureInfo("de-DE");

Vaše aplikace musí pro inicializaci vlastnosti CurrentCulture použit specifickou jazykovou verzi. Vlastnost očekává jazykovou verzi, která je asociovaná jak s jazykem, tak se zemí nebo oblastí. Například angličtina (Spojené státy), označená "en-US". Protože jazyk je často používán ve více než jedné zemi či oblasti, je nezbytné stanovit vhodné konvence formátování pro použití regionálních informací. Například pokud vaše aplikace specifikuje jazykovou verzi "en" pro neutrální angličtinu, existuje více správných nastavení pro formát data nebo měny. Datum může být ve formátu Spojeného království nebo USA. Měna může být v novozélandském nebo kanadském formátu. Pokud se aplikace pokusí nastavit vlastnost CurrentCulture zadáním neutrální jazykové verze, tak bude vyvolána výjimka.

Pokud máte přístup pouze k neutrální jazykové verzi, může aplikace vytvořit objekt CultureInfo ve formátu, který očekává CurrentCulture a to pomocí metody CreateSpecificCulture. Tato metoda mapuje neutrální jazykovou verzi na asociovanou výchozí, specifickou jazykovou verzi a potom vytvoří objekt CultureInfo, který představuje tuto konkrétní jazykovou verzi. Následující příklad kódu používá metodu CreateSpecificCulture pro mapování neutrální německé jazykové verze ("de") na konkrétní německou jazykovou verzi, označenou "de-DE". Poté pro "de-DE" vytvoří objekt CultureInfo a používá ho pro inicializaci hodnoty vlastnosti CurrentCulture.

Thread.CurrentThread.CurrentCulture = CultureInfo.CreateSpecificCulture("de")
Thread.CurrentThread.CurrentCulture = CultureInfo.CreateSpecificCulture("de");
PoznámkaPoznámka

Tato metoda je volitelná.Pokud mapování, které poskytuje, není pro vaši aplikaci vhodné, tak aplikace může používat její vlastní mapování.

Explicitní nastavení vlastnosti CurrentCulture v .aspx stránce

Metoda CreateSpecificCulture také vaší aplikaci umožňuje používat aktuální jazyk webového prohlížeče pro inicializaci vlastnosti CurrentCulture v .aspx stránce. V následujícím příkladu kódu vlastnost UserLanguages získá aktuální jazyk webového prohlížeče jako řetězec. Metoda CreateSpecificCulture analyzuje tento řetězec a vrátí objekt CultureInfo ve formátu, který slouží k inicializaci hodnoty vlastnosti CurrentCulture.

' Sets the CurrentCulture property to the culture associated with the Web
' browser's current language setting.
Thread.CurrentThread.CurrentCulture = CultureInfo.CreateSpecificCulture(Request.UserLanguages[0])
// Sets the CurrentCulture property to the culture associated with the Web
// browser's current language setting.
Thread.CurrentThread.CurrentCulture = CultureInfo.CreateSpecificCulture(Request.UserLanguages[0]);

Další informace týkající se použití a získávání zdrojů v aplikacích technologie ASP.NET naleznete v tématu Prostředky v aplikacích technologie ASP.NET.

Implicitní nastavení vlastnosti CurrentCulture

V operačním systému Windows funkce GetUserDefaultLCID nastavuje vlastnost CurrentCulture. Uživatel může změnit nastavení této vlastnosti změnou jazykové verze uživatele prostřednictvím místního a jazykového nastavení v Ovládacích panelech nebo změnou nastavení týkající se národního prostředí uživatele, například formáty měny, čísel, data a času.

Pokud chcete zajistit, aby vaše aplikace používala výchozí formáty, které poskytuje rozhraní .NET Framework pro měnu, čísla, datum a čas pro určité jazykové verze, tak aplikace musí přepsat výchozí nastavení národního prostředí uživatele. Aplikace by měla vytvořit objekt CultureInfo pomocí přetížení konstruktoru, který přijímá parametr useUserOverride a nastavit tento parametr na hodnotu false. Použití této techniky způsobí, že výchozí nastavení operačního systému uživatele bude přepsáno výchozím nastavením pro rozhraní .NET Framework. Když formátujete měnu pro členy Evropské unie (EU), kteří obchodují v eurech, tak je vaší aplikaci doporučeno nastavit parametr useUserOverride na hodnotu false, aby se zajistilo, že je použit správný symbol měny. Další informace naleznete v dílčím tématu Formátování měny pro evropské národy, který je součástí tématu Formátování číselných dat pro konkrétní jazykovou verzi.

Viz také

Koncepty

Formátování číselných dat pro konkrétní jazykovou verzi

Prostředky v aplikacích technologie ASP.NET

Použití třídy CultureInfo

Použití vlastnosti CurrentUICulture

Použití vlastnosti InvariantCulture