Archive: MUI Language Strings


MUI Language Strings
Will NSIS soon have the ability to use default/english language strings when they are missing in other languages (I'm refering to user defined strings, not NSIS)?


The latest Modern UI versions uses the strings in Default.nsh as default.


Yes but how do i declare my own default strings?


The Modern UI has settings to change texts. See the Readme for details.

If you only want to change the default strings that will be used when there are no strings available (outdated langauge files), using a modified copy of Default.nsh is the easiest solution. Default.nsh is only provided temporary for backwards compatibility, so there are no settings available for it.

You can also create your own langauge strings with the custom default texts and the normal texts for other langauges, but that's a lot of work.


I think you are misunderstanding me. I am refering to language strings unique to my installer (not NSIS language strings). I have custom strings defined for 14 languages, and just introduced 3 new strings in english (default in this case). I would like the english strings to be used when ever they are missing in the other language tables.


Well, in the MUI the user doesn't set the LangString directly. Instead, the language files contain defines. If a define is not there then the default is used. It should be pretty simple to do with a nice little macro.

The MUI itself is a good example :)
You can find the source code in Contrib\Modern UI.


Ok, thanks. I did something similar (without the need for duplicating english strings in default.nsh).