在本网站上有一些与ASP.NET MVC应用程序中的
how to access RESX文件相关的问题,以及
best practices使用它们的问题.
但是在阅读之后(第一次添加)MSDN article on resources我不知道使用RESX文件是否有任何优势,因为我不会使用服务器控件.所有这些关于“隐含”和“显式”本地化的谈话,但是我不会从MVC中受益.
最终我的应用程序将需要字符串资源的按钮和菜单项,还有更长的HTML项目用于更长的杂项内容.我想使用一个CMS的更长的项目,因为我很确定我不想把它们粘贴到一个RESX文件.
在新应用程序中是否使用或不使用ASP.NET资源有什么令人信服的理由.我将假设任何未来的MVC增强功能或RESX增强功能将一起工作,但现在我只是看到了一个荣耀的IDictionary,就我所见.
我应该继续使用RESX还是看别处?我甚至应该考虑一个CMS为RESX设计的各种资源?
任何吸取教训将不胜感激.
解决方法
RESX基础设施有以下优点:
>您不必加载适当的每种语言资源.一旦建立了线程的区域设置,CLr将负责找到适当的程序集并加载资源.
>很容易将本地化的区域设置资源交给第三方.
>对于非本地化资源,有一个默认的回退机制.
RESX方法还有一个特别的缺点:
我想详细阐述一下最后一点.以Facebook翻译模型为例. Facebook对于各种资源的翻译来说,提供和投票的方式相当简单.如果这些存储在数据库中,则可以在适当的编辑过程之后使用它们,而无需重新构建和重新部署应用程序.使用RESX模型,资源组件将必须重新构建并重新部署,这可能具有足够高的成本,具体取决于部署过程.
因此,在决定使用什么本地化流程之前,我将看看在本地化实施之后,本地化资源的部署过程将在主应用程序部署之后进行.
编辑:我忘了提到这些考虑与ASP.NET框架选择(MVC或WebForms)是正交的.