Question

How can I apply new locale in MVC application ?

I've created an Action that sets

Thread.CurrentThread.CurrentUICulture = new CultureInfo("en-US");
Thread.CurrentThread.CurrentCulture = new CultureInfo("en-US");

then redirects to Index.chtml , but this is not working.

How to make this thing work please ?

Was it helpful?

Solution

Setting the culture is only valid until the thread terminates, which happens after all page processing has finished. In this case, after you issue the redirect the server will send the Location HTTP header to the new address and close the response. The browser will then initiate a new request to the new location and the value you set in Thread.CurrentThread.CurrentCulture will reset to the default one.

You have to persist the language selection (session, cookie...) and then apply it at start of your page logic.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top