如何使用数据库支持的资源本地化MVC

时间:2010-08-24 09:11:25

标签: database model-view-controller asp.net-mvc-2 resources resx

我已经阅读了Google和SO提供的大部分文献(如果我错过了某些内容,请更正我)。

我想要做的是使用资源本地化MVC网站,我想要compiletime safety of strongly typed resource files (ResX)ASP.NET 2.0 Resource-Provider Model的灵活性,或类似的东西。我不介意做一些工作,但似乎我所研究的所有路径都导致死路一条。

为了在视图中显示本地化文本,我可以hack together a helper to pull resources from HttpContext.Get(Global|Local)ResourceObject但是在model validation and scaffolding时我无处可去,我想我可以继承属性并提供数据但是因为它意味着从HttpContext中提取东西我怀疑在激活属性时可用。

由于MVC中的方向本地化似乎是针对ResX文件而远离2.0资源提供者模型,我可以尝试将自己注入ResXFileCodeGenerator with a custom ResXFileCodeGenerator生成的类中以提供我自己的ResourceProvider,但这是非常hackish涉及自定义Visual Studio Addins和代码生成。

所以我的问题基本上是,灵活的MVC本地化的故事是什么

以下参考文献:

2 个答案:

答案 0 :(得分:0)

资源提供者应该正常工作(即http://msdn.microsoft.com/en-us/library/aa905797.aspx)。我一直在使用SQL Server支持的提供程序的一些项目中使用它,工作正常。它允许您使用所有ASP.NET本地化功能以及使用资源的所有验证属性转换。

答案 1 :(得分:0)

请尝试专用的 NuGet包,以便使用数据库资源本地化MVC应用程序: Globsite.Globalization.Mvc

它基于本机 ASP.NET资源提供者模型,因此可以像标准ResX资源一样以类似的方式与您的应用程序集成。
更重要的是,如果需要,只需单击一下,库就可以生成强类型资源。

包含更多详细信息的项目网站:
globsite.net/GlobsiteGlobalizationLibrary

相关问题