Was ist der Unterschied zwischen CurrentCulture- und CurrentUICulture-Eigenschaften von CultureInfo in .NET?
In .NET da ist der CultureInfo
Klasse in der System.Globalization
namespace. Es hat zwei ähnliche Eigenschaften, sowohl die Rückgabe-Werte der CultureInfo
Typ: CurrentCulture
und CurrentUICulture
.
Was ist der Unterschied zwischen Ihnen?
Welche soll ich verwenden, Wann und warum?
Kommentar zu dem Problem - Öffnen
Bear in mind, die Microsoft in seiner Weisheit, nicht trennen Sie die UI-Kulturen von US-Englisch und (britischen) Englisch oder andere Englishes. Es ist kein MUI-Paket für Englisch, was bedeutet, dass der
CurrentUICulture
wird immer "en-US" auf eine englische Maschine, unabhängig von der CurrentCulture
, die gesetzt werden können, zu lokalisieren die Regionalen Einstellungen. Ja. Ich bin in der UK und finden Sie die
CurrentCulture
'en-GB', sondern CurrentUICulture
'en-US'. InformationsquelleAutor der Frage splattne | 2008-11-30
Du musst angemeldet sein, um einen Kommentar abzugeben.
CurrentCulture
ist .NETTO-Darstellung der Standard-Benutzer-Gebietsschema des Systems. Diese steuert die default-Nummer und das Datum der Formatierung und dergleichen.CurrentUICulture
bezieht sich auf die Standard-Sprache der Benutzeroberfläche, die eine Einstellung in Windows 2000 eingeführt. Dies ist vor allem in Bezug auf die UI-Lokalisierung/übersetzung Ihrer app gehört.Unabhängig von den regionalen Einstellungen das system konfiguriert ist, werden die "Aktuellen" Werte in Ihre .NET app.
Oft Zeiten, Sie sind beide die gleichen. Aber auf meinem system würden Sie anders: ich ziehe meine zahlen und Datumsangaben im deutschen format, also die
CurrentCulture
wäre Deutsch, aber ich habe auch lieber alle meine Bewerbungen auf Englisch, so dass dieCurrentUICulture
wäre Englisch.Gibt es einen schönen Artikel zum Thema: Sortieren Sie alle Aus: Warum haben wir beide CurrentCulture und CurrentUICulture
InformationsquelleAutor der Antwort Tomalak
Dies ist ein einfacher trick, den ich verwenden, um zu erinnern, welches verwendet werden:
InformationsquelleAutor der Antwort foxontherock
Ein guter Weg, um einen Unterschied zu machen, zusätzlich zu den schönen Erklärungen gemacht, die von anderen Benutzern, und ein wichtiger Aspekt in der Entwicklung von web-Anwendungen ist die folgende:
CurrentCulture
stellt das setup des web-Servers. Zum Beispiel, wenn Ihr ASP.NET web-Anwendung ist in Deutschland gehostet, ist der Wert vonCutlureInfo.CurrentCulture
würden die meisten wahrscheinlichde-DE
. Also, die Standard -.ToString()
Formatierung fürIFormattable
Typen möchten, verwenden Sie die Standard-deutschen-Formatierung, oder diejenigen, die auf dem server OS als Standard.CurrentUICulture
erfasst werden können von der user-agent, und kann stellen die Benutzeroberfläche Kultur der client, eine Verbindung zu der website. Zum Beispiel, wenn Sie laden dieser website aus Russland, Ihre lokalen Einstellungen festgelegt sind, um die Verwendung der Russischen Sprache, und Ihr user-agent sendet Ihre locale-Einstellungen für den server (Opera und IE machen das automatisch, nicht sicher für Chrom und FireFox), dieCurrenUICulture
darstellen würderu-RU
. Dies führt dazu, Ressourcen wie etwa lokalisierte Zeichenfolgen abgerufen über Ressourcen-Manager oder der Lokalisierung von Ausdrücken in ASP.NET aspx - /ascx-Dateien werden in die russische (wenn übersetzungen vorhanden sind).InformationsquelleAutor der Antwort Ivaylo Slavov
Es ist erwähnenswert, dass die
CurrentUICulture
unterstützt nicht Land spezifische Schauplätze wie 'de' (Neutrale Kulturen) in der Erwägung, dassCurrentCulture
unterstützt NUR Land bestimmte Gebietsschemas wie "en-GB". EinstellungCurrentCulture
zu einer neutralen Kultur wirft einenArgumentException
.Ich gehe davon aus, dass dies, weil Formate wie Datum und Währung sind weitere eng mit dem Land selbst, aber die Sprache ist oft austauschbar zwischen den Ländern.
InformationsquelleAutor der Antwort Sebris87
Unterschiede:
CurrentCulture
ist für die Formatierung von Datum und Währung, währendCurrentUICulture
geht mit Sprache/übersetzungen. Es werden vonRessourcen-Manager
zu suchen Ressourcen von Kultur.CurrentCulture
KlasseSystem.Globalization
währendCurrentUICulture
kommt ausSystem.Threading
.CurrentCulture
persistiert über verschiedene Anträge in der Sitzung währendCurrentUICulture
muss festgelegt werden, mit jeder Anfrage.Ähnlich:
Beide sind
System.Globalisierung.CultureInfo
Instanzen.InformationsquelleAutor der Antwort Matas Vaitkevicius