2012-09-04 57 views
2

我是第一次海报很长时间的听众,我真的有兴趣阅读一些本地化架构,并最终获得有关我们方法的反馈(如下所示)。资源(resx)自定义帮手

我想就我们正在考虑的使用资源文件的方法提出一些建议。我们使用MVC 3.0,并有一个网站项目和一个资源项目。在资源项目中,我们有一个模拟与网站相同结构的结构,例如控制器 - >查看 - >文件

我们通过导入视图/控件顶部的资源命名空间来引用视图中的resx文件,例如<%@ Import Namespace="MyAppResources.Resources.Website.Home" %>,然后使用<%= Index.SomeText %>引用我们需要的resx值,其中index是资源文件的名称。

我们正在考虑做什么,并会喜欢一些建议,而不是使用这种方法是将资源resx结构分成网站区域和使用助手,例如, LocalizationHelper.GetValue("Home", "SomeText")其中“Home”是资源文件的名称,"SomeText"是该resx文件中的值。我们这样做的原因是不必为我们做的每一个小的副本更改而继续编译资源项目(因为我们可能需要快速修复我们的部署环境),并且它可能是网站中最常用的帮助器项目,这将使事情变得简短和一致。本地化帮助程序还会将值存储在缓存字典中,因此如果多次使用某个值,它将从缓存中检索值。

有谁知道我们没有想到的更好的方法或改进?

回答

0

我会建议使用数据库来存储本地化值而不是RESX文件。

使用数据库可以防止您需要进行任何代码/文件部署来更新您的应用程序。此外,您可以构建用于修改本地化值的GUI界面(这对于站点管理员/编辑者来说是一个很好的功能)。