ClickOnce 部署和當地語系化
更新:2007 年 11 月
當地語系化是讓應用程式適合特定文化特性 (Culture) 的程序,這個程序包括將使用者介面 (UI) 文字翻譯成特定地區的語言、使用正確的日期和貨幣格式、調整表單上控制項的大小,以及視需要將控制項左右反轉。
將應用程式當地語系化時,會為應用程式建立一個或多個附屬組件,每個組件都包含指定之文化特性特有的 UI 字串、影像和其他資源 (應用程式的主要可執行檔包含應用程式預設的文化特性字串)。
本主題將說明三種針對其他文化特性部署 ClickOnce 應用程式的方法:
在單一部署內包含所有附屬組件。
為每種文化特性產生一個部署,每個部署內都包含單一附屬組件。
視需要下載附屬組件。
在部署中包含所有的附屬組件
若不想發行多個 ClickOnce 部署,您可以發行單一 ClickOnce 部署,其中包含所有的附屬組件。
這個方法是 Visual Studio 中的預設值。您不需要執行任何額外的工作,即可在 Visual Studio 中使用這個方法。
若要搭配 MageUI.exe 使用這個方法,您必須在 MageUI.exe 中將應用程式的文化特性設為 [中性]。接著,您必須手動加入部署中所有附屬組件。在 MageUI.exe 中,您可以使用應用程式資訊清單中 [檔案] 索引標籤上的 [填入] 按鈕加入附屬組件。
這種方法的優點是會建立單一部署,並簡化了當地語系化部署的過程。在執行階段,將會根據使用者 Windows 作業系統之預設文化特性而使用適當的附屬組件。這種方法的缺點是不管應用程式要在用戶端電腦上安裝或更新,都會下載所有的附屬組件。如果您的應用程式包含大量的字串,或是您的客戶使用慢速的網路連接,這種處理序可能會在應用程式更新期間影響效能。
注意事項: |
---|
這個方法假設您的應用程式會自動調整控制項的高度、寬度和位置,使其符合不同文化特性中的不同文字字串大小。Windows Form 包含各種控制項和技術,讓您可用來設計方便進行當地語系化的表單,包括 FlowLayoutPanel 和 TableLayoutPanel 控制項以及 AutoSize 屬性。 |
為每種文化特性產生一個部署
在這種部署策略中,您會產生多個部署。在每個部署內,您只會加入特定文化特性所需的附屬組件,並且將部署標記為具有於該種文化特性。
若要在 Visual Studio 內使用這種方法,請將 [發行] 索引標籤上的 [發行語言] 屬性設定為所需的地區,Visual Studio 將會自動包含選定地區所需的附屬組件,並且從部署中排除所有其他的附屬組件。
您可以使用 Microsoft Windows Software Development Kit (SDK) 內的 MageUI.exe 工具執行相同的工作。使用應用程式資訊清單之 [檔案] 索引標籤上的 [填入] 按鈕,從應用程式目錄中排除所有其他附屬組件,然後再使用 MageUI.exe 為您的部署資訊清單設定 [名稱] 索引標籤上的 [文化特性] 欄位。這些步驟不只會包含正確的附屬組件,也會將部署資訊清單內 assemblyIdentity 項目上的 language 屬性 (Attribute) 設定為對應的文化特性。
在發行應用程式後,您必須針對應用程式支援的每一個其他文化特性重複這個步驟。發行到不同的 Web 伺服器目錄或檔案共用目錄時都必須確認,因為每個應用程式資訊清單都會參考不同的附屬組件,而每個部署資訊清單將會使用不同的 language 屬性值。
視需要下載附屬組件
如果您決定要在單一部署中包含所有的附屬組件,則可以使用視需要下載的方式改善效能,這種方式可讓您將組件標記為選擇項,標記的組件在應用程式安裝或更新期間將不會下載。您可以在需要時呼叫 ApplicationDeployment 類別上的 DownloadFileGroup 方法來安裝這些組件。
視需要下載附屬組件與視需要下載其他類型的組件有些許的不同。如需如何使用 Windows SDK 工具為 ClickOnce 啟用這種案例的詳細資訊和程式碼範例,請參閱逐步解說:依 ClickOnce 部署 API 的要求下載附屬組件。
您也可以在 Visual Studio 內啟用這種案例。
在部署之前測試當地語系化的 ClickOnce 應用程式
只有當 Windows Form 應用程式之主執行緒的 CurrentUICulture 屬性設定為附屬組件的文化特性時,才會將附屬組件用於此應用程式。當地市場的客戶可能已經在執行文化特性設定為適當預設值的當地語系化 Windows 版本。
在將應用程式提供給客戶使用之前,您有三種選擇可測試當地語系化的部署:
您可以在適合的當地語系化 Windows 版本上執行 ClickOnce 應用程式。
您可以透過程式設計方式在應用程式內設定 CurrentUICulture 屬性 (這個屬性必須在呼叫 Run 方法之前設定)。
如果已安裝 Windows 多語系使用者介面套件 (MUI Pack),便可以切換作業系統上的不同文化特性;不過,MUI 只支援所有可能的文化特性子集,因此這個選項可能不適用於您的專案。
如需 MUI 的詳細資訊,請參閱 Microsoft 全球發展與運算入口網站 (英文)。
注意事項: 在 Windows Vista 上,您可以切換文化特性而不需安裝任何 MUI 套件。
請參閱
概念
參考
<assemblyIdentity> 項目 (ClickOnce 部署)