zoukankan      html  css  js  c++  java
  • 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。提供更为丰富和灵活的接口。



    http://kb.csdn.net/.net/Articles/200602/02d337b9-2cb6-40db-945d-2b1b88c43022.html
  • 相关阅读:
    mysql优化之索引优化
    mysqld --debug-sync
    mysql.cnf 配制文件详解
    my.cnf 中字符集设置
    tcp_tw_reuse 与 net.ipv4.tcp_tw_recycle
    mysql init_connect 参数的其他用处
    监控mysql索引使用效率的脚本
    mysql 源代码学习 博客 [lock..]
    mysqld with valgrind
    思维导图软件
  • 原文地址:https://www.cnblogs.com/flyfish/p/349844.html
Copyright © 2011-2022 走看看