Где список доступных локалей Windows?

Если Вы открываетесь Regional and Language Options (через Control Panel), и нажмите Regional Options вкладка, затем существует выпадающий список всех доступных локалей.

Откуда этот список заполняется?

(Я хочу сравнить настройки для каждой локали; все хорошо с тем, как сделать это, но мне нужен список имен локали для цикличного выполнения.)


Править: После просматривания моего каталога окон (должен, вероятно, упомянуть, что я использую XP), файл

C:\WINDOWS\system32\locale.nls

похож на вероятного кандидата, но это - двоичный файл. Это то, что я должен смотреть на, и если так, как я читаю его?

10
задан 26.06.2012, 23:23

2 ответа

Microsoft не помогает Вам. Файл NLS, упомянутый в дозе вопроса, содержит информацию о локали, но это находится в ШЕСТНАДЦАТЕРИЧНОМ ЧИСЛЕ. Даже с Hex-редактором, содержание совсем не человекочитаемо. Я решил взять альтернативную стратегию, вдохновленную ответом r0ca.

Существует более точный список доступных локалей, опубликованных Microsoft. К сожалению, даже этот список не совершенно правилен. (Я установил все доступные локали, и у меня есть Nothern Sotho, который не находится в списке Microsoft, но не Традиционном испанском, современном испанском или македонском языке. Украинский язык находится в списке дважды.)

Имена не совершенно правильны в списке Microsoft также.

В целом имена должны иметь форму "Язык" или "Имя Language_Country", например, "Английский" или "English_United Kindom"

Это означает, что символы нижнего подчеркивания после первого должны быть заменены пробелами и что люди, имена должны быть заменены названиями страны, например, "Malay_Brunei_Darussalam", становятся "Malay_Brunei, Даруссалам" "Dutch_Belgian" становится "Dutch_Belgium"

Существует много других причуд. Латинский, кириллица и некоторые другие слова должны быть заключены в скобки, например, "Serbian_Cyrillic_Bosnia_Herzegovina" становится "сербская (кириллица) _Bosnia и Герцеговина"

Аналогично "Sami_Inari" становится "Sami (Инари) _Finland"

Существует намного больше примеров необходимости предположить, что надлежащие названия страны "English_Philippines" становятся "English_Republic Филиппин"

Я понял большинство этих исключений путем изменения моей локали Windows от панели управления, затем загрузки R и ввода

Sys.getlocale()

К сожалению, этот метод в настоящее время не работает с индийскими локалями (плюс немногие другие). См. отчет об ошибках здесь.

8
ответ дан 07.12.2019, 12:55

У Вас есть они все перечисленные здесь. Я надеюсь, что это - то, что Вы ищете

3
ответ дан 07.12.2019, 12:55

Теги

Похожие вопросы