Archive: Error in all translations on cancel screen - 2.29


Error in all translations on cancel screen - 2.29
I know little about this and I cannot speak any other language apart from english but....

When selecting any language a when you cancel the install you get a message do you wish to cancel in the chosen language. However the options to confirm: Yes or No are always in English.

Surely that is wrong? “Yes” and “No” will have to be in the chosen language.

This is with 2.29 with !define MUI_ABORTWARNING. Surely it has not always been like this and no-one has noticed?

(also in Indonesian is the translation of “Cancel” really “Cancel” ?)

(also should the default option really be "Yes" normally I would expect this to be "No")


it's down to the locale settings on the user's OS as to what will be displayed for the messageboxes so what you're seeing is correct for the OS you're running on. if you use say a german install of windows then it would show the appropriate text for ok and cancel.

it is possible to work around with by using windowshooks to override the messagebox and then you ideally need to readjust the dialogs sizing appropriately so it all matches with the new text but that's not an ideal way.

i think the assumption behind things is that if you're setting an installer to say indonesian then you'd be running on a version of windows set to run with that as it's main language.

-daz


OK thanks for the info I didn't think of that.

I presume it just uses the windows stuff for general windows cancelling at the point of cancel then and goes outside the NSIS system.

It does seem a little strange that as I would have thought NSIS would overwrite this. I mean all the other messgae boxes like the word "cancel" is converted by NSIS.

If is does use the Windows system to get the local language for the Yes/No dialogue box for aborting then an idea.........what about detecting what local language is running and selecting the local language as the defualt one rather than guessing english and hardcoding in the script.

i.e if you have german version of windows then by default it could select the "german" (or the equivilant name "Detusch")

It could make a nice touch. :)


it would but it's down to whatever the MessageBox(..) call is pulling from the user's system/supporting language settings as to what's going to end up being shown. it's a strange one really since the overrides to translate a messagebox aren't nice to do (is relatively simple code on the most part but can cause stability issues)

-daz


ok I was more thinking about a general system though - no specificaly for this YEs/No dialgue influenced by the locale that might be too complex from what you say to change.

When running an installer and it automatically can guess what language you are running and set that is a the default language option.