因此,我需要在运行时更改网站集的区域设置。
我将一个.resx文件部署到web应用程序的App_GlobalResources文件夹中,然后使用:
<asp:Literal runat="server" Text="<%$Resources:MyResource,MyLocalizedStringID%>" />以插入正确的本地化字符串。
这适用于默认的资源文件,但我希望当用户在区域设置中更改区域设置时,网站的区域设置会发生变化。即使用户更改了区域设置,它仍然会选择默认的资源文件。
我知道用ASP.Net我需要修改我以前做过的CurrentCulture,但是用SharePoint怎么做呢?以及如何使我的网站集加载正确的资源文件?
我可以在页面上放置一个下拉列表,允许用户选择语言,然后更改CurrentCulture,我还可以创建另一个网站设置条目来做同样的事情。
但理想情况下,我希望使用开箱即用的区域设置来完成此操作。
有什么想法吗?
发布于 2009-08-05 18:20:04
是的,我知道这一点,但这不会改变正在运行的ASP.Net线程的CurrentUICulture,因此不会加载正确的.resx文件。
我找到了一个解决方案,一旦您更改了区域设置区域设置,您需要在页面布局中添加以下代码,以便在页面加载时设置正确的UI区域性。
<script runat="server">
protected override void InitializeCulture()
{
System.Threading.Thread.CurrentThread.CurrentUICulture = Microsoft.SharePoint.SPContext.Current.Web.Locale;
base.InitializeCulture();
}
</script>发布于 2009-08-05 19:09:10
我刚刚在这个解决方案上发表了一篇博文,标题是“使用ASP.Net资源文件本地化SharePoint UI”。
http://leedale.wordpress.com/2009/08/05/localizing-a-sharepoint-ui-using-asp-net-resource-files/
发布于 2009-08-05 17:37:09
您可以在管理中心->应用程序管理-> Web应用程序常规设置中更改区域设置
https://stackoverflow.com/questions/1234212
复制相似问题