Nazwy folderów w różnych wersjach językowych Windowsa

Piszę drobną aplikację w Javie, ale przydałoby mi się znać nazwy folderów w katalogu domowym użytkownika, tzn. muszę nauczyć moją aplikację rozróżniać, że jeśli nie jest odpalana na angielskiej wersji windowsa, a na przykład polskiej, to zamiast folderu Documents powinna szukać Dokumenty, jeśli na francuskiej to jeszcze inaczej…

No i skąd mogę wytrzasnąć te nazwy? Czy istnieje do tego jakaś specjalna zmienna środowiskowa? A może jakiś wpis w rejestrze?

Lista zmiennych środowiskowych jest między innymi dostępna na wikipedii, jak widzisz jest ścieżka do katalogu domowego użytkownika, ale już nie konkretnych podkatalogów.

Na przykładzie Windowsa 7, nie wiem/nie pamiętam jak to jest w innych:

Zauważ, że przykładowo w katalogu użytkownika widzisz folder “Moje dokumenty”, ale efekt polonizacji to tylko nazwa wyświetlana, ale nie faktyczna nazwa tego katalogu. Rzeczywista nazwa wspomnianego folderu to “Documents”, czyli ścieżka do niego, z wykorzystaniem zmiennej środowiskowej to “%USERPROFILE%\Documents”.

ok… nie wiedziałem, że zmienia się tylko wyświetlanie :stuck_out_tongue:

dzięki :slight_smile:

Biorąc pod uwagę fakt, że pisane w Javie programy często próbują operować na nieistniejących katalogach, jest to zapewne powszechnie stosowana metoda. Ale na pewno nie jest prawidłowa, bo nie działa, gdy użytkownik zmieni lokalizację katalogu.

Z tego, co widzę, naprawdę rzeczywista ścieżka do “Moich dokumentów” znajduje się w: “HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders\Personal”.