找出和使用特定文化特性資源
Common Language Runtime 提供擷取特定文化特性資源的支援,該資源已封裝並在附屬組件中部署完成。附屬組件僅包含資源檔,或者像 .gif 檔案之類的彈性資源。它們不包含任何可執行碼。
在附屬組件部署模型中,您以一個預設組件 (主要組件) 和數個附屬組件來建立應用程式。觀念上,您應該將預設或中性組件的資源與主要組件一起封裝,並為您應用程式所支援的各個語言建立分別的附屬組件。因為附屬組件不是主要組件的一部分,您可以輕易取代或更新對應特定文化特性的資源,而不需取代應用程式的主要組件。
ResourceManager 類別提供在執行階段對特定文化特性資源的存取,並使用資源後援處理序來控制應用程式擷取資源的方式。如需詳細資訊,請參閱封裝和部署資源主題中的<資源後援處理序>副標題。ResourceManager 根據目前執行緒的 CultureInfo.CurrentUICulture 屬性決定要擷取哪些資源。例如,如果應用程式以預設的英文資源和含有法文和德文資源的兩個附屬組件來編譯,而 CurrentUICulture 屬性設定為 "de",ResourceManager 將會擷取德文資源。
CurrentUICulture 屬性可使用數種方法來設定。請注意,這個屬性的設定方式將影響 ResourceManager 如何根據文化特性來擷取資源:
CurrentUICulture 屬性可設定為應用程式碼中的特定文化特性,例如加拿大法文 "fr-CA"。當您在程式碼中明確設定 CurrentUICulture 時,您可確保不論使用者的瀏覽器或系統語言為何,都可以擷取該文化特性的資源。假設應用程式使用英文資源和兩個含有法文和德文資源的附屬組件來編譯。如果 CurrentUICulture 屬性在應用程式碼中設為 "de",即使使用者系統語言設為法文,ResourceManager 將永遠擷取德文資源。請您在程式碼中明確設定這個屬性之前,確認這是您要的行為。
在 ASP.NET 應用程式中,您必須明確設定 CurrentUICulture,因為伺服器上的設定可能會與類送的用戶端要求不相符。
如果應用程式已指定 CurrentUICulture,CurrentUICulture 屬性將隱含設定。如果未在應用程式碼中明確設定 CurrentUICulture,Windows 2000 and Windows XP Multilingual User Interface (MUI) 產品的 GetUserDefaultUILanguage 函式將會設定它,一般使用者可在該產品中設定預設語言。如果使用者的 UI 語言並未設定,將根據系統安裝的語言設定之,系統安裝語言為作業系統的資源語言。
如果應用程式以 Web 為基礎,您可以在應用程式碼中將 CurrentUICulture 明確設定為使用者瀏覽器接受的語言。
如需設定 CurrentUICulture 屬性範例,請參閱使用 CurrentUICulture 屬性。
如需擷取特定文化特性中資源的詳細資訊,請參閱擷取附屬組件中的資源和 ASP.NET 應用程式中的資源。
請參閱
參考
CultureInfo Class
CultureInfo.CurrentUICulture Property