Де знаходиться список доступних локальних систем 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.