NSIS:LangString X 为 0 设置多次,浪费 space

NSIS: LangString X set multiple times for 0, wasting space

我想为更多语言定义 LangString。这是一个例子

LangString TEXT_LICENSE_TITLE ${ENGLISH_LANG} "Installer"
LangString TEXT_LICENSE_TITLE ${NORWEGIAN_LANG} "installatør"

但是我收到警告 LangString "TEXT_LICENSE_TITLE" set multiple times for 0, wasting space

我想我的顺序是正确的。这是我的代码

!insertmacro MUI_LANGUAGE "Norwegian"
!insertmacro MUI_LANGUAGE "English"

然后

LangString TEXT_LICENSE_TITLE ${ENGLISH_LANG} "Installer"
LangString TEXT_LICENSE_TITLE ${NORWEGIAN_LANG} "installatør"

!define MUI_TEXT_LICENSE_TITLE $(TEXT_LICENSE_TITLE)

那么我怎样才能摆脱这个警告呢?我用 nsis 2.51.

0 是默认/"last used" 语言 ID,它被使用是因为您没有传递有效的 ID。

正确的语法是

LangString TEXT_LICENSE_TITLE ${LANG_ENGLISH} "English text"

注意第二个参数使用 { } 大括号,而不是 ( )${} 在编译时扩展一个定义(在这种情况下你需要什么),另一个扩展一个 langstring。如果我没记错的话,定义的名称是LANG_*