如何告诉我的网页使用特定的UI文化?

时间:2010-09-22 14:46:47

标签: c# localization asp.net-3.5 cultureinfo

我可以告诉我的网页使用某个CultureInfo之类的

System.Globalization.CultureInfo.CreateSpecificCulture("en-US");

以上代码仅设置 CultureInfo,而不是UICulture我怎么能告诉Page 绕过什么浏览器说并使用特定的一个,因此所有GlobalResource都可以应用于正确的文化?

在上面的代码中,瑞典语是我的第一个浏览器语言:

System.Globalization.CultureInfo.CurrentUICulture.Name --> sv-SE
System.Globalization.CultureInfo.CurrentCulture.Name --> en-US

我需要设置CurrentUICulture以便进行所有本地化,在这种情况下,使用英语而非瑞典语,例如浏览器设置为:

alt text http://www.balexandre.com/temp/2010-09-22_1645.png

2 个答案:

答案 0 :(得分:4)

尝试

System.Threading.Thread.CurrentThread.CurrentCulture = System.Globalization.CultureInfo.CreateSpecificCulture("en-US");
System.Threading.Thread.CurrentThread.CurrentUICulture = System.Globalization.CultureInfo.CreateSpecificCulture("en-US");

我在我的页面的OnInit中尝试了它并正确加载了资源。

编辑:或者你可以尝试在web.config中设置它,如下所示:

http://msdn.microsoft.com/en-us/library/bz9tc508.aspx

答案 1 :(得分:1)

MSDN网站上有一个示例说明了如何执行此操作:How to: Set the Culture and UI Culture for ASP.NET Web Page Globalization

基本上,您可以设置当前正在执行的线程的CurrentCultureCurrentUICulture属性(请参阅完整代码示例的文章,这是一个摘录):

Thread.CurrentThread.CurrentCulture = CultureInfo.CreateSpecificCulture(selectedLanguage);
Thread.CurrentThread.CurrentUICulture = new CultureInfo(selectedLanguage);