$LANGUAGE is always English
Quote from NSIS documentation:
When the installer starts up it goes through these steps to select the interface language:
1. Get user's default Windows language
2. Find a perfect match for the language
3. If there is no perfect match, find a primary language match
4. If there is no match, use the first language defined in the script (make sure your first language is a common one like English)
I don't see how this could be misinterpreted but maybe I've done it.
My problem is:
In my script I load English.nlf and Croatian.nlf but although the default language on my system is Croatian, $LANGUAGE always gets English.
This would pose no problem if I was using LangDLL but due to nature of my 'installer', I don't want the user to select the language, I want it done automatically.
I achieved this by getting user's lang. ID through system plugin and setting $LANGUAGE manually. Now everything works just fine.
So why am I posting this?
I want to know what it is that I'm failing to understand. Croatian lang. ID is 1050, ID defined in croatian.nlf is 1050, kernel32::GetSystemDefaultLangID() returns 1050... so after I load croatian.nlf why does the installer decide that Croatian is not a perfect match?
The script is attached if anyone is interested.