0

.aspx.cs ページの Page_Load でカルチャとカルチャ ui を設定しようとしています。私が試してみました

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

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

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

しかし、どれも機能しません。文化と文化を設定する方法を知っている人はいますか?

ありがとうございました!

4

1 に答える 1

0

私は解決策を見つけました: InitializeCulture をオーバーライドします。これは、Cookie を組み込み、現在の Cookie を使用してページの言語を設定すると、次のようになります。

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();
            }
        }
    }
于 2014-09-23T19:00:17.267 に答える