Visty ani česky, ani anglicky. Co s tím?
autor: Helmich Jiří , publikováno 2.1.2009

Jednoho dne jsem si všiml, že se některé složky v rámci standardní adresářové struktury mého uživatelského profilu ve Windows jmenují anglicky a jiné česky. Čeština byla vzhledem k tomu, že se jednalo o českou verzi Windows Vista (resp. o verzi Windows Vista s českým lokalizačním balíčkem, kde byl ten anglický zakázaný) poněkud více preferovaná, nicméně mi nebylo zcela jasné, co se kde přihodilo a co mám udělat, abych tento drobný nedostatek odstranil. V první řadě mi poměrně vadilo, že mi v systému řádí nějaký šotek, který zpřehazuje jména systémem předdefinovaných složek, podstatně důležitější však bylo, že některým uživatelům počítače by mohlo poměrně dost vadit, že na ně počítač nemluví česky nebo alespoň rusky :-).

Velmi rychle jsem však přišel na to, že systém si zahrává pouze se mnou samotným a ostatní uživatelské profily tímto problémem netrpí. Nicméně řešení bylo stále v nedohlednu a já proklínal MUI architekturu systému Windows Vista. A jak už tomu často bývá, největší objevy učiní člověk čirou náhodou. Nejinak tomu bylo v tomto případě – Windows Media Player si ukládal do mezipaměti ID3Tagy skladeb, což se mi ani trochu nelíbilo a v zoufalství jsem promazal všechny skryté soubory ve složce Hudba, včetně souboru desktop.ini. A to byl ten okamžik, kdy mi svitlo, protože místo položky Hudba jsem měl nabídce Start a všude jinde v rámci celého systému odkaz na složku Music.

Začal jsem tedy pátrat v jiných podobných složkách, například v nejproblémovější složce Stažené soubory, kde jsem v souboru desktop.ini spatřil poměrně nevinný řádek

LocalizedResourceName=@%SystemRoot%\system32\shell32.dll,-21798

V tu chvíli už je každému zcela jasné, o co tady jde. Při načítání uživatelského profilu se pro podsložky %SystemRoot%/Users/{jméno_profilu}/ načtou lokalizované názvy z dynamické knihovny shell32.dll. Příčina je tedy jasná. Ne příliš chytrý uživatel nebo příliš aktivní aplikace přepíšou nebo smažou soubor desktop.ini a problém je rázem na světě. Řešení je také naprosto jasné – updatovat obsah daných souborů na správné hodnoty, čímž obnovíme “odkazy” na lokalizované názvy složek, stejně jako “odkazy” na speciální ikony těchto adresářů. O ty je postaráno řádkem

IconResource=%SystemRoot%\system32\imageres.dll,-184

Inu, to je sice hezké, že je to takto jednoduché, ale kde má člověk vzít ta čísla, která ukazují na správný lokalizovaný název nebo na správnou ikonu. Technicky více založení se ujmou patřičných utilit a začnou zkoumat příslušné dynamické knihovny, případně si napíšou dávkový soubor, skript nebo malinký konzolový prográmek na udržování souborů desktop.ini. Já se prozatím spokojím s tím, že vše opravím ručně pomocí informací získaných z neporušených složek:

Kontakty/Contacts:

[.ShellClassInfo]LocalizedResourceName=@%CommonProgramFiles%\system\wab32res.dll,-10100
InfoTip=@%CommonProgramFiles%\system\wab32res.dll,-10200
IconResource=%SystemRoot%\system32\imageres.dll,-181

Plocha/Desktop:

[.ShellClassInfo]
LocalizedResourceName=@%SystemRoot%\system32\shell32.dll,-21769
IconResource=%SystemRoot%\system32\imageres.dll,-183

Dokumenty/Documents:

[.ShellClassInfo]
LocalizedResourceName=@%SystemRoot%\system32\shell32.dll,-21770
IconResource=%SystemRoot%\system32\imageres.dll,-112
IconFile=%SystemRoot%\system32\shell32.dll
IconIndex=-235

Stažené soubory/Downloads:

[.ShellClassInfo]
LocalizedResourceName=@%SystemRoot%\system32\shell32.dll,-21798
IconResource=%SystemRoot%\system32\imageres.dll,-184

Oblíbené položky/Favorities:

[.ShellClassInfo]
LocalizedResourceName=@%SystemRoot%\system32\shell32.dll,-21796
IconResource=%SystemRoot%\system32\imageres.dll,-115
IconFile=%SystemRoot%\system32\shell32.dll
IconIndex=-173

Odkazy/Links:

[.ShellClassInfo]
LocalizedResourceName=@%SystemRoot%\system32\shell32.dll,-21810
IconResource=%SystemRoot%\system32\imageres.dll,-185
DefaultDropEffect=4
[LocalizedFileNames]
Public.lnk=@shell32.dll,-21816
Searches.lnk=@shell32.dll,-9031
Recently Changed.lnk=@shell32.dll,-32813
Music.lnk=@shell32.dll,-21790
Pictures.lnk=@shell32.dll,-21779
Documents.lnk=@shell32.dll,-21770

Hudba/Music:

[.ShellClassInfo]
LocalizedResourceName=@%SystemRoot%\system32\shell32.dll,-21790
InfoTip=@%SystemRoot%\system32\shell32.dll,-12689
IconResource=%SystemRoot%\system32\imageres.dll,-108
IconFile=%SystemRoot%\system32\shell32.dll
IconIndex=-237
[LocalizedFileNames]
Sample Music.lnk=@%SystemRoot%\system32\shell32.dll,-21806

Obrázky/Pictures:

[.ShellClassInfo]
LocalizedResourceName=@%SystemRoot%\system32\shell32.dll,-21779
InfoTip=@%SystemRoot%\system32\shell32.dll,-12688
IconResource=%SystemRoot%\system32\imageres.dll,-113
IconFile=%SystemRoot%\system32\shell32.dll
IconIndex=-236
[LocalizedFileNames]
Sample Pictures.lnk=@%SystemRoot%\system32\shell32.dll,-21805

Uložené hry/Saved games:

[.ShellClassInfo]
LocalizedResourceName=@%SystemRoot%\system32\shell32.dll,-21814
IconResource=%SystemRoot%\system32\imageres.dll,-186

Hledání/Searches:

[.ShellClassInfo]
LocalizedResourceName=@%SystemRoot%\system32\shell32.dll,-9031
IconResource=%SystemRoot%\system32\imageres.dll,-18
[LocalizedFileNames]
Indexed Locations.search-ms=@shell32.dll,-32811
Everywhere.search-ms=@shell32.dll,-32814
Shared By Me.search-ms=@shell32.dll,-32802
Recent Music.search-ms=@shell32.dll,-32803
Recent Documents.search-ms=@shell32.dll,-32804
Recent Pictures and Videos.search-ms=@shell32.dll,-32806
Recent E-mail.search-ms=@shell32.dll,-32807
Recently Changed.search-ms=@shell32.dll,-32813

Videa/Videos:

[.ShellClassInfo]
LocalizedResourceName=@%SystemRoot%\system32\shell32.dll,-21791
InfoTip=@%SystemRoot%\system32\shell32.dll,-12690
IconResource=%SystemRoot%\system32\imageres.dll,-189
IconFile=%SystemRoot%\system32\shell32.dll
IconIndex=-238
[LocalizedFileNames]
Sample Videos.lnk=@%SystemRoot%\system32\shell32.dll,-21807

Jak vidíte, u některých složek je to podstatně složitější – definují se zde také popisné texty pro bublinovou nápovědu, přepisují se ikonky jinými z dynamické knihovny shell32.dll, definují se lokalizované názvy pro symlinky na složky s ukázkovými obrázky, skladbami, atd. U složky Hledání se také definují názvy pro skupiny vyhledávání jako např. “Naposledy otevřené dokumenty” nebo “Nedávno změněné”.

Bohužel, toto není všechno. Takzvaná veřejná složka totiž má vlastní sadu souborů desktop.ini, které vypadají lehce odlišně. Pokud tedy na svém počítači takovou složku využíváte, asi byste ji také chtěli dát do pořádku:

Veřejné/Public:

Tady legrace začíná už o patro výš, sama složka Public má lokalizovaný název. U uživatelského profilu je to jednoduché, tam je to vaše uživatelské jméno.

[.ShellClassInfo]
LocalizedResourceName=@%SystemRoot%\system32\shell32.dll,-21816

Veřejná plocha/Desktop:

[.ShellClassInfo]
LocalizedResourceName=@%SystemRoot%\system32\shell32.dll,-21799

Veřejné dokumenty/Documents:

[.ShellClassInfo]
LocalizedResourceName=@%SystemRoot%\system32\shell32.dll,-21801
IconResource=%SystemRoot%\system32\shell32.dll,-235

Veřejné stažené soubory/Downloads:

[.ShellClassInfo]
LocalizedResourceName=@%SystemRoot%\system32\shell32.dll,-21808

Veřejná hudba/Music:

[.ShellClassInfo]
LocalizedResourceName=@%SystemRoot%\system32\shell32.dll,-21803
InfoTip=@%SystemRoot%\system32\shell32.dll,-12689
IconResource=%SystemRoot%\system32\shell32.dll,-237

Veřejné obrázky/Pictures:

[.ShellClassInfo]
LocalizedResourceName=@%SystemRoot%\system32\shell32.dll,-21802
InfoTip=@%SystemRoot%\system32\shell32.dll,-12688
IconResource=%SystemRoot%\system32\shell32.dll,-236

Veřejná videa/Videos:

[.ShellClassInfo]
LocalizedResourceName=@%SystemRoot%\system32\shell32.dll,-21804
InfoTip=@%SystemRoot%\system32\shell32.dll,-12690
IconResource=%SystemRoot%\system32\shell32.dll,-238

Na diskusních fórech Microsoftu a v Knowledge Base jsem objevil problém se souborem desktop.ini související, nicméně odlišný – některým uživatelům se po spuštění systému samovolně spustil Poznámkový blok s otevřeným souborem typu desktop.ini. Příčina i řešení jsou opět celkem nasnadě – složka Po spuštění obsahuje soubor desktop.ini. Tudíž se pro něj provede při spuštění systému standardní akce jako pro všechny ostatní soubory v této složce, standardně je to editace pomocí Poznámkového bloku.

Řešení obou problémů je tedy naprosto triviální a mě by jen nezbývalo nic jiného, než se drze dotázat, proč Microsoft s ničím takovým nepočítal a systém toto nekontroluje automaticky. Nicméně za těch pár let strávených s Windows už vím, že překvapení číhá na každém rohu a člověk nikdy nemůže nic vědět stoprocentně, už jen kvůli tomu množství informací. Pokud tedy víte o nějakém nastavení systému, který zapíná kontrolu těchto souborů nebo snad o nějakém oficiálním nástroji, který Microsoft vydal, neváhejte a dejte mi o něm vědět!

 
Komentáře k článku
RSS
Pouze registrovaní uživatelé mohou přidat komentář!
2.1.2009 22:30:01   147.251.211.xxx 919
presne preto si vzdy instalujem anglicke verzie programov
3.1.2009 00:32:30   89.173.77.xxx 76
presne tak. nielen, ze sa clovek zdokonaluje v anglictine, ale odpadaju akekolvek problemy s viacjazycnym systemom. dost mi vadi, ked polka okna je v EN a polka v SK/CZ.
3.1.2009 10:03:13   84.42.208.xxx 141
Ono by stačilo ze strany MS dost málo a problémy by nebyly :-)
5.1.2009 10:53:18   92.60.57.xxx 41
Já to taky smáznul

Redakce si vyhrazuje právo odstranit neslušné a nevhodné příspěvky. Případné vyhrady na diskuze(zavináč)pctuning.cz

60 čtenářů navrhlo autorovi prémii: 25.2Kč Prémie tohoto článku jsou již uzavřené, děkujeme za váš zájem.
Tento web používá k poskytování služeb soubory cookie.