Sdílet prostřednictvím


Filtrování jazyků v konzolové aplikaci MUI

Konzolová aplikace MUI může podporovat nastavení systému nebo nastavení specifické pro aplikace pro jazyky uživatelského rozhraní. Toto téma popisuje filtrování jazyků pro tento typ aplikace.

Omezení jazyků na zobrazení

Na rozdíl od grafického okna nemůže konzola systému Windows zobrazit složitých skriptů, jako je arabština, hebrejština, perština, hindština, urdština, thajština a mnoho dalších. Proto konzola nemůže za žádných okolností zobrazit mnoho jazyků uživatelského rozhraní.

Konzola může zobrazit pouze znaky z jedné znakové stránky OEM přidružené k aktuálnímu jazyku pro aplikace, které nejsou unicode. Pro každou znakovou stránku OEM konzola používá konkrétní písmo, což nemusí poskytovat úplné pokrytí dané znakové stránky.

Tato omezení související s konzolou snižují počet jazyků uživatelského rozhraní, které může konzola zobrazit na konkrétním počítači. Pokud je například aktuální jazyk pro aplikace jiné než Unicode japonština a uživatel se pokusí zobrazit německý text v konzole, znaky s umlauts se nezobrazí správně. Pokud je aktuální jazyk pro aplikace jiné než Unicode němčina a uživatel chce zobrazit japonský text v konzole, výsledky jsou mnohem horší a vykreslují text téměř nesrozumitelný.

Poznámka

Při poskytování podpory konzoly pro aplikace MUI nezapomeňte, že konzola poskytuje pouze omezenou podporu pro editory metod zadávání.

 

Nastavení jazyka pro výstup konzoly

V systému Windows Vista a novější konzolová aplikace nastaví jazyk pro podporu zobrazení konzoly voláním SetThreadPreferredUILanguages. V tomto volání aplikace předá MUI_CONSOLE_FILTER v parametru dwFlags a NULL pro pwszLanguagesBuffer. Alternativou je volání SetThreadUILanguage s identifikátorem jazyka 0. Toto nastavení způsobí, že funkce vybere jazyk, který nejlépe podporuje zobrazení konzoly.

V systému Windows XP může aplikace nastavit pouze jazyk pro výstup konzoly voláním SetThreadUILanguage s identifikátorem jazyka 0.

Nastavení jazykových předvoleb aplikace