我已阅读大部分谷歌和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本地化的故事是什么?
所引用的文献如下:
- http://adamyan.blogspot.com/2010/02/aspnet-mvc-2-localization-complete.html
- http://msdn.microsoft.com/en-us/library/aa905797.aspx
- http://www.eworldui.net/blog/post/2008/10/ASPNET-MVC-Simplified-Localization-via-ViewEngines.aspx
- http://ryanrivest.com/blog/archive/2010/01/15/reusable-validation-error-message-resource-strings-for-dataannotations.aspx
- http://www.codeproject.com/KB/dotnet/ResXFileCodeGeneratorEx.aspx
对不起,我迟到的回复,我已经使用的资源提供者模型中遇到的问题是,它迫使我使用资源表达式和HttpContext.Get (全局|本地)ResourceObject方法来获取资源。例如,我想能够说<%= Resources.MainView.Title%>。如果我使用后面的方法,它根本不会调用自定义资源提供程序(通过查看resx文件的生成代码清楚)。如果我将不得不建立自己的HtmlHelper方法和我自己的验证器属性,那么框架的重点是什么? – kaa 2010-09-06 12:39:29