Lokalizowanie aplikacji ClickOnce
Lokalizacja to proces tworzenia aplikacji odpowiedniej dla określonej kultury. Ten proces obejmuje tłumaczenie tekstu interfejsu użytkownika (UI) na język specyficzny dla regionu, przy użyciu poprawnego formatowania daty i waluty, dostosowywania rozmiaru kontrolek w formularzu i dublowania kontrolek od prawej do lewej, jeśli jest to konieczne.
Lokalizowanie aplikacji powoduje utworzenie co najmniej jednego zestawu satelitarnego. Każdy zestaw zawiera ciągi interfejsu użytkownika, obrazy i inne zasoby specyficzne dla danej kultury. (Główny plik wykonywalny aplikacji zawiera ciągi domyślnej kultury aplikacji).
W tym temacie opisano trzy sposoby wdrażania aplikacji ClickOnce dla innych kultur:
Uwzględnij wszystkie zestawy satelitarne w jednym wdrożeniu.
Wygeneruj jedno wdrożenie dla każdej kultury, z jednym zestawem satelitarnym dołączonym do każdej z nich.
Pobierz zestawy satelitarne na żądanie.
Uwzględnianie wszystkich zestawów satelickich we wdrożeniu
Zamiast publikować wiele wdrożeń Technologii ClickOnce, można opublikować pojedyncze wdrożenie ClickOnce zawierające wszystkie zestawy satelitarne.
Ta metoda jest domyślna w programie Visual Studio. Aby użyć tej metody w programie Visual Studio, nie trzeba wykonywać żadnych dodatkowych czynności.
Aby użyć tej metody z MageUI.exe, należy ustawić kulturę aplikacji na neutralną w MageUI.exe. Następnie należy ręcznie uwzględnić wszystkie zestawy satelitarne we wdrożeniu. W MageUI.exe można dodać zestawy satelitarne przy użyciu przycisku Wypełnij na karcie Pliki manifestu aplikacji.
Zaletą tego podejścia jest utworzenie pojedynczego wdrożenia i uproszczenie zlokalizowanego scenariusza wdrażania. W czasie wykonywania zostanie użyty odpowiedni zestaw satelitarny, w zależności od domyślnej kultury systemu operacyjnego Windows użytkownika. Wadą tego podejścia jest to, że pobiera wszystkie zestawy satelitarne za każdym razem, gdy aplikacja jest zainstalowana lub aktualizowana na komputerze klienckim. Jeśli aplikacja ma dużą liczbę ciągów lub klienci mają wolne połączenie sieciowe, ten proces może mieć wpływ na wydajność podczas aktualizacji aplikacji.
Uwaga
W tym podejściu przyjęto założenie, że aplikacja automatycznie dostosowuje wysokość, szerokość i położenie kontrolek, aby uwzględnić różne rozmiary ciągów tekstowych w różnych kulturach. Formularze systemu Windows zawierają różne kontrolki i technologie, które umożliwiają projektowanie formularza w celu łatwego lokalializacji, w tym FlowLayoutPanel kontrolek i TableLayoutPanel oraz AutoSize właściwości. Zobacz też Instrukcje: obsługa lokalizacji w formularzach systemu Windows przy użyciu funkcji AutoSize i kontrolki TableLayoutPanel.
Generowanie jednego wdrożenia dla każdej kultury
W tej strategii wdrażania generowanych jest wiele wdrożeń. W każdym wdrożeniu dołączysz tylko zestaw satelitarny wymagany do określonej kultury i oznaczysz wdrożenie jako specyficzne dla tej kultury.
Aby użyć tej metody w programie Visual Studio, ustaw właściwość Publish Language (Język publikowania) na karcie Publish (Publikowanie) w żądanym regionie. Program Visual Studio automatycznie uwzględni zestaw satelitarny wymagany dla wybranego regionu i wykluczy wszystkie inne zestawy satelitarne z wdrożenia.
Uwaga
W technologii ClickOnce dla platformy .NET Core 3.1 i .NET 5 lub nowszej można ustawić właściwości wdrożenia przy użyciu narzędzia Publikuj zamiast kreatora Publikowanie i strony Publikowanie w Projektancie projektów. Aby uzyskać więcej informacji, zobacz Deploy a .NET Windows application using ClickOnce and ClickOnce for .NET (Wdrażanie aplikacji .NET przy użyciu technologii ClickOnce i ClickOnce dla platformy .NET).
Można to zrobić za pomocą narzędzia MageUI.exe w zestawie Microsoft Windows Software Development Kit (SDK). Użyj przycisku Wypełnij na karcie Pliki manifestu aplikacji, aby wykluczyć wszystkie inne zestawy satelitarne z katalogu aplikacji, a następnie ustaw pole Kultura na karcie Nazwa manifestu wdrożenia w MageUI.exe. Te kroki obejmują nie tylko prawidłowy zestaw satelitarny, ale także ustawiają language
atrybut na assemblyIdentity
elemenie w manifeście wdrożenia na odpowiednią kulturę.
Po opublikowaniu aplikacji należy powtórzyć ten krok dla każdej dodatkowej kultury obsługiwanej przez aplikację. Należy upewnić się, że jest publikowany w innym katalogu serwera sieci Web lub katalogu udziału plików za każdym razem, ponieważ każdy manifest aplikacji będzie odwoływać się do innego zestawu satelitarnego, a każdy manifest wdrożenia będzie miał inną wartość atrybutu language
.
Pobieranie zestawów satelickich na żądanie
Jeśli zdecydujesz się uwzględnić wszystkie zestawy satelitarne w jednym wdrożeniu, możesz zwiększyć wydajność przy użyciu pobierania na żądanie, co umożliwia oznaczenie zestawów jako opcjonalnych. Oznaczone zestawy nie zostaną pobrane po zainstalowaniu lub zaktualizowaniu aplikacji. Zestawy można zainstalować, gdy są potrzebne, wywołując metodę DownloadFileGroup w ApplicationDeployment klasie .
Uwaga
Klasy ApplicationDeployment i interfejsy API w System.Deployment.Application przestrzeni nazw nie są obsługiwane w wersjach .NET Core i .NET 5 i nowszych. W programie .NET 7 jest obsługiwana nowa metoda uzyskiwania dostępu do właściwości wdrażania aplikacji. Aby uzyskać więcej informacji, zobacz Access ClickOnce deployment properties in .NET (Uzyskiwanie dostępu do właściwości wdrożenia ClickOnce na platformie .NET). Platforma .NET 7 nie obsługuje odpowiedników metod ApplicationDeployment.
Pobieranie zestawów satelickich na żądanie różni się nieco od pobierania innych typów zestawów na żądanie. Aby uzyskać więcej informacji i przykładów kodu dotyczących włączania tego scenariusza przy użyciu narzędzi zestawu Windows SDK dla technologii ClickOnce, zobacz Przewodnik: pobieranie zestawów satelickich na żądanie przy użyciu interfejsu API wdrażania ClickOnce.
Ten scenariusz można również włączyć w programie Visual Studio. Aby uzyskać więcej informacji, zobacz Przewodnik: pobieranie zestawów satelickich na żądanie przy użyciu interfejsu API wdrażania ClickOnce przy użyciu projektanta.
Testowanie zlokalizowanych aplikacji ClickOnce przed wdrożeniem
Zestaw satelitarny będzie używany dla aplikacji Windows Forms tylko wtedy, gdy CurrentUICulture właściwość głównego wątku aplikacji jest ustawiona na kulturę zestawu satelitarnego. Klienci na rynkach lokalnych prawdopodobnie będą już używać zlokalizowanej wersji systemu Windows z ich kulturą ustawioną na odpowiednią wartość domyślną.
Przed udostępnieniem aplikacji klientom dostępne są trzy opcje testowania zlokalizowanych wdrożeń:
Aplikację ClickOnce można uruchomić w odpowiednich zlokalizowanych wersjach systemu Windows.
Właściwość można ustawić CurrentUICulture programowo w aplikacji. (Przed wywołaniem Run metody należy ustawić tę właściwość).