Use for every language to load the default interface texts and language properties. Visit the NSIS translations forum for more information about creating new language files.
The default interface texts can easily be changed using instructions like etc.
To create your own language strings, use LangString.
For an example of an installer with multiple languages, see .
- Get user's default Windows UI language
- Find a perfect match for the language
- If there is no match, use the first language defined in the script (make sure your first language is a common one like English)
- If the language variable has changed during .onInit, NSIS goes through steps 2 to 4 again.
The LangDLL plug-in allows you to give the user an option to choose the language of the installer. Just push the language id (${LANG_langfile}) and its name for every language in your installer, then the number of languages pushed, the caption, and the text that tells the user to select the language, call the plug-in function named LangDialog, pop the returned value into $LANGUAGE and you're good to go. If the user clicks on the cancel button the return value will be "cancel".