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