Search code examples
nsis

NSIS Localisation problem


I'm having trouble with a Nullsoft Installer script.

I'm using the MUI2 interface with the latest (2.46) version of NSIS.

Just after the MUI_PAGE macros:

!define MUI_LANGDLL_ALLLANGUAGES
!insertmacro MUI_LANGUAGE "English"
!insertmacro MUI_LANGUAGE "German"
!insertmacro MUI_LANGUAGE "French"
!insertmacro MUI_RESERVEFILE_LANGDLL

First thing in onInit:

!insertmacro MUI_LANGDLL_DISPLAY

The error I get is:

unknown variable/constant "{MUI_LANGDLL_LANGUAGES_CP}" detected, ignoring (macro:MUI_LANGDLL_DISPLAY:35)

Any ideas? I'm pulling my hair out. the only help i can find through google is in Japanese/Chinese


Solution

  • Every time !insertmacro MUI_LANGUAGE xyz is used, it appends the language to a define used by MUI_LANGDLL_DISPLAY...

    !define MUI_LANGDLL_ALLLANGUAGES
    !insertmacro MUI_LANGUAGE "English"
    !insertmacro MUI_LANGUAGE "German"
    !insertmacro MUI_LANGUAGE "French"
    !insertmacro MUI_RESERVEFILE_LANGDLL
    
    Function .onInit
    !insertmacro MUI_LANGDLL_DISPLAY ;This has to come after the language macros
    FunctionEnd