我可以告诉我的网页使用某个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
以便进行所有本地化,在这种情况下,使用英语而非瑞典语,例如浏览器设置为:
答案 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中设置它,如下所示:
答案 1 :(得分:1)
MSDN网站上有一个示例说明了如何执行此操作:How to: Set the Culture and UI Culture for ASP.NET Web Page Globalization
基本上,您可以设置当前正在执行的线程的CurrentCulture
和CurrentUICulture
属性(请参阅完整代码示例的文章,这是一个摘录):
Thread.CurrentThread.CurrentCulture = CultureInfo.CreateSpecificCulture(selectedLanguage);
Thread.CurrentThread.CurrentUICulture = new CultureInfo(selectedLanguage);