Inno Setup поддерживает многоязычную установку. Секция [Languages] определяет языки, доступные программе установки.
Программа установки определяет язык по умолчанию, используемый для сообщений, в следующем порядке:
Если директива ShowLanguageDialog в секции [Setup] имеет значение yes (используется по умолчанию), будет показан диалог "Выбор языка", в котором пользователь сможет переопределить язык программы установки. Для получения дополнительной информации обратитесь к разделу справки "Секция [LangOptions]".
Ниже приведен пример секции [Languages], в котором указываются два языка: Английский (English), базирующийся на файле Default.isl, и Нидерландский (Dutch), базирующийся на переводе третьих лиц.
[Languages] Name: "en"; MessagesFile: "compiler:Default.isl" Name: "nl"; MessagesFile: "compiler:Languages\Dutch.isl"
Внутреннее имя языка, которое может быть каким угодно. Это имя можно использовать в качестве приставки для параметров секции [LangOptions] или [Messages], чтобы связать эти параметры с конкретным языком. Константа {language} возвращает внутреннее имя выбранного языка.
Name: "en"
Определяет имя (имена) файла(-ов) .isl для чтения сообщений по умолчанию. При сборке инсталлятора эти файлы должны находиться в исходном каталоге сценария, в противном случае к этим файлам следует указать полный путь или путь с приставкой "compiler:", тогда компилятор будет искать их в собственном каталоге.
Каждый файл сообщений должен содержать секцию [LangOptions], секцию [Messages] и секцию [CustomMessages].
Если задано несколько файлов, то они считываются по порядку, сверху вниз, причём последний файл переопределяет языковые параметры или сообщения всех предыдущих файлов. Любые языковые параметры или сообщения в основном сценарии переопределяют параметры из файлов сообщений.
Если используется файл Unicode, он должен быть в кодировке UTF-8.
MessagesFile: "compiler:Dutch.isl" MessagesFile: "compiler:Default.isl,compiler:MyMessages.isl"
Определяет файл лицензионного соглашения в формате .txt или .rtf (текст с разметкой), который будет показан перед выбором папки установки приложения. При сборке инсталлятора файл документа должен находиться исходном каталоге сценария, в противном случае к этому файлу необходимо указать полный путь или путь с приставкой "compiler:", тогда компилятор будет искать его в собственном каталоге.
Если используется Unicode файл .txt, он должен быть в кодировке UTF-8 (с маркером BOM или без него) или UTF-16LE.
LicenseFile: "license-Dutch.txt"
Определяет файл дополнительного документа "readme" в формате .txt или .rtf (текст с разметкой), который будет показан перед выбором папки установки приложения. При сборке инсталлятора файл документа должен находиться исходном каталоге сценария, в противном случае к этому файлу необходимо указать полный путь или путь с приставкой "compiler:", тогда компилятор будет искать его в собственном каталоге.
Если используется Unicode файл .txt, он должен быть в кодировке UTF-8 (с маркером BOM или без него) или UTF-16LE.
InfoBeforeFile: "infobefore-Dutch.txt"
Определяет файл дополнительного документа "readme" в формате .txt или .rtf (текст с разметкой), который будет показан в случае успешной установки. При сборке инсталлятора файл документа должен находиться исходном каталоге сценария, в противном случае необходимо указать полный путь к файлу или путь с приставкой "compiler:", тогда компилятор будет искать его в собственном каталоге.
Эта директива отличается от файлов с флагом isreadme тем, что текст документа отображается на странице мастера, а не в Блокноте Windows.
Если используется Unicode файл .txt, он должен быть в кодировке UTF-8 (с маркером BOM или без него) или UTF-16LE.
InfoAfterFile: "infoafter-Dutch.txt"