我希望能够在运行时设置文化。例如:
protected void Page_Load(object sender, EventArgs e)
{
Page.Culture = "fr-FR";
Page.UICulture = "fr";
}
但这没有任何效果。我正在使用资源文件进行翻译。如果我更改浏览器的语言,它可以正常工作,但我希望用户也能够选择语言。所以在这种情况下,用户想要法语作为语言。
有任何想法吗?我迷路了。
我希望能够在运行时设置文化。例如:
protected void Page_Load(object sender, EventArgs e)
{
Page.Culture = "fr-FR";
Page.UICulture = "fr";
}
但这没有任何效果。我正在使用资源文件进行翻译。如果我更改浏览器的语言,它可以正常工作,但我希望用户也能够选择语言。所以在这种情况下,用户想要法语作为语言。
有任何想法吗?我迷路了。
例如,如果您正在创建一个允许用户更改语言的站点,那么您需要在方法中的Global.asax
文件中执行此操作Application_BeginRequest
。
然后,每个请求都将具有文化集。
您只需设置以下 2 行:
Threading.Thread.CurrentThread.CurrentCulture = new System.Globalization.CultureInfo("fr-FR");
Threading.Thread.CurrentThread.CurrentUICulture = new System.Globalization.CultureInfo("fr-FR");
第一行将设置数字/日期/等格式。
第二行指定要加载的资源本地化 - 它将包含您的翻译内容。
你可以试试这个:
Thread.CurrentThread.CurrentCulture =
CultureInfo.CreateSpecificCulture("en-US");
Thread.CurrentThread.CurrentUICulture = new
CultureInfo("en-US");
有关更多详细信息,请参阅MSDN中的这篇文章。
如果要为整个应用程序设置它,可以将其设置Global.asax
为
Thread.Current.Culture = 新 System.Globalization.CultureInfo("fr-FR");