Как я могу использовать языковые файлы с константами препроцессора? - PullRequest
0 голосов
/ 08 октября 2018

Я хочу иметь все "CustomMessages" в языковых файлах (расширение "isl").Кроме того, некоторые сообщения содержат константы препроцессора, например,

ALREADY_INSTALLED={#MyAppName} is already installed on this computer.

Сообщение должно отображаться следующим образом:

"My-действительно-nice-Приложение уже установлено на этом компьютере "

Но я получаю следующее:

" {# MyAppName} уже установлено на этом компьютере. "

Следующее работает как талисман, когда у меня есть код, сообщение, определенное в [CustomMessages] -топе и #define MyAppName в том же файле iss:

MsgBox(ExpandConstant('{cm:ALREADY_INSTALLED}'), ...);

Есть какие-нибудь подсказки?

1 Ответ

0 голосов
/ 08 октября 2018

Только .iss файл предварительно обработан, а не .isl файлы.

Но вы можете использовать FmtMessage функцию :

FmtMessage(CustomMessage('ALREADY_INSTALLED'), ['{#MyAppName}'])

С

ALREADY_INSTALLED=%1 is already installed on this computer.

Обратите внимание, что в коде Pascal Script лучше использовать CustomMessage('FOO') вместо ExpandConstant('{cm:FOO}').


Аналогичный вопрос: Передать параметрыдля пользовательских сообщений, определенных в файлах .isl .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...