Секция [LangOptions]

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

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

[LangOptions]
LanguageName=English
LanguageID=$0409
LanguageCodePage=0
DialogFontName=
DialogFontSize=8
WelcomeFontName=Verdana
WelcomeFontSize=12
TitleFontName=Arial
TitleFontSize=29
CopyrightFontName=Arial
CopyrightFontSize=8
RightToLeft=no

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

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

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

DialogFontName и DialogFontSize — определяют имя и размер шрифта, используемого в диалогах. Если параметр DialogFontName отсутствует, то для имени шрифта используется значение директивы DefaultDialogFontName секции [Setup]. Если же указанный шрифт в системе пользователя не существует или параметр содержит пустую строку, будет сделана подмена на Microsoft Sans Serif или MS Sans Serif размером 8 пунктов.

WelcomeFontName и WelcomeFontSize — определяют имя и размер шрифта, используемого в заголовках на страницах Приветствие и Установка завершена. Если указанный шрифт в системе пользователя не существует или параметр содержит пустую строку, будет сделана подмена на Microsoft Sans Serif или MS Sans Serif размером 12 пунктов.

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

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

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

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

en.LanguageName=English