Gdzie jest lista dostępnych ustawień regionalnych systemu Windows?

14

Jeśli otworzysz Regional and Language Options(przez Control Panel) i klikniesz Regional Optionskartę, pojawi się rozwijana lista wszystkich dostępnych ustawień regionalnych.

Skąd ta lista jest wypełniona?

(Chcę porównać ustawienia dla poszczególnych ustawień regionalnych; nie mam nic przeciwko, jak to zrobić, ale potrzebuję listy nazw ustawień narodowych, aby się zapętlić).


EDYCJA: Po przejrzeniu mojego katalogu Windows (prawdopodobnie powinienem wspomnieć, że używam XP), plik

C:\WINDOWS\system32\locale.nls

wygląda na wiarygodnego kandydata, ale jest to plik binarny. Czy na to powinienem patrzeć, a jeśli tak, to jak to czytać?

Richard Cotton
źródło
Niedawno wpadłem na podobną sytuację. Potem dowiedziałem się, że nie ma bezpośredniego sposobu na poznanie ustawień regionalnych obsługiwanych przez system Windows. Napisałem program do drukowania wszystkich obsługiwanych nazw regionalnych w systemie Windows. Oto link stackoverflow.com/questions/27614666/… . Mam również plik wykonywalny, jeśli chcesz.
użytkownik1

Odpowiedzi:

9

Microsoft nie ułatwia ci tego. Wspomniany w pytaniu plik NLS zawiera informacje o ustawieniach regionalnych, ale jest w formacie HEX. Nawet w edytorze szesnastkowym zawartość jest daleka od czytelnej dla człowieka. Zdecydowałem się na alternatywną strategię, zainspirowaną odpowiedzią r0ca.

Dokładniejsza lista dostępnych lokalizacji opublikowana przez Microsoft . Niestety, nawet ta lista nie jest do końca właściwa. (Zainstalowałem wszystkie dostępne lokalizacje i mam Nothern Sotho, który nie znajduje się na liście Microsoftu, ale nie ma tradycyjnego hiszpańskiego, nowoczesnego hiszpańskiego ani macedońskiego. Ukraiński jest na liście dwa razy).

Nazwy też nie są w porządku na liście Microsoft.

Ogólnie nazwy powinny mieć postać „Język” lub „Nazwa_języka”, np. „Angielski” lub „English_United Kindom”

Oznacza to, że podkreślenia po pierwszym muszą zostać zastąpione spacjami, a nazwiska osób należy zastąpić nazwami krajów, np. „Malay_Brunei_Darussalam” staje się „Malay_Brunei Darussalam” „Dutch_Belgian” staje się „Dutch_Belgium”

Istnieje wiele innych osobliwości. Łacina, cyrylica i niektóre inne słowa muszą być w nawiasach, np. „Serbian_Cyrillic_Bosnia_Herzegovina” staje się „Serbian (Cyrillic) _Bosnia and Herzegovina”

Podobnie „Sami_Inari” staje się „Sami (Inari) _Finland”

Istnieje wiele innych przykładów odgadywania właściwych nazw krajów „English_Filippines” staje się „English_Republic of Philippines”

Doszedłem do wniosku, że większość z tych wyjątków to zmiana ustawień regionalnych systemu Windows z panelu sterowania, a następnie ładowanie R i pisanie

Sys.getlocale()

Niestety, ta metoda obecnie nie działa z indyjskimi ustawieniami lokalnymi (oraz kilkoma innymi). Zobacz raport o błędach tutaj .

Richard Cotton
źródło
5

Wszystkie są tutaj wymienione . Mam nadzieję, że tego właśnie szukasz

r0ca
źródło
Dzięki, chociaż naprawdę chcę listę języków, które są dostępne w moim systemie. Na przykład nie mam zainstalowanego chińskiego, ale mam Northern Sotho (którego nie było na liście). (Przejdź do tych opcji ...) Chodzi o to, że Windows musi przechowywać listę tego, co jest gdzieś zainstalowane; Po prostu nie mogę tego znaleźć.
Richard Cotton
Wciąż próbuję uruchomić ten czytnik plików .nls ... Cholera!
r0ca
Dziękuję za waszą wytrwałość. Wygląda na to, że najnowsza wersja czytnika NLS Gudu Software jest uszkodzona. Wysłałem im e-mailem informację, więc będziemy musieli poczekać i zobaczyć.
Richard Cotton
Tak, miałem to samo, ale nie wysłałem e-maila. Próbowałem także z kilku lusterek, ale ... nie ma szczęścia!
r0ca