I have a resource file for using English/Hindi language but it`s showing me only English words, even when switching to Hindi.
The page display is as expected when switching to English.
protected override void InitializeCulture()
{
if (Request[PostBackEventTarget] != null)
{
string controlID = Request[PostBackEventTarget];
if (controlID.Equals(LanguageDropDownID) || controlID.Equals("ddlLanguage"))
{
Session["LanguageChanged"] = true;
string selectedValue = Request.Form[Request[PostBackEventTarget]].ToString();
switch (selectedValue)
{
case "1": SetCulture("en-GB", "en-GB"); break;
case "2": SetCulture("hi-IN", "hi-IN"); break;
default: break;
}
}
else
Session["LanguageChanged"] = false;
}
else if (Session["MyUICulture"] == null)
{
SetCulture("hi-IN", "hi-IN");
Session["LanguageChanged"] = false;
}
else
SetCulture(Session["MyUICulture"].ToString(), Session["MyUICulture"].ToString());
if (Session["MyUICulture"] != null && Session["MyCulture"] != null)
{
Thread.CurrentThread.CurrentUICulture = (CultureInfo)Session["MyUICulture"];
Thread.CurrentThread.CurrentCulture = (CultureInfo)Session["MyCulture"];
}
base.InitializeCulture();
}
protected void SetCulture(string name, string locale)
{
Thread.CurrentThread.CurrentUICulture = new CultureInfo(name);
Thread.CurrentThread.CurrentCulture = new CultureInfo(locale);
Session["MyUICulture"] = Thread.CurrentThread.CurrentUICulture;
Session["MyCulture"] = Thread.CurrentThread.CurrentCulture;
}
protected void Page_PreInit(Object sender, EventArgs e)
{
if (Session["MyUICulture"] != null)
{
if (Session["MyCulture"].ToString() == "hi-IN")
this.Page.Theme = "Hindi";
else
this.Page.Theme = "English";
}
else
this.Page.Theme = "English";
}
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…