Ich versuche, das Land meiner Kunden zu erhalten, also verwende ich CultureInfo.CurrentCulture. Problem ist, dass, wenn meine kanadischen Kunden meine Website benutzen, sie als Amerikaner angezeigt werden.
Es sieht so aus, als ob CultureInfo.CurrentCulture das Land meines Servers anstatt ihres Landes zurückgibt. Wie bekomme ich das Land meiner Kunden?
Sie müssen nur das culture
-Attribut auf auto
in Ihrer web.config-Datei setzen:
Damit wird CurrentCulture
automatisch auf die Kultur des Clients gesetzt.
Sie können uiCulture
auch auf auto
setzen, wenn Sie lokalisierte Ressourcen verwenden.
Ich glaube, dass Sie Code in schreiben müssen, um die Kultur des Benutzers aus der eingehenden Browseranforderung zu lesen , und setzen Sie Ihre CultureInfo darauf.
Dieser Kerl beschreibt, wie sie tue es : Setze die Anzeigekultur für den aktuellen Thread auf die am besten geeignete Kultur aus dem ankommenden Http "Anfrage" -Objekt des Benutzers.
Er hat dort eine ausgezeichnete Diskussion, aber im Grunde macht er das so:
In Page_Load
machen sie diesen Aufruf: UIUtilities.setCulture(Request);
Wo dies heißt:
%Vor% In meinem Fall hatte meine Maschine ursprünglich Englisch - UK installiert. Ich habe die Sprache Englisch - US hinzugefügt und als Standard festgelegt. Ich habe auch verifiziert, dass US in der Registrierung richtig eingestellt wurde. Leider zeigte System.Threading.Thread.CurrentThread.CurrentCulture
immer noch die falsche Kultur, UK. Ich habe festgestellt, dass Sie die Sprachoptionen einstellen müssen. Laden Sie das Sprachpaket, die Handschrift und die Rede herunter.
Schon damals war die Kultur falsch. Das Vereinigte Königreich würde überall auf der Maschine auftauchen und nachdem ich das US Sprachpaket installiert hatte, ging das Startmenü völlig durcheinander. Ich habe aufgegeben und das Betriebssystem mit einer englisch-amerikanischen Version neu installiert.
Tags und Links c# cultureinfo currentculture