摘要: Microsoft ASP.NET 2.0 在本地化 Web 應用程序方面進行了許多奇妙的改進。即使有了所有這些奇妙的優點,但在本地化站點後不久,您可能還會開始考慮擴展性。本文將幫助您應用 ASP.NET 的擴展功能處理企業本地化方案並改進本地化開發過程。
簡介
ASP.NET 2.0 在本地化 Web 應用程序方面進行了許多奇妙的改進。我曾在 MSDN 文章“ASP.NET 2.0 Localization Features: A Fresh Approach to Localizing Web Applications(英文)”中介紹了這些新功能。
熟悉了這些新的本地化功能後,您將立即注意到以下方面:
• 現在通過 Visual Studio 2005 可以輕松地生成各頁面的資源,在頁面設計視圖中調用“Generate Local Resource”(生成本地資源)菜單項即可。
• 借助於更好的資源編輯器和強類型化訪問,創建和使用全局資源要簡單得多。
• 使用聲明性本地化表達式,可以很輕松地將資源條目映射到控件屬性和內容區。
• ResourceManager 不再需要手動安裝,因為 ResXResourceProviderFactory 協同從本地或全局資源檢索資源條目,根據需要分配 ResourceManager。
• 自動檢測浏覽器區域首選項並將該區域分配給請求線程,從而更易於尊重用戶(甚至匿名用戶)的區域首選項。
即使有了所有這些奇妙的優點,我們往往還想要更多,這並不奇怪。使用這些重大功能本地化站點後不久,您可能開始考慮一些其他事了,例如:
• 如何從備選位置(如單獨的資源程序集或數據庫源)提取資源?
• 如何管理既使用一些本地和全局資源又有替代數據源的混合環境?
• 如何能控制資源的來源並繼續利用 ASP.NET 2.0 資源提供程序模型、本地化表達式及其他設計器集成功能?
• 如何利用現有的本地化功能和可用的擴展性選項,以更好地滿足我的開發環境及本地化過程的需要?
這就是可擴展性為何如此重要的原因。有多種方式可擴展 ASP.NET 本地化功能並與開發環境交互。本文是三部分系列文章的第一篇,將幫助您應用 ASP.NET 的擴展功能處理企業本地化方案並改進本地化開發過程。
在本文中,我將重點介紹此類功能,使您能夠從備選存儲位置檢索資源,並與頁面解析、編譯和運行時執行集成。我將說明如何組合使用自定義資源提供程序、自定義表達式構建器及其他支持的可擴展類型來實現這一目的。本系列文章的第二篇將顯示如何通過將所選的資源存儲與 Visual Studio 2005 中的內置高效功能集成,以進一步改進開發過程。第三篇文章將給出處理復雜資源層次結構(例如,可支持客戶端定制)的備選方案。
哎喲,我的資源應去哪裡?
將本地化的資源合並到 Web 站點往往是一件痛苦的工作。生成資源通常很難,組織翻譯資源往往需要托管進程,但 Web 站點中資源的更為困難方面是知道資源中應包括哪些內容、如何分配這些資源及哪些因素將影響最佳性能和維護性。