Sdílet prostřednictvím


Lokalizace aplikací ClickOnce

Lokalizace je proces vytvoření aplikace vhodné pro konkrétní jazykovou verzi. Tento proces zahrnuje překlad textu uživatelského rozhraní (UI) do jazyka specifického pro konkrétní oblast, použití správného formátování data a měny, úpravu velikosti ovládacích prvků ve formuláři a zrcadlení ovládacích prvků zprava doleva, pokud je to potřeba.

Lokalizace aplikace vede k vytvoření jednoho nebo více satelitních sestavení. Každé sestavení obsahuje UI řetězce, obrázky a další prostředky specifické pro danou kulturu. Hlavní spustitelný soubor vaší aplikace obsahuje řetězce pro výchozí kulturu vaší aplikace.

Toto téma popisuje tři způsoby nasazení aplikace ClickOnce pro jiné kulturní verze:

  • Zahrňte všechna satelitní sestavení do jednoho nasazení.

  • Vygenerujte jedno nasazení pro každou kulturu, přičemž každé obsahuje jedno satelitní sestavení.

  • Stáhněte satelitní sestavení podle potřeby.

Zahrnutí veškerých satelitních sestavení do nasazení

Místo publikování více nasazení ClickOnce můžete publikovat jedno nasazení ClickOnce, které obsahuje všechna satelitní sestavení.

Tato metoda je výchozí v sadě Visual Studio. Pokud chcete tuto metodu použít v sadě Visual Studio, nemusíte provádět žádnou další práci.

Chcete-li použít tuto metodu s MageUI.exe, je nutné nastavit jazykovou verzi aplikace na neutrální v MageUI.exe. Dále musíte do nasazení ručně zahrnout všechny satelitní soubory. V MageUI.exemůžete satelitní sestavení přidat pomocí tlačítka Naplnit na kartě Soubory manifestu aplikace.

Výhodou tohoto přístupu je, že vytvoří jedno nasazení a zjednodušuje váš lokalizovaný scénář nasazení. Při běhu programu se použije příslušné satelitní sestavení v závislosti na výchozí jazykové verzi operačního systému Windows uživatele. Nevýhodou tohoto přístupu je, že stáhne všechna satelitní sestavení při každé instalaci nebo aktualizaci aplikace na klientském počítači. Pokud má vaše aplikace velký počet řetězců nebo vaši zákazníci mají pomalé síťové připojení, může tento proces ovlivnit výkon během aktualizace aplikace.

Poznámka:

Tento přístup předpokládá, že aplikace automaticky upraví výšku, šířku a pozici ovládacích prvků tak, aby vyhovovaly různým velikostem textových řetězců v různých jazykových verzích. Windows Forms obsahuje celou řadu ovládacích prvků a technologií, které umožňují navrhnout formulář tak, aby byl snadno lokalizovatelný, včetně ovládacích FlowLayoutPanel prvků TableLayoutPanel a AutoSize vlastností. Viz také Postupy: Podpora lokalizace ve formulářích Windows pomocí AutoSize a ovládacího prvku TableLayoutPanel.

Vytvořte jedno nasazení pro každou jazykovou verzi

V této strategii nasazení vygenerujete několik nasazení. Při každém nasazení zahrnete pouze satelitní sestavení potřebné pro konkrétní kulturu a nasazení označíte jako specifické pro tuto kulturu.

Chcete-li použít tuto metodu v sadě Visual Studio, nastavte vlastnost Publish Language na kartě Publish na požadovanou oblast. Visual Studio automaticky zahrne satelitní sestavení požadované pro zvolenou oblast a vyloučí ze nasazení všechna ostatní satelitní sestavení.

Poznámka:

V clickOnce pro .NET Core 3.1 a .NET 5 nebo novější nastavíte vlastnosti nasazení pomocí nástroje Publikovat místo průvodce publikováním a stránky Publikovat v Návrháři projektů. Další informace naleznete v tématu Nasazení aplikace .NET pro Windows pomocí Technologie ClickOnce a ClickOnce pro .NET.

Totéž můžete provést pomocí nástroje MageUI.exe v sadě Microsoft Windows Software Development Kit (SDK). Pomocí tlačítka Naplnit na kartě Soubory manifestu aplikace vyloučíte všechna ostatní satelitní sestavení z adresáře aplikace a pak nastavte pole Culture na kartě Název pro manifest nasazení v MageUI.exe. Tyto kroky nezahrnují pouze správné sestavení satelitního modulu, ale také nastaví atribut language elementu assemblyIdentity v manifestu nasazení na odpovídající kulturní nastavení.

Po publikování aplikace musíte tento krok zopakovat pro každou další jazykovou verzi, kterou vaše aplikace podporuje. Musíte se ujistit, že pokaždé publikujete do jiného adresáře webového serveru nebo do adresáře sdílené složky, protože každý manifest aplikace bude odkazovat na jiné satelitní sestavení a každý manifest nasazení bude mít pro atribut jinou hodnotu language .

Stažení satelitních sestavení na vyžádání

Pokud se rozhodnete zahrnout všechna satelitní sestavení do jednoho nasazení, můžete zvýšit výkon stažením na vyžádání, což vám umožní označit sestavení jako volitelná. Označená sestavení nebudou stažena při instalaci nebo aktualizaci aplikace. Sestavení můžete nainstalovat, když je potřebujete, voláním DownloadFileGroup metody ve ApplicationDeployment třídě.

Poznámka:

Třída ApplicationDeployment a rozhraní API v System.Deployment.Application oboru názvů nejsou podporovány v .NET Core a .NET 5 a novějších verzích. V .NET 7 se podporuje nová metoda přístupu k vlastnostem nasazení aplikace. Další informace naleznete v tématu Access ClickOnce vlastnosti nasazení v .NET. .NET 7 nepodporuje ekvivalent metod ApplicationDeployment.

Stahování satelitních sestavení na vyžádání se mírně liší od stahování jiných typů sestavení na vyžádání. Další informace a příklady kódu o tom, jak tento scénář povolit pomocí nástrojů sady Windows SDK pro ClickOnce, naleznete v tématu Návod: Stahování satelitních sestavení na vyžádání pomocí rozhraní API pro nasazení ClickOnce.

Tento scénář můžete také povolit v sadě Visual Studio. Další informace naleznete v tématu Návod: Stahování satelitních sestavení na vyžádání s využitím ClickOnce Deployment API pomocí Návrháře.

Testování lokalizovaných aplikací ClickOnce před nasazením

Satelitní sestavení bude použito pro aplikaci Windows Forms pouze v případě, že CurrentUICulture vlastnost pro hlavní vlákno aplikace je nastavena na jazykovou verzi satelitního sestavení. Zákazníci na místních trzích už pravděpodobně budou používat lokalizovanou verzi Windows s kulturním nastavením odpovídajícím výchozímu.

Než aplikaci zpřístupníte zákazníkům, máte tři možnosti pro testování lokalizovaných nasazení:

  • Aplikaci ClickOnce můžete spustit v odpovídajících lokalizovaných verzích Windows.

  • Vlastnost můžete nastavit CurrentUICulture programově v aplikaci. (Tato vlastnost musí být nastavena před voláním Run metody.)