PDA

Показать полную графическую версию : [решено] Локализация ОС: определить через реестр является ли ОС англоязычной с или без MUI


Dragokas
18-10-2013, 19:51
Здравствуйте !!!

Помогите, пожалуйста, найти ключ реестра, по которому можно сделать вывод
о двух категориях ОС (любая версия):

1) Чисто англоязычная
2) Англоязычная с русским MUI либо русскоязычная.

Мой скрипт не поддерживает вывод в юникоде и должен понимать с каким языком ему запускаться,
и если в системе нет поддержки русских шрифтов, то переходить на англ.

Есть вариант с ключем
HKLM\SYSTEM\CurrentControlSet\Control\Nls\Locale\(Default): "00000419" - русс.

но это ведь SysLocale, которая не всегда может с уверенностью сказать, установлен ли в системе RU MUI.

Koza Nozdri
18-10-2013, 20:17
на вин 7 например
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\MUI\UILanguages
lcid это локаль
1049 это еод языка

на хр не помню,надо виртуалку ставить смотреть.

Dragokas
19-10-2013, 03:23
Как оказалось, если установлена опция: "Для неюникодового вывода использовать" - английский,
то вне зависимости от наличия MUI, я получу крякозябры.

Следовательно достаточно мониторить ключ:
HKLM\SYSTEM\CurrentControlSet\Control\Nls\Language\Default
на предмет наличия в нем значения "0419"

Если тебе все-таки интересно для общего развития,
я снял куст SYSTEM из XP EN, XP EN + MUI, XP RU.
+ сделал лог установки MUI: http://Dragokas.16mb.com/Forum/Dl/XP_Registry.zip

Safety1st
19-10-2013, 03:54
А вот для PowerShell-скрипта:
(Get-WmiObject Win32_OperatingSystem).oslanguage

Выводит языковую версию системы.

Koza Nozdri
19-10-2013, 07:14
кстати да-можно использовать.




© OSzone.net 2001-2012