Udostępnij za pośrednictwem


Zarządzanie językami interfejsu użytkownika

Wielojęzyczny interfejs użytkownika (MUI) umożliwia aplikacjom zarządzanie językami interfejsu użytkownika na dwa sposoby. Aplikacja może używać prostego podejścia do zarządzania językami domyślnie do ustawień języka systemu operacyjnego. Alternatywnie aplikacja może obsługiwać własne języki, z których użytkownik może wybrać. Interfejs API MUI umożliwia również aplikacji bezpośredni dostęp do języków i list języków obsługiwanych przez system operacyjny i obsługiwany przez moduł ładujący zasobów. W pozostałej części tego tematu zdefiniowano języki obsługiwane przez system i mechanizm rezerwowy języka.

Języki obsługiwane przez system operacyjny

Domyślny język interfejsu użytkownika systemu/język instalacji

Domyślny język interfejsu użytkownika systemu to język zlokalizowanej wersji używanej do konfigurowania systemu Windows. Wszystkie menu, okna dialogowe, komunikaty o błędach i pliki pomocy są reprezentowane w tym języku, z wyjątkiem sytuacji, gdy użytkownik wybierze inny język.

W systemie Windows Vista i nowszym domyślny język interfejsu użytkownika systemu jest znany jako "język instalacji" i odgrywa bardziej ograniczoną rolę. W większości celów jest zastępowany przez preferowane języki interfejsu użytkownika systemu. Jednak w niektórych kontekstach warto mieć jeden język instalacji, który zawsze jest znany jako w pełni obsługiwany.

Nuta

Aplikacje systemu Windows, takie jak Paint, Notatnik, Wordpad i opcje menu będą nadal wyświetlane w domyślnym języku interfejsu użytkownika systemu po wdrożeniu interfejsu UŻYTKOWNIKA.

Funkcja MUI nie jest dostępna do ustawiania domyślnego języka interfejsu użytkownika systemu. Aby pobrać ten język, aplikacja może wywołać GetSystemDefaultUILanguage.

Język interfejsu użytkownika systemu

System operacyjny definiuje język interfejsu użytkownika systemu jako język interfejsu użytkownika, który można ustawić przez administratora na karcie Zaawansowane części opcji regionalnych i językowych w Panelu sterowania. System operacyjny używa tego języka, jeśli bieżący użytkownik nie dokonał określonych ustawień języka lub jeśli nie jest zalogowane żadne aktywne konto. Język można zmienić tylko wtedy, gdy na komputerze jest zainstalowany więcej niż jeden język interfejsu użytkownika.

Nuta

Aby zobaczyć efekt zmiany języka, należy ponownie uruchomić system operacyjny dla wszystkich użytkowników i usług.

 

Funkcja MUI nie jest dostępna do ustawiania języka interfejsu użytkownika systemu. Aby pobrać tę wartość, aplikacja przeznaczona dla systemu Windows Vista i nowszej może wywoływać GetSystemPreferredUILanguages i uzyskać pierwszy język na liście preferowanych języków interfejsu użytkownika systemu. Aplikacje przeznaczone dla systemów operacyjnych wcześniejszych niż Windows Vista nie mogą używać GetSystemPreferredUILanguages i powinny być oparte na założeniu, że język interfejsu użytkownika systemu jest zawsze taki sam jak domyślny język interfejsu użytkownika systemu.

Język interfejsu użytkownika użytkownika

Język interfejsu użytkownika użytkownika określa język interfejsu użytkownika używany do menu, okien dialogowych, plików pomocy itd. Może go ustawić bieżący użytkownik na karcie język części opcji regionalnych i językowych w Panelu sterowania. Ten język można zmienić tylko wtedy, gdy na komputerze jest zainstalowany więcej niż jeden język interfejsu użytkownika. Należy pamiętać, że użytkownik będzie musiał wylogować się, a następnie zalogować się ponownie, aby zobaczyć efekt. Na przykład międzynarodowa korporacja chce wdrożyć system Windows we wszystkich swoich spółkach zależnych. Firma tworzy globalne zadanie instalacji, które instaluje wersję języka angielskiego systemu Windows na wszystkich klientach, niezależnie od lokalizacji. Jednocześnie instaluje określone moduły językowe w zależności od jednostki organizacyjnej, do której należy komputer. Gdy użytkownik loguje się po raz pierwszy do nowo zainstalowanego systemu operacyjnego, system Windows jest wyświetlany jako zlokalizowana wersja.

W systemie Windows Vista i nowszym język interfejsu użytkownika jest pierwszym językiem na liście preferowanych języków interfejsu użytkownika. Należy pamiętać, że języki rezerwowe mogą być używane, jeśli określone zasoby nie są dostępne w tym języku.

W systemach operacyjnych starszych niż Windows Vista język interfejsu użytkownika jest zwykle taki sam jak domyślny język interfejsu użytkownika systemu. Jednak w przypadku interfejsu MUI systemu Windows dwa języki mogą być różne.

Aby pobrać język interfejsu użytkownika użytkownika, aplikacja może wywołać GetUserDefaultUILanguage lub GetUserPreferredUILanguages. Aplikacja nie może zmienić języka interfejsu użytkownika użytkownika, ponieważ nie ma funkcji do jej ustawienia.

Listy języków obsługiwane przez system operacyjny

Lista preferowanych języków interfejsu użytkownika systemu

Moduł ładujący zasobów utrzymuje listę preferowanych języków interfejsu użytkownika systemu. Na tej liście znajdują się języki preferowane przez system operacyjny dla własnych zasobów, takich jak menu i okna dialogowe, komunikaty, pliki INF i pliki pomocy. Lista składa się z domyślnego języka interfejsu użytkownika systemu i języka interfejsu użytkownika systemu oraz ich rezerwowych. Aplikacja może pobrać preferowane języki interfejsu użytkownika systemu, wywołując GetSystemPreferredUILanguages.

Lista języków preferowanego interfejsu użytkownika

Moduł ładujący zasobów używa listy preferowanych języków interfejsu użytkownika użytkownika, która zawiera języki preferowane przez użytkownika. Moduł ładujący zasobów używa zasobów pasujących do języków z tej listy, jeśli jest dostępny, dla określonego wątku aplikacji. Te języki mają pierwszeństwo przed wszelkimi preferencjami systemowymi. Aby pobrać preferowane języki interfejsu użytkownika użytkownika, aplikacja może wywołać GetUserPreferredUILanguages.

Lista preferowanych języków interfejsu użytkownika procesu

W systemie Windows Vista i nowszym moduł ładujący zasobów utrzymuje listę preferowanych języków interfejsu użytkownika procesu składającą się z maksymalnie pięciu prawidłowych języków ustawionych przez uruchomiony proces dla aplikacji MUI. Języki mogą być ustawiane przez aplikację za pomocą wywołania SetProcessPreferredUILanguages. Aplikacja może pobrać języki, wywołując GetProcessPreferredUILanguages.

Lista języków preferowanego interfejsu użytkownika wątku

W systemie Windows Vista i nowszych moduł ładujący zasobów używa listy języków preferowanych interfejsu użytkownika wątku, która składa się z maksymalnie pięciu prawidłowych języków ustawionych przez wątek w uruchomionym procesie dla aplikacji MUI. Te języki służą do dostosowywania języków interfejsu użytkownika aplikacji i różnią się od języka systemu operacyjnego. Lista języków preferowanego interfejsu użytkownika wątku jest oparta na preferowanych językach interfejsu użytkownika użytkownika, preferowanych językach interfejsu użytkownika systemu i domyślnym języku interfejsu użytkownika systemu.

Aby ustawić preferowane języki interfejsu użytkownika wątku, aplikacja powinna wywołać SetThreadPreferredUILanguages. Aby pobrać te języki, aplikacja wywołuje GetThreadPreferredUILanguages.

Reprezentacja języka neutralnego

Neutralny język jest reprezentowany jako sam język bez regionów lub ustawień regionalnych. Na przykład neutralna reprezentacja języka angielskiego (Kanada), en-CA, jest reprezentowana jako "en". Mimo że neutralny język nie jest skojarzony z aspektami regionu lub ustawień regionalnych, można skojarzyć go z zestawem zasobów. Zazwyczaj zasób języka neutralnego jest oparty na użyciu w najbardziej rozpowszechnionym regionie języka.

Na ilustracji załóżmy, że aplikacja MUI lokalizuje zasoby języka niemieckiego dla niemiec (Szwajcarii) reprezentowane jako de-CH i niemiecki (Austria) reprezentowane jako de-AT, podczas tworzenia pełnego zestawu zasobów dla niemiec (Niemcy) reprezentowane jako de-DE. Należy podjąć decyzje dotyczące tej aplikacji, biorąc pod uwagę całe pliki zasobów. Jeśli aplikacja duplikuje zasoby de-DE jako neutralne zasoby językowe, musi podać język rezerwowy modułu ładującego zasoby. Jeśli moduł ładujący nie znajdzie określonego pliku zasobów specyficznego dla języka dla de-CH lub de-AT, wraca do zasobów "de" neutralnych dla języka. Zasoby te są najprawdopodobniej bardziej odpowiednie niż zasoby dla zupełnie innego języka, na przykład angielski (Stany Zjednoczone), które są jedynymi możliwymi rezerwowymi.

W innym przykładzie aplikacja może nie lokalizować w ogóle dla Belize. Jednak obsługa preferencji językowej języka angielskiego (Belize), reprezentowana jako en-BZ, umożliwia aplikacji powrót do zasobów "en".

Rezerwowanie języka w module ładujący zasobów

System Windows Vista i nowsze rozmieszcza ustawienia języka interfejsu użytkownika na wstępnie uporządkowanej liście języków rezerwowych używanych przez moduł ładujący zasobów. Aby utworzyć listę, system operacyjny łączy kilka języków w podanej kolejności:

  • Preferowane języki interfejsu użytkownika wątku składające się z języka interfejsu użytkownika wątku i jego neutralnej formy. Przykłady to fr-FR dla języka francuskiego (Francja) i jego neutralnej formy "fr" i es-ES dla hiszpańskiego (Hiszpania) oraz neutralnej formy "es".

  • Przetwarzanie preferowanych języków interfejsu użytkownika, składających się z języka interfejsu użytkownika procesu i jego neutralnej formy. Przykładem jest de-DE dla języka niemieckiego (Niemcy) i jego neutralnej formy "de".

  • Język interfejsu użytkownika użytkownika i jego neutralna forma. Przykładem jest ja-JP dla języka japońskiego (Japonia) i jego neutralnej formy "ja".

  • Język interfejsu użytkownika systemu i jego neutralna forma. Przykładem jest it-IT dla włoch (Włochy) i jego neutralnej formy "it".

    Nuta

    Ten język znajduje się na liście rezerwowej tylko wtedy, gdy język interfejsu użytkownika użytkownika nie jest ustawiony.

     

  • Domyślny język interfejsu użytkownika systemu i jego neutralny formularz. Przykładem jest es-ES dla hiszpańskiego (Hiszpania) i jego neutralnej formy "es".

Poniżej przedstawiono scaloną listę rezerwową. Należy pamiętać, że zduplikowanie języków, na przykład es-ES i es, jest wyeliminowane. Ponieważ przykład ustawia język interfejsu użytkownika użytkownika na ja-JP, język interfejsu użytkownika systemu nie jest wyświetlany na scalonej liście rezerwowej.

fr-FR, fr, es-ES, es, de-DE, de, ja-JP, ja

Podczas ładowania zasobów dla aplikacji MUI moduł ładujący zasobów próbuje wybrać jeden z plików pasujących do listy preferowanych języków interfejsu użytkownika wątku dla aktualnie uruchomionego wątku aplikacji. Jeśli moduł ładujący zasobów nie może odnaleźć bezpośredniego dopasowania między wybranym językiem a pierwszym zasobem specyficznym dla języka na scalonej liście rezerwowej, sprawdza kolejne języki na liście, dopóki nie znajdzie akceptowalnego rezerwowego.

Jeśli moduł ładujący zasobów nie znajdzie pliku, którego potrzebuje, musi użyć "gwarantowanego dobrego" języka rezerwowego. W przypadku technologii zasobów MUI moduł ładujący zasobów określa język rezerwowy z podanych danych konfiguracji zasobów. Aby uzyskać więcej informacji, zobacz MUI Resource Management.

o wielojęzycznym interfejsie użytkownika

ustawień regionalnych i języków

terminologia nls