2012-09-04 85 views
2

我是第一次海報很長時間的聽衆,我真的有興趣閱讀一些本地化架構,並最終獲得有關我們方法的反饋(如下所示)。資源(resx)自定義幫手

我想就我們正在考慮的使用資源文件的方法提出一些建議。我們使用MVC 3.0,並有一個網站項目和一個資源項目。在資源項目中,我們有一個模擬與網站相同結構的結構,例如控制器 - >查看 - >文件

我們通過導入視圖/控件頂部的資源命名空間來引用視圖中的resx文件,例如<%@ Import Namespace="MyAppResources.Resources.Website.Home" %>,然後使用<%= Index.SomeText %>引用我們需要的resx值,其中index是資源文件的名稱。

我們正在考慮做什麼,並會喜歡一些建議,而不是使用這種方法是將資源resx結構分成網站區域和使用助手,例如, LocalizationHelper.GetValue("Home", "SomeText")其中「Home」是資源文件的名稱,"SomeText"是該resx文件中的值。我們這樣做的原因是不必爲我們做的每一個小的副本更改而繼續編譯資源項目(因爲我們可能需要快速修復我們的部署環境),並且它可能是網站中最常用的幫助器項目,這將使事情變得簡短和一致。本地化幫助程序還會將值存儲在緩存字典中,因此如果多次使用某個值,它將從緩存中檢索值。

有誰知道我們沒有想到的更好的方法或改進?

回答

0

我會建議使用數據庫來存儲本地化值而不是RESX文件。

使用數據庫可以防止您需要進行任何代碼/文件部署來更新您的應用程序。此外,您可以構建用於修改本地化值的GUI界面(這對於站點管理員/編輯者來說是一個很好的功能)。