4

我已阅读大部分谷歌和SO提供的文献(如果我错过了某些东西,请纠正我)。如何本地化MVC与数据库支持的资源

我想要做的是本地化使用资源的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生成的类中,以提供我自己的ResourceProvider,但这非常骇人听闻自定义Visual Studio Addins和代码生成。

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

所引用的文献如下:

回答

0

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

+0

对不起,我迟到的回复,我已经使用的资源提供者模型中遇到的问题是,它迫使我使用资源表达式和HttpContext.Get (全局|本地)ResourceObject方法来获取资源。例如,我想能够说<%= Resources.MainView.Title%>。如果我使用后面的方法,它根本不会调用自定义资源提供程序(通过查看resx文件的生成代码清楚)。如果我将不得不建立自己的HtmlHelper方法和我自己的验证器属性,那么框架的重点是什么? – kaa 2010-09-06 12:39:29

0

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

它是建立在原生ASP.NET资源提供模式,因此它可以与你的集成像标准的Res​​X资源一样采用类似的方式进行应用。
此外,如果您需要,该库允许您只需单击即可生成强类型化资源。

项目选址更多的细节:
globsite.net/GlobsiteGlobalizationLibrary