0
votes

I want to control what languages are available for setup. I have defined myLanguage as:

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

I have this in Languages sections:

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

Other sections I can control with: Languages: JA like this:

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

but this option is not available in Languages section.

How can I offer JA language selection only when myLanguage="JA"?

1

1 Answers

0
votes

We can use #if in [Languages] section:

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

This also means you need to wrap all lines that will be run under selected language with same condition:

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

Otherwise we get compiler error:

Directive or parameter "Languages" expression error: Parameter "Languages" includes an unknown language.