我需要爲我們的Web應用程序中的所有文本設計一個可配置的內容系統,它將我們對翻譯的需求與用戶組,用戶子組和單個用戶配置給定標籤,錯誤消息或系統文本片段的內容。ASP.NET中的可配置內容系統
因爲一切都需要通過接口進行配置,所以資源文件似乎不是解決方案。
我不希望在盒子裏找到這樣的東西。你會如何去設計類似的東西,或者你會開始配置什麼來獲得這個功能?
我需要爲我們的Web應用程序中的所有文本設計一個可配置的內容系統,它將我們對翻譯的需求與用戶組,用戶子組和單個用戶配置給定標籤,錯誤消息或系統文本片段的內容。ASP.NET中的可配置內容系統
因爲一切都需要通過接口進行配置,所以資源文件似乎不是解決方案。
我不希望在盒子裏找到這樣的東西。你會如何去設計類似的東西,或者你會開始配置什麼來獲得這個功能?
我已通過創建數據庫支持的自定義資源提供程序並將Web.Config中的<globalization>
標記設置爲指向您的自定義提供程序來實現您正在尋找的功能類型。請參閱:http://msdn.microsoft.com/en-us/library/aa905797.aspx
然後在您的頁面和代碼中,您可以參考GetGlobalResourceObject
或GetLocalResourceObject
獲取本地化資源。
雖然這主要是爲多種語言設計的,但我已將它與自定義語言環境功能結合使用,爲不同用戶組提供不同的標籤,錯誤消息和文本。
沿行創建一個簡單的表:
table Resources {
language varchar(100)
label varchar(100) /* you might consider a different key type, but this would be easiest on coding */
value varchar(max)
}
你可能只是緩存Web服務器上的整個表在本地執行的外觀跌宕當值改變簡單地到期緩存。
這是一件相對容易的事情。
確保您使用的是UTF8編碼。沒有什麼比編碼問題更糟糕了 – citronas 2010-09-17 19:33:55