如何根据语言或区域在许可协议屏幕中显示最终用户许可协议(“ EULA”)。
下面是在“许可协议”屏幕中显示许可协议的代码行。但这只是英文显示。
!insertmacro MUI_PAGE_LICENSE "C:\Program Files (x86)\NSIS\Docs\Modern UI\license.rtf"
我将所有其他语言的license.rtf文件放在一个公用文件夹中。然后当我试图写
${If} $Language == 1033
!insertmacro MUI_PAGE_LICENSE "C:\Program Files (x86)\NSIS\Docs\Modern UI\license.rtf"
${EndIf}
它显示了编译错误“错误:在部分或函数外部,命令StrCmp无效”
答案 0 :(得分:0)
MUI文档告诉您该怎么做:
对于多种语言的许可证文本,可以使用
LicenseLangString
。有关多种语言安装程序的更多信息,请参考《 NSIS用户手册》。
NSIS用户手册说:
LicenseLangString license ${LANG_ENGLISH} license-english.txt
LicenseLangString license ${LANG_FRENCH} license-french.txt
LicenseLangString license ${LANG_GERMAN} license-german.txt
LicenseData $(license)
对于MUI,您只需将MUI许可页面指向您的LicenseLangString:
!include MUI2.nsh
!insertmacro MUI_PAGE_WELCOME
!insertmacro MUI_PAGE_LICENSE $(translatedlicensefile)
!insertmacro MUI_PAGE_DIRECTORY
!insertmacro MUI_PAGE_INSTFILES
!insertmacro MUI_PAGE_FINISH
!insertmacro MUI_LANGUAGE English
LicenseLangString translatedlicensefile ${LANG_ENGLISH} "lic-eng.txt"
!insertmacro MUI_LANGUAGE Swedish
LicenseLangString translatedlicensefile ${LANG_SWEDISH} "lic-swe.txt"