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