NSIS更改页面字幕

时间:2014-08-15 08:30:16

标签: nsis

我想为我的设置支持德语和英语。德语是默认的。 我为所有语言替换了MUI_TEXT_COMPONENTS_SUBTITLE。 对于德语,我的替换字幕显示在exe中。但是当我将exe(UMUI_PAGE_MULTILANGUAGE)中的语言更改为英语时,会显示标准标题(来自nsis语言文件)。 如果我将英语用于默认语言,则会显示我替换的标题。

这里出了什么问题?

...
!define MUI_TEXT_COMPONENTS_SUBTITLE         $(MUI_TEXT_COMPONENTS_SUBTITLE_MY)
...
!insertmacro MUI_RESERVEFILE_INSTALLOPTIONS
!insertmacro UMUI_PAGE_MULTILANGUAGE
!insertmacro MUI_PAGE_COMPONENTS
...

!insertmacro MUI_LANGUAGE "German" ; first language is the default language
!insertmacro MUI_LANGUAGE "English"

LangString MUI_TEXT_COMPONENTS_SUBTITLE_MY ${LANG_GERMAN}      "Wählen Sie die     Komponenten aus, die Sie installieren möchten."
LangString MUI_TEXT_COMPONENTS_SUBTITLE_MY ${LANG_ENGLISH}     "Choose which features you want to install."
...

1 个答案:

答案 0 :(得分:0)

MUI_TEXT_COMPONENTS_SUBTITLE没有在任何地方记录,您是否直接在源文件中找到它?

如果您想修改单个页面,那么您应该查看"页面设置" MUI自述文件的一部分:

!include MUI.nsh
!insertmacro MUI_RESERVEFILE_INSTALLOPTIONS

!insertmacro MUI_PAGE_WELCOME
!define MUI_PAGE_HEADER_SUBTEXT $(MyComponentsSubtitle)
!insertmacro MUI_PAGE_COMPONENTS
!insertmacro MUI_LANGUAGE "German" ; first language is the default language
!insertmacro MUI_LANGUAGE "English"

LangString MyComponentsSubtitle ${LANG_GERMAN}  "TEST Wählen Sie die     Komponenten aus, die Sie installieren möchten."
LangString MyComponentsSubtitle ${LANG_ENGLISH} "TEST Choose which features you want to install."

Function .onInit
!define MUI_LANGDLL_ALWAYSSHOW
!define MUI_LANGDLL_ALLLANGUAGES
!insertmacro MUI_LANGDLL_DISPLAY
FunctionEnd