DNN中一个没有完全本地化的地方。
管理员进入后,编辑状态时,“窗格”的汉化问题。
图1
图2
解决方案:通过修改了两个主要.VB文件。
1. WebSite\admin\ControlPanel\IconBar.ascx.vb 第226行 图1 涉及的文件
cboPanes.Items.Add(New ListItem(Localization.GetString("itemPane" & intItem, Me.LocalResourceFile), Convert.ToString(PortalSettings.ActiveTab.Panes(intItem))))
2. DNN源工程中要修改的文件 DotNetNuke_04.05.05_Source\Library\Components\Skins\Skin.vb 第853行 图2涉及的文件
ctlLabel.Text = "<center>" & strPane & "</center><br>" strPane 我们可以用全局变量来代替它,也就可以达到汉化的结果。
比如:
& Localization.GetString("itemPane" & intItem) &
用全局变量来存储,需要在3中的两个文件中加入itemPane0,itemPane1,....项,需要几项就要看你的容器里怎么定义的。命名就不能用具体的名称了,应该用“窗格一”,“窗格二”。。。。
3. 修改了website/App_GlobalResources/SharedResources.resx和SharedResources.zh-CN.resx
4. 修改了WebSite\admin\ControlPanel\App_LocalResources\IconBar.ascx.resx和IconBar.ascx.zh-CN.resx
欢迎交流。