0

I'm trying to set the culture and culture ui in the Page_Load of a .aspx.cs page. I have tried

Thread.CurrentThread.CurrentUICulture = new System.Globalization.CultureInfo("fr-CA");

and

CultureInfo ci = new CultureInfo("fr-CA");
Thread.CurrentThread.CurrentCulture = ci;
Thread.CurrentThread.CurrentUICulture = ci;

and

Culture = "fr-CA";
UICulture = "fr-CA";

but none of them work. Does anyone know how to set the culture and uiculture?

Thank you!

starvator
  • 989
  • 1
  • 11
  • 26

1 Answers1

0

I found a solution: override the InitializeCulture. This is what it looks like when I incorporated cookies and use the current cookie to set the language of the page.

protected override void InitializeCulture()
    {

        HttpCookie cookie = Request.Cookies["CurrentLanguage"];
        if (!IsPostBack && cookie != null && cookie.Value != null)
        {
            if (cookie.Value.ToString() == "en-CA")
            {
               // currently english
                System.Threading.Thread.CurrentThread.CurrentUICulture = new System.Globalization.CultureInfo("en-CA");
                System.Threading.Thread.CurrentThread.CurrentCulture = new System.Globalization.CultureInfo("en-CA");
                base.InitializeCulture();
            }
            else
            {
               //currently french
                System.Threading.Thread.CurrentThread.CurrentUICulture = new System.Globalization.CultureInfo("fr-CA");
                System.Threading.Thread.CurrentThread.CurrentCulture = new System.Globalization.CultureInfo("fr-CA");
                base.InitializeCulture();
            }
        }
    }
starvator
  • 989
  • 1
  • 11
  • 26