我已閱讀大部分谷歌和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