DNN中的Localization系统-阿里云开发者社区

开发者社区> 开发与运维> 正文
登录阅读全文

DNN中的Localization系统

简介:
一直对本地化挺有兴趣。原来也做过类似的工作。但一直都觉得做得不好。所以很想看看DNN是怎么做得。在DNN的文档中/Documents/DotNetNuke Localization看了一下。觉得这篇文章写得很好。然后又特意去查了下MSDN。结果查到了这篇文章http://msdn.microsoft.com/library/chs/default.asp?url=/library/CHS/vbcon/html/vbwlkwalkthroughlocalizingwebforms.asp。可以看做是.net平台上web本地化的一个入门教程。
DNN利用了.net中的RSCX文件来存放各语言的内容。但DNN获取Rscx中内容的方法并不像上面MSDN中的文章那样,利用.net提供的功能类来做。而是用了操作XML文档的方法。从Localization类的GetString方法入手,一路转跳。可以了解DNN是如何操作的。但我不明白的是为什么不还利用.net提供的功能类。在DNN的文档中说是为了兼容Asp.net2.0而这样设计。还没有开发过Asp.net2.0的项目。所以没有体会到它的苦心。
在为控件本地化上,DNN为每个需要本地化的控件添加了一个resourcekey值。觉得这样做比在后台类中为各控件一一赋值更为灵活更易修改。也减轻了编码的困难。另外,如果不方便添加resourcekey的控件和其他一些地方的本地化,也可以调用GetString和其他API。使得本地化变得更为简单。呵呵。又学到一点。但是我一直找不到哪个类是完成这个赋值,望指点。
DNNlocalization系统中。可以看到一个FallBack的概念。大家可以看看Localization类中的GetResource方法以及它的注释。觉得挺有意思的。

看完这个系统后。给我的体会是,做一个系统时,不但要思考你过去做这个功能用过什么样的方法。还有特别注意你所用的平台对这个功能提供了什么特定的接口。像Localization你可以用文本,数据库来存放语言信息。但.net平台下,一个首先应该考虑的是利用rscx文件来存放。所以说,虽然平台之间可以触类旁通,但如果想真正做得十分优秀,必须对你所用的平台做到十分的了解和专精。另外。在完成功能类后,应该更多考虑不同的UI。提供更为丰富和灵活的接口。









本文转自 duguguiyu 51CTO博客,原文链接:http://blog.51cto.com/duguguiyu/361754,如需转载请自行联系原作者

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享:
开发与运维
使用钉钉扫一扫加入圈子
+ 订阅

集结各类场景实战经验,助你开发运维畅行无忧

其他文章
最新文章
相关文章