Секция [LangOptions]

Секция [LangOptions] используется для объявления специфических для языка параметров, таких как шрифты, используемых программой установки и удаления. Как правило, создавать секцию [LangOptions] в главном сценарии не нужно, поскольку по умолчанию все необходимые для конкретного языка параметры извлекаются из файла Default.isl (или другого языкового файла, указанного в секции [Languages]), который входит в поставку Inno Setup.

Ниже представлен пример секции [LangOptions] (все перечисленные здесь параметры используются по умолчанию).

[LangOptions]
LanguageName=English
LanguageID=$0409
LanguageCodePage=0
DialogFontName=
DialogFontSize=9
DialogFontBaseScaleWidth=7
DialogFontBaseScaleHeight=15
WelcomeFontName=Segoe UI
WelcomeFontSize=14

LanguageName — собственное имя языка (но не имя на английском). Оно отображается в списке доступных языков в диалоге "Выбор языка" при многоязычной установке.

LanguageID — числовой идентификатор языка. Смотрите список действительных идентификаторов языка на портале MSDN [внешняя ссылка]. Этот параметр, наряду с LanguageCodePage, применяется для автоматического определения наиболее подходящего языка, используемого по умолчанию, поэтому убедитесь, что он установлен правильно. Он всегда должен начинаться со знака "$", поскольку идентификаторы языка представлены в шестнадцатеричном формате. Если для нужного языка идентификатор языка ещё не существует, укажите значение ноль.

LanguageCodePage — определяет "кодовую страницу" (набор символов), используемую компилятором для преобразования любого не Unicode-текста языковых файлов в текст Unicode. Обратите внимание, что любой текст в файле .iss, например, текст сообщений секции [CustomMessages], никогда не преобразуется и уже должен быть в кодировке Unicode. Если для нужного языка кодовой страницы ещё не существует, укажите в параметре LanguageCodePage значение ноль и используйте текст в языковых файлах только в кодировке Unicode (UTF-8). Если язык использует только символы ASCII (например, Английский), установите значение LanguageCodePage равным нулю. Если параметр LanguageCodePage имеет значение ноль, но в одном из языковых файлов используется не Unicode-текст, то для его преобразования в кодировку Unicode будет использоваться системная кодовая страница.

DialogFontName, DialogFontSize, DialogFontBaseScaleWidth и DialogFontBaseScaleHeight — определяют имя и размер шрифта, используемого в диалогах. Если параметр DialogFontName отсутствует, то для имени шрифта используется значение директивы DefaultDialogFontName секции [Setup]. Если же указанный шрифт в системе пользователя не существует или параметр содержит пустую строку, будет сделана подмена на Segoe UI размером 9-point.

До Inno Setup 6.6 по умолчанию использовался шрифт Tahoma размером 8-point. Теперь используется шрифт Segoe UI размером 9-point. Чтобы снова использовать предыдущий шрифт без изменения масштабирования, выполните следующее:

DialogFontName=Tahoma
DialogFontSize=8
DialogFontBaseScaleHeight=13
DialogFontBaseScaleWidth=6

Если до Inno Setup 6.6 уже использовался шрифт Segoe UI с размером 9-point, то после обновления изменится масштабирование. Чтобы использовать предыдущее масштабирование, выполните следующее:

DialogFontName=Segoe UI
DialogFontSize=9
DialogFontBaseScaleHeight=13
DialogFontBaseScaleWidth=6

WelcomeFontName и WelcomeFontSize — определяют имя и размер шрифта, используемого в заголовках на страницах Приветствие и Установка завершена. Если указанный шрифт в системе пользователя не существует или параметр содержит пустую строку, будет сделана подмена на шрифт Segoe UI размером 14-point.

До Inno Setup 6.6 по умолчанию использовался шрифт Verdana размером 12-point. Теперь используется шрифт Segoe UI размером 14-point. Чтобы снова использовать предыдущий шрифт, выполните следующее:

WelcomeFontName=Verdana
WelcomeFontSize=12

RightToLeft — определяет направление письма справа налево. При значении yes выравнивание текста и направление письма будут инвертированы (с некоторыми преднамеренными исключениями), а элементы управления будут расположены справа налево ("перевёрнуты").

В случаях, когда в секции [Languages] определено несколько языков, использование секции [LangOptions] в собственном сценарии (в противоположность файлу .isl) по умолчанию переопределит параметры для всех языков. Чтобы применить параметры секции [LangOptions] только для одного языка, добавьте к именам параметров приставку в виде внутреннего имени языка с разделительной точкой. Например:

en.LanguageName=English

Устаревший функционал

Параметр удалён в 6.4. TitleFontName и TitleFontSize — определяют имя и размер шрифта для вывода имени приложения в фоновом окне установки (только если WindowVisible=yes). Если указанный шрифт в системе пользователя не существует, будет сделана подмена на Arial размером 29-point. Если же параметр содержит пустую строку, будет сделана подмена на Microsoft Sans Serif или MS Sans Serif размером 29-point.

Параметр удалён в 6.4. CopyrightFontName и CopyrightFontSize — определяет имя и размер шрифта для вывода сообщения AppCopyright в фоновом окне установки (только если WindowVisible=yes). Если указанный шрифт в системе пользователя не существует, будет сделана подмена на Arial размером 8-point. Если же параметр содержит пустую строку, будет сделана подмена на Microsoft Sans Serif или MS Sans Serif размером 8-point.