Inno 安装脚本:如何控制语言部分?
Inno setup script: How to control Languages section?
我想控制可用于设置的语言。我已将 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
但此选项在语言部分不可用。
如何仅在 myLanguage="JA" 时提供 JA 语言选择?
我们可以在 [Languages]
部分使用 #if:
#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
否则我们会得到编译器错误:
Directive or parameter "Languages" expression error: Parameter
"Languages" includes an unknown language.
我想控制可用于设置的语言。我已将 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
但此选项在语言部分不可用。
如何仅在 myLanguage="JA" 时提供 JA 语言选择?
我们可以在 [Languages]
部分使用 #if:
#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
否则我们会得到编译器错误:
Directive or parameter "Languages" expression error: Parameter "Languages" includes an unknown language.