我是第一次长时间听海报的人,我真的有兴趣阅读一些本地化架构,并最终获得有关我们方法的反馈(如下所示)。
我想就我们考虑使用资源文件的方法提出一些建议。我们正在使用MVC 3.0并拥有一个网站项目和一个资源项目。在资源项目中,我们有一个模仿与网站相同结构的结构,例如控制器 - >查看 - >文件的
我们通过在视图/控件顶部导入资源命名空间来引用视图中的resx文件,例如: <%@ Import Namespace="MyAppResources.Resources.Website.Home" %>
然后使用<%= Index.SomeText %>
引用我们需要的resx值,其中index是资源文件的名称。
我们正在考虑做什么并且喜欢一些建议而不是使用这种方法是将资源resx结构划分为网站区域并使用帮助程序,例如LocalizationHelper.GetValue("Home", "SomeText")
其中“Home”是资源文件的名称,"SomeText"
是该resx文件中的值。我们这样做的原因是不必为我们制作的每个小副本更改继续编译资源项目(因为我们可能需要对我们部署的环境进行快速修复),并且它可能是网站中最常用的帮助程序这样可以保持简短和一致。 Localization助手还会将值存储在缓存的字典中,因此如果一个值被多次使用,它将从缓存中检索它。
有没有人知道我们没有想到的更好的方法或改进?
答案 0 :(得分:0)
我建议使用数据库来存储本地化的值而不是RESX文件。
使用数据库可以防止您需要进行任何代码/文件部署来更新应用程序。此外,您可以构建一个用于修改本地化值的GUI界面(这对于站点管理员/编辑者来说是一个很棒的功能)。