共用方式為


當地語系化 ClickOnce 應用程式

本地化是使您的應用程式適合特定文化的過程。 此程式包括將使用者介面 (UI) 文字翻譯成區域特定的語言、使用正確的日期和貨幣格式、調整表單上控制項的大小,以及視需要從右到左鏡像控制項。

本地化您的的應用程式,將會導致建立某個或多個附屬組件。 每個元件都包含指定文化特性特定的 UI 字串、影像和其他資源。 (應用程式的主要可執行檔包含應用程式預設文化特性的字串。

本主題說明為其他文化特性部署 ClickOnce 應用程式的三種方式:

  • 在單一部署中包含所有衛星組件。

  • 為每個文化特性產生一個部署,每個部署中包含單一衛星元件。

  • 按需下載衛星組件。

在部署中包括所有衛星組件

您可以發佈包含所有附屬組件的單一 ClickOnce 部署,而不是發佈多個 ClickOnce 部署。

這個方法是 Visual Studio 中的預設值。 若要在 Visual Studio 中使用此方法,您不需要執行任何其他工作。

若要將此方法與 MageUI.exe搭配使用,您必須在 MageUI.exe中將應用程式的文化特性設定為 neutral 。 接下來,您必須在部署中手動包含所有衛星組件。 在 MageUI.exe中,您可以使用 [填入] 按鈕,來在應用程式資訊清單 檔案 索引標籤上新增附屬集件。

此方法的好處是它會建立單一部署,並簡化您的本地化部署流程。 在執行階段,視使用者 Windows 作業系統的預設文化特性,將會使用適當的衛星組件。 此方法的缺點是,每當用戶端電腦上安裝或更新應用程式時,它都會下載所有附屬元件。 如果您的應用程式有大量字串,或客戶的網路連線速度較慢,則此程序可能會影響應用程式更新期間的效能。

備註

此方法假設您的應用程式會自動調整控制項的高度、寬度和位置,以適應不同文化特性中的不同文字字串大小。 Windows Forms 包含各種控制項和技術,可讓您設計表單,使其易於當地語系化,包括 和 FlowLayoutPanelTableLayoutPanel 控制項以及 AutoSize 屬性。 另請參閱 如何:使用 AutoSize 和 TableLayoutPanel 控制項支援 Windows 表單上的當地語系化

為每個文化特性產生一個部署

在此部署策略中,您會生成多個部署。 在每個部署中,您只包含某一文化所需的衛星組件,並將該部署標示為專屬於該文化。

若要在 Visual Studio 中使用此方法,請將 [發佈] 索引標籤上的 [發佈語言] 屬性設定為所需的區域。 Visual Studio 會自動包含您選取區域所需的附屬元件,並從部署中排除所有其他附屬元件。

備註

在適用於 .NET Core 3.1 和 .NET 5 或更新版本的 ClickOnce 中,您可以使用 [發佈] 工具來設定部署屬性,而不是使用 [發佈精靈] 和 [專案設計工具] 的 [發佈] 頁面。 如需詳細資訊,請參閱 使用 ClickOnce 部署 .NET Windows 應用程式和ClickOnce for .NET

您可以使用 Microsoft Windows 軟體開發套件 (SDK) 中的 MageUI.exe 工具來完成相同的作業。 使用應用程式資訊清單的 [檔案] 索引標籤上的 [填入] 按鈕,將所有其他附屬元件從應用程式目錄中排除,然後在 MageUI.exe 中的部署資訊清單的 [名稱] 索引標籤上設定 文化特性 欄位。 這些步驟不僅包含正確的衛星組件,而且也會將部署資訊清單中assemblyIdentity元素的language屬性設定為相應的文化特性。

發佈應用程式之後,您必須針對應用程式支援的每個其他文化特性重複此步驟。 您必須確定每次都發佈到不同的網頁伺服器目錄或檔案共用目錄,因為每個應用程式資訊清單都會參考不同的附屬元件,且每個部署資訊清單的 language 屬性都會有不同的值。

按需下載衛星組件

如果您決定在單一部署中包含所有衛星組件,可以使用隨需下載來改善效能,這使您可以將組件標記為可選。 安裝或更新應用程式時,不會下載標記的組件。 您可以在需要時透過呼叫DownloadFileGroup類別上的ApplicationDeployment方法來安裝組件。

備註

ApplicationDeployment命名空間中的System.Deployment.Application類別和 API 不支援 .NET Core 和 .NET 5 和更新版本。 在 .NET 7 中,支援存取應用程式部署屬性的新方法。 如需詳細資訊,請參閱 存取 .NET 中的 ClickOnce 部署屬性。 .NET 7 不支援對等的 ApplicationDeployment 方法。

隨選下載衛星組件與隨選下載其他類型的組件略有不同。 如需如何使用適用於 ClickOnce 的 Windows SDK 工具啟用此案例的詳細資訊和程式碼範例,請參閱 逐步解說:使用 ClickOnce 部署 API 隨選下載附屬元件

您也可以在 Visual Studio 中啟用此案例。 如需詳細資訊,請參閱 操作教學:使用設計工具透過 ClickOnce 部署 API 按需求下載衛星組件

在部署之前測試當地語系化的 ClickOnce 應用程式

只有在應用程式主執行緒的 CurrentUICulture 屬性設定為附屬元件的文化特性時,才會將附屬元件用於 Windows Forms 應用程式。 本地市場的客戶可能已經在運行本地化版本的 Windows,並將文化設置為適用的預設值。

在將應用程式提供給客戶之前,您有三個選項可測試當地語系化部署:

  • 您可以在適當的當地語系化版本的 Windows 上執行 ClickOnce 應用程式。

  • 您可以在應用程式中以程式設計方式設定 CurrentUICulture 屬性。 (您必須先設定此屬性,才能呼叫 Run 方法。