= О локализации инсталляторов = Локализация инсталляторов, по-сути, выполняется без участия набора утилит. Разные варианты для одних и тех же сообщений, но для разных языков могут быть заданы через секцию !CustomMessages в iss-файлах: Пример: {{{ [CustomMessages] ru.InstVerFound=Обнаружена уже установленная версия. Чтобы установить данную версию - надо деинсталлировать уже установленную. Деинсталлятор обнаружен. Запустить деинсталлятор? en.InstVerFound=Installed version found. If you want to install this version - you must uninstall an installed version. Uninstaller is detected. Launch uninstaller? ru.PackageVersionInstalled=Версия, содержащаяся в данном пакете (%1) судя по всему уже установлена. Если вы продолжите установку - то по-видимому потребуется деинсталлировать уже установленную версию. Продолжить установку? en.PackageVersionInstalled=Version from this package (%1) is already installed. You must uninstall installed version, if you will continue. Continue installing? ru.StandardInstall=Обыкновенная установка en.StandardInstall=Standard install }}} По-сути эти сообщения представляют из себя константы вида {cm:ИМЯ_КОНСТАНТЫ} В коде паскалевского скрипта сообщение может быть получено таким образом: {{{ ExpandConstant('{cm:InstVerFound}') }}} или: {{{ ExpandConstant('{cm:PackageVersionInstalled,'+AppVer+'}') }}} Во втором случае - сообщение имеет параметр %1, который вносится в текст параметром в тексте внутри фигурных скобок. В остальных местах скрипта константы могут быть получены обычным способом: {{{ [Types] Name: StandardInstall; Description: {cm:StandardInstall}; Languages: }}} Следует иметь в виду, что должны быть определены языки: {{{ [Languages] Name: ru; MessagesFile: compiler:Languages\Russian.isl Name: en; MessagesFile: compiler:Default.isl }}} Причем это минимальное объявление языков, в идеале там же должны быть элементы "!LicenseFile", "!InfoBeforeFile", "!InfoAfterFile" - что позволяет задать специфические текстовые файлы для каждого языка. Что касается переводов текста для особых компонентов - обновлений - то необходимо чтобы в iss была константа с именем "!UpdateFromVersion" и с содержимым вроде "Обновление с версии %1" - она будет использоваться для генерации названий компонентов вроде "Обновление с версии 0.1.0.124". Компоненты для языковых модулей будут добавляться в iss автоматически, тексты их названий также будут вноситься !IssBuilder-ом автоматически. Пример iss-скрипта в Examples будет локализован на русский и английский языки.