Ich glaube, Sie müssen Code schreiben lesen Sie die Kultur des Benutzers von der eingehenden Browser-Anfrage, und legen Sie Ihre CultureInfo von diesem.
This fellow describes how they do it: Legen Sie die Anzeigekultur für den aktuellen Thread auf die am besten geeignete Kultur aus dem eingehenden HTTP-Objekt "Anforderung" des Benutzers fest.
Er hat eine ausgezeichnete Diskussion gibt, aber das ist im Grunde, wie er es tut:
In Page_Load
, machen sie diesen Aufruf: UIUtilities.setCulture(Request);
Wo ist das, was man bekommt:
/// Set the display culture for the current thread to the most
/// appropriate culture from the user's incoming Http "request" object.
internal static void setCulture(HttpRequest request)
{
if (request != null)
{
if (request.UserLanguages != null)
{
if (request.UserLanguages.Length > -1)
{
string cultureName = request.UserLanguages[0];
UIUtilities.setCulture(cultureName);
}
}
// TODO: Set to a (system-wide, or possibly user-specified) default
// culture if the browser didn't give us any clues.
}
}
/// Set the display culture for the current thread to a particular named culture.
/// <param name="cultureName">The name of the culture to be set
/// for the thread</param>
private static void setCulture(string cultureName)
{
Thread.CurrentThread.CurrentCulture =
CultureInfo.CreateSpecificCulture(cultureName);
Thread.CurrentThread.CurrentUICulture = new
CultureInfo(cultureName);
}
In den richtigen Zeilen, aber beachten Sie, dass der Accept-Language-Header, der vom Browser gesendet wird, nicht unbedingt die bevorzugte Sprache des Benutzers ist. Ich bin in Europa und habe zufällig eine US-Version von Windows, also sendet mein IE8 en-US. Beachten Sie außerdem, dass der Name in der Kopfzeile der akzeptierten Sprache möglicherweise kein gültiger Name der .NET-Kultur ist. Daher sollte der Aufruf von CreateSpecificCulture in einem try/catch eingeschlossen sein. – Joe
kein Glück. Ich bekomme immer noch en-uns in Test – thchaver
Was bekommen Sie von Request.UserLanguages? Sind Sie sicher, welche Sprache Ihr Browser anfordert? – DOK