JonathanQ
Posts: 6
Joined: Fri Feb 01, 2008 10:26 pm

How to localize and specify language for the Updater project

Fri Jul 17, 2009 12:12 am

Hello,

I am working with Advanced Installer 6.4.1 - and I am wondering how to get the Update Project to work well with multiple languages.

We have an application that has been with an installer that has all languages in a single exe (english, french, german, spanish and italian). So users only need to download a single exe and it will ask them which language to use to proceed through the installation.

Whatever language they select there will be used in my application to show the UI in their language.

That all works great. Now I am trying to build in the autoupdate feature - I have an Update project that produces a single "updates.txt" file to go along with my installer exe.

Of course the text and description is just in English. I change it to also support all languages - however on the "Languages" tab of the Update Project it won't let me select anything except "Create separate packages".

Building this project now creates the "updates.txt" file - but also creates a sub-folder for the other languages "de", "it", "fr", "es" - and each has their own "updates.txt".

The text in them is localized based on the 'ail' dictionary file.

How would this work for the application though? My installer is configured to look at: <ourdomain>/updates.txt - not <ourdomain>/de/updates.txt (for german users).

I tried changing the updater.ini file to point to the /de/ directory and now I get the new localized description as I would expect. However the updater.exe UI is still all in English (ie: "Choose updates to install", "Next" "Cancel" etc).

Am I missing something? How can we tell the updater.exe application which language to use? Can we pass the location to look via the command line for non English users? Or does it have to be set in the updater.ini file?

What am I missing? Everything else has gone very well with this updater project - I wrote all of the nant script tie ins I need to update the aip file with the current build version etc, just wondering how to finish off this last step.

Thanks in advance!

JonathanQ
Posts: 6
Joined: Fri Feb 01, 2008 10:26 pm

Re: How to localize and specify language for the Updater project

Fri Jul 17, 2009 12:27 am

I guess another important question is where does the updater.exe application get it's UI language from? The system? Or is it overrideable?

Our application allows the user to override it - so ideally I'd like to be able to pass that (and a custom url to add the /de) to the exe when I call it from my application.

However if I know that it will pull the UI from the system (so on a german language windows install, will it automatically load the ui in German, and will it also add /de to the URL?) - then at least we can be sure the language would be correct for most people (perhaps not the few who have English XP, but use our application in German - obviously they can read English, so showing the updater in english, while not ideal, is acceptable).

Thanks,

Jonathan

Cosmin
Posts: 5797
Joined: Tue Jul 10, 2007 6:39 pm
Contact:  Website

Re: How to localize and specify language for the Updater project

Tue Jul 21, 2009 9:24 am

Hi Jonathan,
I change it to also support all languages - however on the "Languages" tab of the Update Project it won't let me select anything except "Create separate packages". Building this project now creates the "updates.txt" file - but also creates a sub-folder for the other languages "de", "it", "fr", "es" - and each has their own "updates.txt". The text in them is localized based on the 'ail' dictionary file. How would this work for the application though? My installer is configured to look at: <ourdomain>/updates.txt - not <ourdomain>/de/updates.txt (for german users).
Unfortunately a single updates configuration file cannot contain all languages. However, you can localize it like this:
- create a script on your server which receives a language ID
- based on the language ID it should return one of the localized updates configuration file
- the language ID can be sent through the updates URL which points to the script

For example, for the code 1036 (French) the script should return the "fr/updates.txt" file. The language ID can be obtained from the "ProductLanguage" property.

Another approach is to launch the Updater with the /url command. This way you can control which updates configuration file will be used.
I guess another important question is where does the updater.exe application get it's UI language from? The system?
Yes, the Updater uses the system language. This cannot be changed.
However if I know that it will pull the UI from the system (so on a german language windows install, will it automatically load the ui in German, and will it also add /de to the URL?)
Please note that the language used by the Updater doesn't affect the updates URL (it remains the same).

Regards,
Cosmin
Cosmin Pirvu - Advanced Installer Team
Follow us: Twitter - Facebook - YouTube

Return to “Common Problems”