Page 1 of 1

How to properly localize setup?

Posted: Sat Mar 02, 2013 1:57 am
by A_Ivlev
IA version: IA15 Developer
OS: Win7 64-bit

I used the Localize tool, exported all strings to a new folder, performed the automatic translation into all 34 languages, and imported the translations to the project. However, any language that uses non-latin characters displays garbled text when I run the compiled setup and choose a language in the Select Setup Language dialog. For example, the Cancel button shows as "Îòìåíà" in Russian, "Áêõñþíù" in Greek, "áèì" in Hebrew, etc.

How do I localize my setup properly?

P.S. The dialog that shows when you click Cancel (English: "Are you sure you want to cancel?") always has its buttons as "Yes" and "No" regardless of the language, even though the text in it is localized.

Re: How to properly localize setup?

Posted: Mon Mar 04, 2013 10:19 am
by FrancescoT
Dear User,

You should set the correct "Dialog FONT Charset Property" for any non-latin that you want to include with your package.
For example; if you want to display correctly RUSSIAN language localized strings, your "Dialog FONT Charset Property" should be set as "RUSSIAN_CHARSET".

Starting from IA NX the CHARSET_OVERRIDE pre-defined variable permits to automatically change dialog font character sets without having to duplicate dialogs in multi-lingual setups.

P.S. The dialog that shows when you click Cancel (English: "Are you sure you want to cancel?") always has its buttons as "Yes" and "No" regardless of the language, even though the text in it is localized.

This happens because these MessageBoxes are handled by Windows Installer Engine directly and respecting the target OS language settings.

Regards

Re: How to properly localize setup?

Posted: Mon Mar 04, 2013 11:41 am
by A_Ivlev
FrancescoT wrote:You should set the correct "Dialog FONT Charset Property" for any non-latin that you want to include with your package.
For example; if you want to display correctly RUSSIAN language localized strings, your "Dialog FONT Charset Property" should be set as "RUSSIAN_CHARSET".

I want my setup to work with multiple non-latin languages, not just Russian. If I set Dialog FONT Charset to RUSSIAN_CHARSET it still won't work with Greek, or Hebrew, or whatever else the user might select from the Select Setup Language dialog.

Any other solutions?

Is there a way to display Unicode?

Re: How to properly localize setup?

Posted: Mon Mar 04, 2013 12:08 pm
by FrancescoT
Dear User,

As I said previously; Starting from IA NX the CHARSET_OVERRIDE pre-defined variable permits to automatically change dialog font character sets without having to duplicate dialogs in multi-lingual setups

For example; you can set the appropriate value CHARSET_OVERRIDE variable conditionnally based on the language selected at runtime.
This can be done at the very beginning of your main script or just before your User Interview script code.

Code: Select all

if Variable LANGUAGE not Equals English
  Set Variable CHARSET_OVERRIDE to DEFAULT_CHARSET
end
if Variable LANGUAGE Equals Chinese (PRC)
  Set Variable CHARSET_OVERRIDE to CHINESEBIG5_CHARSET
end
if Variable LANGUAGE Equals Russian
  Set Variable CHARSET_OVERRIDE to RUSSIAN_CHARSET
end


Hope this helps you.

Regards

Re: How to properly localize setup?

Posted: Mon Mar 04, 2013 3:33 pm
by A_Ivlev
FrancescoT wrote:As I said previously; Starting from IA NX the CHARSET_OVERRIDE pre-defined variable permits to automatically change dialog font character sets without having to duplicate dialogs in multi-lingual setups

Correct me if I'm wrong, but IA NX is a .NET product. I have no interest in .NET whatsoever, and it's not available yet anyway. I am looking for a solution for IA 15 for Win7.

Re: How to properly localize setup?

Posted: Tue Mar 05, 2013 9:45 am
by FrancescoT
Dear User,

InstallAware NX is just the name of the previous IA major release, if you prefer it can be called IA 14.

I meant with my previous reply, that the possibility to use CHARSET_OVERRIDE pre-defined variable has been introduced with InstallAware ver. NX (14).
If you are using InstallAware 15 (the most recent IA major version release) the same functionality, of course it is available.

Regards.

Re: How to properly localize setup?

Posted: Tue Mar 05, 2013 9:58 am
by A_Ivlev
Thank you! Sorry for misunderstanding.

Re: How to properly localize setup?

Posted: Tue Mar 05, 2013 11:29 am
by FrancescoT
:D

Re: How to properly localize setup?

Posted: Fri Mar 15, 2013 7:13 pm
by A_Ivlev
Ok, round 2...

I am now using the CHARSET_OVERRIDE variable, and it works. Mostly.

However: Only the text inside the dialog is affected by CHARSET_OVERRIDE. The buttons "< Back", "Next >", "Cancel" remain unaffected. They do get translated, but their captions are garbage for non-Latin languages. The same is true for the dialog that shows if you click Cancel: the text is garbage. I suspect that any error dialogs will also show garbage.

Is this a bug, or am I doing something wrong?

Re: How to properly localize setup?

Posted: Mon Mar 18, 2013 9:02 am
by FrancescoT
Dear User,

With multi-lingual setup dialogs, you must replace the standard buttons with "BitBtn" button controls (available under "Additional" tab in Dialog Editor menu).

Please also note, Message-boxes used by your setup are handled by Windows Installer directly and not controlled by IA in any way.
Consequently, in order to have these Message-Boxes working correctly with localized strings, locale settings for non Unicode application must be properly defined on target system.

Regards

Re: How to properly localize setup?

Posted: Mon Mar 18, 2013 12:27 pm
by A_Ivlev
Editing the dialogs (all of them? just for this one reason?) will still not solve the issue: the message boxes will still show garbage. Does this mean that a multi-langage setup made with IA cannot avoid displaying garbage strings?

Any chance of IA releasing a Unicode version instead of all this struggle that cannot be won? Who still cares about compatibility with Win95? Last non-Unicode release of Windows was 15 years ago. Time to move on already?

I migrated to IA from InstallShield, and so far I've been very happy with that decision. But the incompatibility with Unicode is making me consider going back to IS or looking at other alternatives. I can't believe that a product as advanced as IA can lack a functionality as basic as Unicode support.

Disappointed. :(

Re: How to properly localize setup?

Posted: Tue Mar 19, 2013 9:39 am
by FrancescoT
Dear User,

Here in InstallAware all of us know very well how important it is to provide a product in line with the latest technologies.
This is our main objective and also the same one, that drives us to constantly work to make a better product.
Here in InstallAware we are mainly developers and we know perfectly the needs of any developer who uses our products.

I am not able at this time to say when support for UNICODE will be available ... but definitely, I can assure you that we are constantly working on our product every day ... and personally I believe, there will be interesting news about the product in future.

We are really grateful to all our users who have chosen InstallAware.

Regards