即使字符串表显示翻译,Installshield 2012新语言对话仍然是英语

时间:2014-09-29 16:32:31

标签: installshield installshield-2012

我正在尝试将一种新语言添加到套件安装程序中的一组Installshield安装程序中。

首先,新语言不是“工具 - >添加新语言...”向导中列出的语言。但是遵循Q106687: Add an Unsupported Language to a Basic MSI Project和来自InstallShield Community: Adding an unsupported Language的建议  kor21727在{{3}}中出现了新语言:

  1. 修改文件<IS Install Path>\Support\Language.dat(添加 Azeri=42c
  2. 修改文件<IS Install Path>\Support\ProLanguage.dat(添加 Azeri=42c
  3. 修改文件<IS Install Path>\Support\Langs.ini(添加 1068=Installed
  4. 将此文件夹<IS Install Path>\Redist\0409复制为<IS Install Path>\Redist\042C
  5. 制作档案<IS Install Path>\Support\0x042c.ini
  6. 制作档案<IS Install Path>\Languages\1068 (UNICODE).txt
  7. 完成上述操作后,我可以将新语言添加到我的所有安装程序中。除非我来到Suite安装程序,否则一切似乎都没问题。其他安装程序在“用户界面 - >对话框”部分的字符串表中显示已翻译的字符串。但是,套件安装程序仍显示英语对话框。套件安装程序构建但是当我尝试运行它时,我得到一个未知错误。

2 个答案:

答案 0 :(得分:0)

为了在套件安装中包含Azeri,我还需要做两件事。如果您使用阿塞拜疆语应该是从右到左,那么可能还有第三件事。 (从某些现场研究看,阿塞拜疆语有时会从右到左书写,有时从左到右书写,具体取决于它使用的字符。我不确定InstallShield&Suites是否支持这种细微差别,所以你可能必须事先做出决定。)

  • REG_SZ添加1068=InstalledHKLM\Software\InstallShield\NN.N\Professional\Languages(这允许我在IDE中选择Azeri;如果您使用了“添加新语言”向导,则可能已为您执行此操作)。
  • 1068 (UNICODE).txt文件夹中添加<IS Install Path>\Languages\Suite。请注意,此处的字符串与<IS Install Path>\Languages文件夹中的字符串不同。

经过这些额外的更改,我能够将Azeri添加到我的套件项目中,选择它的运行时间,并查看我从英语更改的字符串是否正确显示。 (我没有尝试使用实际的阿塞拜疆字符串;我只是用英文字符串Azeri作为前缀,但除了任何字体问题之外,这都不重要。)

答案 1 :(得分:0)

我最终发现上面的一组步骤基本上没问题,但是我使用的1068(UNICODE).txt文件被复制为起点与1068代码页不兼容。此外,我发现阿塞拜疆使用了一个字符,schwa - 就像倒置的e,在没有代码页中。我不得不把Installshield放在Unicode数据库模式下,到目前为止似乎没问题。