Поиск на сайте: Расширенный поиск


Новые программы oszone.net Читать ленту новостей RSS
Hitman Pro - комплексное решение для удаления всевозможных шпионских и вредоносных программ с компьютера пользователя. У...
Файловый менеджер с очень малыми системными требованиями, но тем не менее с большими возможностями. Программа имеет ориг...
Atomic Email Hunter осуществляет поиск e-mail адресов на веб-сайтах, исходя из заданных пользователем критериев. Програм...
Программа для пакетного изменения размеров изображений. Fotosizer меняет размеры файлов за 3 шага: выбор снимка, выбор н...
«Товар-Деньги-Товар» — это торгово-складская программа для осуществления комплексного контроля над деятельностью оптовых...
OSzone.net Microsoft Автоматическая установка Автоматическая установка Windows XP Локализация: MUI, шрифты и региональные настройки RSS

Локализация: MUI, шрифты и региональные настройки

Текущий рейтинг: 3.98 (проголосовало 153)
 Посетителей: 77868 | Просмотров: 114878 (сегодня 0)  Шрифт: - +

Вопросы о региональных настройках и локализации возникают на форуме Автоматической установки с завидной регулярностью. В принципе, практически вся информация, позволяющая разобраться с проблемой, на страницах сайта представлена, хотя и не собрана в одном месте. Кроме того, некорректная отработка секции [RegionalSettings] из файла ответов вносит дополнительную неразбериху. В данной статье я постарался собрать как личный опыт, так и опыт участников форума. Я попытаюсь осветить все тонкости локализации и выработать алгоритм применения настроек, срабатывающий на 100%.

Статья разбита на секции, каждая из которых так или иначе относится к локализации. Для каждой секции приводится работающий метод применения настроек. В конце статьи все методы сводятся воедино для выполнения во время автоматической установки системы.

Multilanguage User Interface (MUI)anchor

Если вы работаете с локализованной версией Windows, то можете пропустить эту секцию.

Для локализации элементов интерфейса используется Multilanguage User Interface (MUI). Вообще, он предназначен для корпоративных пользователей и не доступен для загрузки с сайта Microsoft (где выложен только MUI для Windows Embedded, который не подходит для Windows XP). В данном примере рассматривается русский MUI и выбор русского интерфейса, как интерфейса по умолчанию для всех учетных записей, создаваемых впоследствии.

muisetup.exe /i 0419 /d 0419 /l /f /r /s

Ключ /i указывает, какой язык выбирается, и соответственно 0419 - русский, а ключ /d назначает язык интерфейса по умолчанию. Полный список ключей, а также значений языков можно найти в файле muisetup.hlp, входящем в комплект поставки MUI.

Важно! Для наиболее полной локализации интерфейса вам нужно взять muisetup.exe от SP3 и заменить им одноименный файл в дистрибутиве MUI. Также, вам могут понадобиться дополнительные пакеты для локализации Справки, Windows Media Player 10 и Windows Movie Maker 2.1.

Если вы хотите, чтобы русский интерфейс был уже при первом входе в систему, то устанавливайте MUI из cmdlines.txt. В противном случае, вы можете произвести установку при первом входе в систему любым удобным вам способом (пакетный файл из GuiRunOnce, RunOnceEx и т.д.). Ниже пример установки русского MUI и его обновлений из cmdlines.txt

[COMMANDS]
".\WinMUI\muisetup.exe /i 0419 /d 0419 /l /f /r /s"
".\WinMUI\WindowsXP-KB841625-x86MUI-RUS.exe /quiet /norestart"
".\WinMUI\MP10Setup_muiRUS.exe /Q"
".\WinMUI\mm21_muirus.exe /Q"

Понятно, что абсолютный путь к файлам на CD должен быть $OEM$\WinMUI\. Подробнее об $ОЕМ$ директориях читайте в соответствующей статье Справочника.

Корректное отображение кириллицы в меню и диалогах ПОanchor

Как было сказано выше, локализация интерфейса ОС осуществляется при помощи MUI. А вот за корректное отображение кириллических шрифтов в меню и диалогах программного обеспечения отвечает параметр SystemLocale файла ответов. Однако в некоторых программах все равно наблюдается некорректное отображение кириллических символов (также известное как иероглифы или кракозябры ;-). Стандартной рекомендацией является импортирование следующих параметров в реестр:

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Nls\CodePage]
"1250"="c_1251.nls"
"1251"="c_1251.nls"
"1252"="c_1251.nls"
"1253"="c_1251.nls"

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\FontSubstitutes]
"System,0"="Arial,204"
"Fixedsys,0"="Fixedsys,204"
"Small Fonts,0"="Small Fonts,204"
"MS Serif,0"="MS Serif,204"
"MS Sans Serif,0"="MS Sans Serif,204"
"Courier,0"="Courier New,204"
"Arial Cyr,0"="Arial,204"
"Courier New Cyr,0"="Courier New,204"
"Times New Roman Cyr,0"="Times New Roman,204"
"Helv,0"="MS Sans Serif,204"
"Tms Rmn,0"="MS Serif,204"
"Arial,0"="Arial,204"

Примечание. Исправляя проблему в одних программах, вы можете привнести ее в другие. Например, в Adobe Reader возникают проблемы при печати. Не используйте твик, если у вас нет проблем.

Эти настройки являются системными и распространяются на всех пользователей. Вы можете включить их в уже существующий файл hklm.reg (подробнее в статье Твики реестра) или создать отдельный файл для настроек шрифтов, скажем, fonts.reg, который можно импортировать из cmdlines.txt или при первом входе в систему любым удобным вам способом (пакетный файл из GuiRunOnce, RunOnceEx и т. д.).

Языковые и региональные настройки

Одной из основных причин неразбeрихи с региональными настройками является [частично] некорректная отработка секции [RegionalSettings]. Почему это происходит не знают, похоже, и в Microsoft, т. к. я пока не видел статьи, объясняющей причину или по крайней мере признающей проблему. Кроме того, не все региональные настройки могут быть сконфигурированы через файл ответов.

Секция [RegionalSettings] файла ответовanchor

Я рекомендую внимательно изучить параметры секции [RegionalSettings] файла ответов, т. к. ее мы применим другим способом.

[RegionalSettings]
LanguageGroup=1,2,3,4,5
SystemLocale=00000419
UserLocale=00000419
InputLocale=0409:00000409,0419:00000419

Секцию [ReginalSettings] удобно конфигурировать через Setup Manager. Однако давайте рассмотрим ее детально, т. к. она содержит много параметров и традиционно вызывает вопросы. Ниже я привожу подробные описания параметров, которые взяты из KB289125 (в статье также перечислены и другие параметры).

  • LanguageGroup - Задает поддержку языковой группы операционной системой, установленной на компьютере. Если данная настройка указана, то она определяет также значения настроек InputLocale, SystemLocale и UserLocale. По умолчанию в любом случае устанавливаются первые пять языковых групп из этого списка, так что для поддержки кириллицы данный параметр вообще необязателен.

  • SystemLocale

    System Locale

    Разрешает программам, не использующим кодировку Юникод (Unicode), выполнять работу, выводить меню и диалоговые окна с использованием локализованных языковых символов. Если в локализованной программе некорректно отображаются языковые символы, настройка языка системы по умолчанию с целью обеспечить соответствие языку локализованной программы может разрешить проблему. Однако данная настройка является системной, поэтому невозможно одновременно поддерживать версии локализованных программ, не использующих Юникод, на нескольких языках. Значения параметров должны соответствовать списку Locale IDs.

  • UserLocale

    User Locale

    Управляет способом отображения чисел, времени, денежных сумм и дат.

  • InputLocale

    Input Locale

    Задает код раскладки клавиатуры и комбинации раскладок. Если указано несколько языков ввода, первой используемой раскладкой клавиатуры будет являться та, которая определена для данного компьютера по умолчанию (в том числе и при вводе пароля при входе в систему). Указанные комбинации раскладок клавиатуры должны поддерживаться для языков, либо определенных путем использования настройки LanguageGroup, либо для языка по умолчанию для устанавливаемой локализованной версии операционной системы Windows XP. Если для доступного языка не поддерживается указанная комбинация, будет использоваться комбинация раскладки клавиатуры по умолчанию. Данная настройка игнорируется, если задана настройка Language.

Таким образом, в приведенном выше примере будут установлены:

  • LanguageGroup=1,2,3,4,5
    Пять языковых групп: Western Europe and United States, Central Europe, Baltic, Greek и Cyrillic. Строго говоря, можно не указывать данный параметр вообще, т. к. группы 1-5 устанавливаются по умолчанию.

  • SystemLocale=00000419
    Русский язык по умолчанию для программ, не использующих Юникод.

  • UserLocale=00000419
    Русские Стандарты и Форматы.

  • InputLocale=0409:00000409,0419:00000419
    Две раскладки клавиатуры: русская и английская. Английская будет раскладкой по умолчанию (в том числе и при входе в систему, т. к. идет первой в списке).

regopts.txtanchor

Как уже было сказано выше, секция [RegionalSettings] не отрабатывает корректно из файла ответов в некоторых случаях (по сообщениям участников конференции - в английской XP SP2, хотя у меня такой проблемы не наблюдалось). Точнее не срабатывают некоторые параметры (UserLocale и InputLocale, если мне не изменяет память), но это не суть важно, т. к. общий итог все равно неудовлетворительный. Существует альтернативный способ конфигурирования региональных настроек, который описан в этой статье MS KB. Вкратце, секция [RegionalSettings] помещается в текстовый файл regopts.txt, а потом выполняется команда

rundll32.exe shell32,Control_RunDLL intl.cpl,,/f:"c:\regopts.txt"

Кoманду можно выполнять при первом входе в систему, что косвенно и подтверждает примечание в конце статьи базы знаний. Конечно, файл regopts.txt необязательно должен находиться в корне диска C:\. Вы можете изменить путь соответственно расположению файла. Выполнить команду вы можете любым удобным вам способом (пакетный файл из GuiRunOnce, RunOnceEx и т. д.). Однако, выполняя команду при первом входе в систему, вы примените пользовательские параметры (например, UserLocale) только к текущему пользователю. Для того чтобы применить параметры ко всем пользователям, команду нужно выполнять из cmdlines.txt. Пример вы найдете ниже в статье.

Далее в статье этот способ я буду обозначать как "способ regopts.txt".

Раскладка клавиатурыanchor

Наборы раскладок клавиатуры и их порядок (приоритет) можно задать при помощи способа regopts.txt, а вот способ переключения между раскладками

Key sequence

конфигурируется через реестр. Достаточно настроить желаемый способ на рабочей системе и экспортировать раздел реестра

HKEY_CURRENT_USER\Keyboard Layout\Toggle

Ниже приводится пример параметра, отвечающего за переключение раскладки левым ALT+SHIFT

Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\Keyboard Layout\Toggle]
"Hotkey"="1"

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

[HKEY_CURRENT_USER\Keyboard Layout\Preload]
"1"="00000409"
"2"="00000419"

В данном случае по умолчанию выставляется английская раскладка клавиатуры.

Поскольку раскладка клавиатуры является пользовательской настройкой, вам нужно обеспечить импорт параметра из cmdlines.txt, если вы хотите применить его для всех пользователей. Вы можете включить экспортированные значения в уже существующий файл hkcu.reg (подробнее в статье Твики реестра) или создать отдельный файл для региональных настроек, скажем, regional.reg, который также будет импортироваться из cmdlines.txt.

Расположение (Location)anchor

Это еще один элемент региональных настроек, который надо конфигурировать через реестр.

Location

За настройку элемента отвечает параметр Geo из раздела

HKEY_CURRENT_USER\Control Panel\International\Geo

Например, расположению Россия соответствует

[HKEY_CURRENT_USER\Control Panel\International\Geo]
"Nation"="203"

Поскольку "Расположение" является пользовательской настройкой, вам нужно обеспечить импорт параметра из cmdlines.txt, если вы хотите применить его для всех пользователей. Вы можете включить экспортированные значения в уже существующий файл hkcu.reg (подробнее в статье Твики реестра) или в regional.reg, который вы, возможно, создали для импорта способа переключения клавиатуры.

Сводим все вместе

Итак, подведем итог. Для наиболее полной и корректной локализации нам понадобится:

  • Установить MUI (если ОС не локализована)
  • Обеспечить корректное отображение кириллицы в меню и диалогах ПО
  • Сконфигурировать языковые и региональные настройки и способ раскладки клавиатуры

Как вы уже поняли из прочтения статьи, эти настройки устанавливаются при помощи файлов, исполняемых из cmdlines.txt. Пример содержимого cmdlines.txt:

[COMMANDS]
".\WinMUI\muisetup.exe /i 0419 /d 0419 /l /f /r /s"
".\WinMUI\WindowsXP-KB841625-x86MUI-RUS.exe /quiet /norestart"
".\WinMUI\MP10Setup_muiRUS.exe /Q"
".\WinMUI\mm21_muirus.exe /Q"
"REGEDIT /S regional.reg"
"REGEDIT /S fonts.reg"
"regset.cmd"

Первые четыре команды последовательно устанавливают MUI, а также обновления Справки, Windows Media Player 10 и Windows Movie Maker. Если вы не устанавливаете MUI, то все строки, относящиеся к нему, вам не нужны. Пятая команда импортирует файл regional.reg, содержащий способ переключения раскладки клавиатуры и настройки Расположения. Альтернативно можно включить содержимое regional.reg в состав hkcu.reg, если у вас таковой имеется. Затем выполняется импорт параметров реестра для шрифтов из файла fonts.reg (вы также можете объединить этот REG-файл с другими).

Наконец, последняя строка в файле cmdlines.txt реализует "способ regopts.txt", импортируя параметры секции [RegionalSettings]. Я приведу пример пакетного файла regset.cmd, который и совершит нужные действия:

@echo off
%systemroot%\system32\rundll32.exe shell32,Control_RunDLL intl.cpl,,/f:".\regopts.txt"
exit

В данном примере файлы regional.reg, fonts.reg и regopts.txt должны находиться в одной папке с файлом cmdlines.txt. Все перечисленные в файле cmdlines.txt команды будут выполнены за 12 минут до окончания установки ОС.

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

Автор: Вадим Стеркин  •  Иcточник: unattended.oszone.net  •  Опубликована: 08.11.2005
Нашли ошибку в тексте? Сообщите о ней автору: выделите мышкой и нажмите CTRL + ENTER
Теги:  


Оценить статью:
Вверх
Комментарии посетителей RSS

Чтобы оставить комментарий, зарегистрируйтесь или войдите с учетной записью социальной сети.