Archive: Localized Language Dialog in MUI


Localized Language Dialog in MUI
I am scripting a multi language installer. The NSIS language dialog always display in english. Is there a way to customize this so the dialog is in the user language? If they choose another language for installation because my program does not support the user language, that is ok. But i should not expect my users to understand english in order to understand the NSIS language dialog. I have read a similar post in the forums but it was not clear what solution was found.


Define these before you insert the language dialog macro.

MUI_LANGDLL_WINDOWTITLE "text"
MUI_LANGDLL_INFO "text"

The only problem with these is that they are compile time settings. You cannot change the language on the dialog at runtime (unless I am proven wrong).


Maybe the NSIS developers should address this. If NSIS offers international support, it makes sense that the language select dialog text would reflect the user language. For inexperienced users, they would see this dialog in foreign english (to them) and go "what the heck is this!?"

But if this has not been addressed after XX versions and countless software distribution then it must not be a problem with the international community. I do note that the language dialog automatically selects the user language by default if it is one of the options. I am an english developer, but in my testing with french, "Francais" will be selected when i run the install, instead of "English". That helps.


Setting the dialog text to the user's default language is not a problem. Simply set the defines Jason mentioned to variables and change those variables before you show the dialog. However, if the user's default language is not a language he or she can read, which can happen, it'd be worse. English is international and the user should be able to select the appropriate language. However, a random language might be even more confusing.

Dynamic change of the language according to the selection of the language would be nicer. I think there's already an open feature request for it.