I've been looking at the code changes just now.
First thing that got me was all the ANSI/Unicode dirs all over the place with the files in UTF-16. I didn't think that is a good idea, so I converted all the Unicode directories into UTF-8 and looked at the differences between them.
Based on that, here are some suggestions:
Don't duplicate stuff that doesn't have non-ANSI characters in it.
Where the only change between Unicode and ANSI is to re-encode the Â© (Copyright) symbol, just replace it with the word "Copyright", since that is as legally valid as "Â©".
Where differing parameters to System::Call are needed, add an !ifdef UNICODE or something.
Some more comments:
Don't add/remove whitespace where it isn't needed.
Menu/images/Unicode/create_header.py isn't needed, Scripts/release.py does that stuff.
Please don't include proprietary formats like Paint.NET in nsis, standardised PNG, BMP or ICO are best.
For the languages, store everything in UTF-8 in the source code and convert to ANSI at makensis time if the user sets a specific code page (and error out if all the characters are not available in that CP). On Linux the iconv function can help and for people running makensis on Win9x the unicows library could be useful:
Switching to gettext style translations and the PO file format for translations might be useful too, dunno how well Windows supports it though.
Use ISO 639-1 codes for language type instead of English words for the languages.
For the Contrib/UIs, add ifdefs, compile them twice and install them into Unicode and ANSI directories. Alternatively makensis could detect a "RichEdit20" class and replace it with "RichEdit20A" or "RichEdit20W" as appropriate.
Examples/Unicode/bigtest.nsi doesn't need to use the Â¢ character.
Examples/Unicode/makensis.nsi doesn't need ANSI/Unicode in the registry/etc does it? Just make one version of makensis that does both ANSI and Unicode depending on a command-line switch or a script command. Same for a lot of other stuff.
Will make some of these changes myself, look at the rest of the changes and add more comments.