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



我正试图将一种新语言添加到一组Installshield安装程序中,这些安装程序组合在一个套件安装程序中。

起初,新语言不是"工具->添加新语言…"向导中列出的语言。但遵循Q106687的建议:向基本MSI项目添加不支持的语言InstallShield社区中的kor21727:添加了一种不受支持的语言出现了新的语言:

  1. 修改文件<IS Install Path>SupportLanguage.dat(添加Azeri=42c
  2. 修改文件<IS Install Path>SupportProLanguage.dat(添加Azeri=42c
  3. 修改文件<IS Install Path>SupportLangs.ini(添加1068=Installed
  4. 将此文件夹<IS Install Path>Redist409复制为<IS Install Path>Redist42C
  5. 制作文件<IS Install Path>Supportx042c.ini
  6. 制作文件<IS Install Path>Languages1068 (UNICODE).txt

在完成上述操作后,我能够将新语言添加到我的所有安装程序中。除了使用Suite安装程序外,一切似乎都很好。其他安装程序在"用户界面"->"对话框"部分显示字符串表中的转换字符串。但是,套件安装程序仍然显示英文对话框。套件安装程序正在构建,但当我尝试运行它时,会出现未知错误。

为了在Suite安装中包含Azeri,我不得不做两件额外的事情。如果你对阿塞拜疆语的使用应该从右到左,那么可能还有第三件事。(从一些现场研究来看,Azeri有时是从右到左写的,有时是从左到右写的,这取决于它使用的字符。我不确定InstallShield的Suites是否支持这种细微差别,所以你可能必须提前决定。)

  • REG_SZ1068=Installed添加到HKLMSoftwareInstallShieldNN.NProfessionalLanguages(这允许我在IDE中选择Azeri;如果您使用了"添加新语言"向导,它可能会为您完成此操作)
  • <IS Install Path>LanguagesSuite文件夹中添加一个1068 (UNICODE).txt。请注意,此处的字符串与<IS Install Path>Languages文件夹中的字符串不同

在这些额外的更改之后,我可以将Azeri添加到我的套件项目中,选择它的运行时,并查看我从英语更改的字符串是否正确显示。(我没有尝试使用实际的阿塞拜疆字符串;我只是在英文字符串前面加了Azeri,但除了任何字体问题之外,这应该无关紧要。)

我最终发现上面的一组步骤基本上是可以的,但我使用的1068(UNICODE).txt文件作为起点被复制,与1068代码页不兼容。我还发现Azeri使用了一个字符,类似于倒置的e的schwa,这是在no代码页中。我不得不将Installshield设置为Unicode数据库模式,到目前为止似乎还可以。

最新更新