.net Application的localization是可以使用resource 文件来实现的,
不管是通过文件还是resource assembly, 都是本地文件。
我们现在需要一个使用database 的资源表, 大家如何来实现了。
很多人很快想到, 我们可以自己实现一个class ,用来得到资源文件,在window form load后通过方法给控件付值。 Web form 也是类似的做法。
Ok , 这个是一个方法。 我们下面来看看另外的做法。
Webform 的resource db 实现:
通过resource provider的方法来实现。
大家可以在System.Web.Compilation 下找到System.Web.Compilation.ResourceProviderFactory , 对的,就是它, 通过factory 创建自己的resource provider . 通过这种方式我们实现各种存储方式下的localization。
Provider 程式:
Windows 的resource db 如何实现呢:
看看System.ComponentModel.ComponentResourceManager:System.Resources.ResourceManager
没有错,这是.net中一个resourcemanager实现。
我们只要自己设置db的resouremanager就可以了。