Де знаходиться список доступних локальних систем Windows?


14

Якщо ви відкриєте Regional and Language Options(через Control Panel) і натисніть на Regional Optionsвкладку, тоді випадає список усіх доступних локальних файлів.

Звідки цей список заселений?

(Я хочу порівнювати налаштування для кожної локалі; я чудово розумію, як це зробити, але мені потрібен список імен локалів, щоб перетворити цикл.)


EDIT: Після перегляду в моєму каталозі Windows (мабуть, слід згадати, що я використовую XP), файл

C:\WINDOWS\system32\locale.nls

схоже на правдоподібного кандидата, але це двійковий файл. Це те, на що я повинен дивитись, і якщо так, то як це прочитати?


Я трохи раніше тому потрапляв у подібну ситуацію. Тоді я дізнався, що немає прямого способу пізнати локалі, які підтримує Windows. Я написав програму для друку всіх підтримуваних імен локалів під Windows. Ось посилання stackoverflow.com/questions/27614666 / ... . У мене також є виконуваний файл, якщо ви хочете.
user1

Відповіді:


9

Microsoft не полегшує вас. Файл NLS, згаданий у запитанні, містить інформацію про локаль, але він знаходиться в HEX. Навіть із шестигранним редактором вміст далеко не людський для читання. Я вирішив застосувати альтернативну стратегію, натхненну відповіддю r0ca.

Існує більш точний список доступних локалів, опублікований Microsoft . На жаль, навіть цей список не зовсім правильний. (Я встановив усі доступні локалі, і у мене є Північний Сото, який відсутній у списку Microsoft, але не традиційний іспанський, сучасний іспанський чи македонський. Український є у списку двічі.)

Імена також не зовсім вірні в списку Microsoft.

Загалом, імена мають бути у формі "Мова" або "Ім'я мови_Країни", наприклад "Англійська" чи "Англійська_Унітарна Кіндом"

Це означає, що підкреслення після першого потрібно замінити пробілами, а імена людей потрібно замінити назви країн, наприклад, "Malay_Brunei_Darussalam" стає "Malay_Brunei Darussalam", "Dutch_Belgian" стає "Dutch_Belgium"

Є багато інших дивацтв. Латинські, кириличні та деякі інші слова потрібно думати в дужках, наприклад "Сербська_Кирилічна_Босня_Герцеговина" стає "Сербська (кирилиця) _Боснія та Герцеговина"

Так само "Sami_Inari" стає "Sami (Inari) _Finland"

Є ще багато прикладів того, що потрібно вгадувати власні назви країн "English_Philippines" стає "English_Republic of Philippines"

Я зрозумів більшість цих винятків, змінивши свою локальну локальну систему Windows на панелі керування, потім завантаживши R та ввівши текст

Sys.getlocale()

На жаль, цей метод наразі не працює з індійськими мовами (плюс кілька інших). Дивіться звіт про помилки тут .


5

У вас їх усі перераховані тут . Я сподіваюся, що це те, що ви шукаєте


Дякую, хоча я дуже хочу, щоб список мов доступний у моїй системі. Наприклад, у мене не встановлено китайську мову, але у мене є Північна Сото (якої не було в списку). (Ознайомтеся з тими параметрами ...) Справа в тому, що Windows повинна зберігати список того, що десь встановлено; Я просто не можу його знайти.
Річард Коттон

Все ще намагаюся змусити цю .nls читацьку файлів працювати ... Чорт!
r0ca

Дякую за вашу наполегливість. Схоже, остання версія зчитувача NLS Software Gudu Software пошкоджена. Я надіслав їх електронною поштою, щоб їм сказати, тому доведеться почекати і подивитися.
Річард Коттон

Так, у мене було те саме, але я не писав електронною поштою. Також спробував з кількох дзеркал, але ... не пощастило!
r0ca
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.