2

我是第一次发帖的长期听众,我真的很想阅读您的一些本地化架构,并最终获得对我们方法的反馈(如下)。

我想要一些关于我们正在考虑使用资源文件的方法的建议。我们正在使用 MVC 3.0 并且有一个网站项目和一个资源项目。在资源项目中,我们有一个模仿网站结构的结构,例如控制器 -> 视图 -> 文件

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

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

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

4

1 回答 1

0

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

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

于 2012-09-07T13:07:00.643 回答