Sign in to follow this  

Multiple language installer using Inno

Recommended Posts

Hi, i have an installer for my application which is built using Inno Setup.
I want to support multiple languages using the installer to allow the user to choose the language.

My app uses a lot of common files for any language, but for some files - such as the string resources, help files, etc - there will be these files for each language.

I want the installer to contain all these files. Then when the user has selected a language, it will install whatever it needs and then somehow only install the language specific files. The destination for these files will always be the same, but the source files that get copied will be different (i.e. depending on the language). I do not know how to do this.

I found out that i can set ShowLanguageDialog to show a page in installation that lets you choose the language. And i know you can set the installer's language in the [Language] section. So that's one step done.

Now all i need to do is somehow conditionally install files based on the selected language. So for, say, help files, the installer will contain the files for all languages that my app is translated in. These will be in source folders named after the lang id (e.g. Polish is \pl_PL\help). But the installer should just install it to a help directory in the program folders directory.
I can use the {language} to do the opposite, i.e. to install it in a folder whose name is the lang id. But i do not want to do that because then my app will need conditional logic to find the directory.

One other way i could do this is to install in different destination directories based on what lang is selected. So, for example, if Polish is selected, the help files will be installed in "(MyAppsInstallDir)\help\pl_PL\the files.html".
But the problem with this is that i need to write additional code in my app to find those files, rather than just hard-coding a (relative) path to them.

Share this post

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this