installshieldinstallshield-2012

Installshield 2012 New Language Dialogs still English even though String Table shows translations


I am trying to add a new language to a set of Installshield installers that come together in a suite installer.

At first, the new language was not one listed in the “Tools->Add New Language…” wizard. But following the advice from Q106687: Add an Unsupported Language to a Basic MSI Project and from kor21727 in InstallShield Community: Adding an unsupported Language the new language appeared:

  1. Modify a file <IS Install Path>\Support\Language.dat (add Azeri=42c)
  2. Modify a file <IS Install Path>\Support\ProLanguage.dat (add Azeri=42c)
  3. Modify a file <IS Install Path>\Support\Langs.ini (add 1068=Installed)
  4. Make a duplicate of this folder <IS Install Path>\Redist\0409 as <IS Install Path>\Redist\042C
  5. Make a file <IS Install Path>\Support\0x042c.ini
  6. Make a file <IS Install Path>\Languages\1068 (UNICODE).txt

After doing the above I was able to add the new language to all my installers. Everything appears to be OK except when I come to the Suite installer. The other installers show the translated strings from the string table in the User Interface->Dialogs section. However, the suite installer still shows English dialogs. The suite installer builds but when I try to run it I get an unknown error.


Solution

  • I had to do two additional things in order to include Azeri in a Suite installation. There may also be a third thing if your use of Azeri should be right-to-left. (From some spot research it appears that Azeri is sometimes written right-to-left, and sometimes left-to-right, depending on which characters it uses. I'm uncertain whether InstallShield's Suites support this nuance, so you may have to decide up front.)

    After these additional changes, I was able to add Azeri to my suite project, to select it run time, and to see the strings I had changed from English appear correctly. (I did not try with actual Azeri strings; I just prefixed the English strings with Azeri, but outside of any font issues this shouldn't matter.)