您需要通过添加以下函数在 Global.asax 中设置默认语言:
protected void Application_BeginRequest(object sender, EventArgs e)
{
System.Threading.Thread.CurrentThread.CurrentCulture = new System.Globalization.CultureInfo("fr-FR");
System.Threading.Thread.CurrentThread.CurrentUICulture = new System.Globalization.CultureInfo("fr-FR");
}
如果您想为用户使用更改语言选项并创建更改语言按钮(例如 EN 和 FR 按钮)。您必须在控制器中设置文化值。例如:
View:
@Html.ActionLink("English", "SelectLanguage", "Home", new { SelectedLanguage = "en-US" }, null)
@Html.ActionLink("Français", "SelectLanguage", "Home", new { SelectedLanguage = "fr-FR" }, null)
控制器:
public ActionResult SelectLanguage(string SelectedLanguage)
{
Thread.CurrentThread.CurrentCulture = CultureInfo.CreateSpecificCulture(SelectedLanguage);
Thread.CurrentThread.CurrentUICulture = new CultureInfo(SelectedLanguage.ToLower());
HttpCookie LangCookie = new HttpCookie("LangCookie");
LangCookie.Value = SelectedLanguage;
Response.Cookies.Add(LangCookie);
return RedirectToAction("Index", "Home");
}
另外,如果你想检查语言 cookie,你可以在 Global.asax 中控制它,如下所示:
protected void Application_BeginRequest(object sender, EventArgs e)
{
HttpCookie LangCookie = Request.Cookies["LangCookie"];
if (LangCookie != null && LangCookie.Value != null)
{
System.Threading.Thread.CurrentThread.CurrentCulture = new System.Globalization.CultureInfo(LangCookie.Value);
System.Threading.Thread.CurrentThread.CurrentUICulture = new System.Globalization.CultureInfo(LangCookie.Value);
}
else
{
System.Threading.Thread.CurrentThread.CurrentCulture = new System.Globalization.CultureInfo("fr-FR");
System.Threading.Thread.CurrentThread.CurrentUICulture = new System.Globalization.CultureInfo("fr-FR");
}
}