Сценарий установки Inno: как управлять разделом языков? - PullRequest
0 голосов
/ 02 августа 2020

Я хочу контролировать, какие языки доступны для настройки. Я определил myLanguage как:

; default is EN(glish) unless CMD parameter defined with /DmyLanguage="JA"
#ifndef myLanguage
  #define myLanguage "EN"
#endif

У меня это в разделах языков:

[Languages]
Name: JA; MessagesFile: compiler:Languages\Japanese.isl; LicenseFile: {#MyFolder}\eulajp.txt; 
Name: EN; MessagesFile: compiler:Default.isl; LicenseFile: {#MyFolder}\eula.txt

Другие разделы, которыми я могу управлять с помощью: Languages: JA, например:

Source: {#MyFolder}\manual_jp.chm; DestDir: {app}; DestName: manual.chm; Languages: JA

, но эта опция недоступна в разделе «Языки».

Как я могу предложить выбор языка JA, только если myLanguage = "JA"?

1 Ответ

0 голосов
/ 02 августа 2020

Мы можем использовать # if в разделе [Languages]:

#if myLanguage == "JA" 
  Name: JA; MessagesFile: compiler:Languages\Japanese.isl; LicenseFile: {#MyFolder}\eulajp.txt; 
#endif

Это также означает, что вам нужно обернуть все строки, которые будут выполняться на выбранном языке, с тем же условием:

#if myLanguage == "JA" 
  Source: {#MyFolder}\manual_jp.chm; DestDir: {app}; DestName: manual.chm; Languages: JA
#endif

В противном случае мы получим ошибку компилятора:

Ошибка выражения директивы или параметра «Языки»: параметр «Языки» включает неизвестный язык.

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