我正试图将一种新语言添加到一组Installshield安装程序中,这些安装程序组合在一个套件安装程序中。
起初,新语言不是"工具->添加新语言…"向导中列出的语言。但遵循Q106687的建议:向基本MSI项目添加不支持的语言InstallShield社区中的kor21727:添加了一种不受支持的语言出现了新的语言:
- 修改文件
<IS Install Path>SupportLanguage.dat
(添加Azeri=42c
) - 修改文件
<IS Install Path>SupportProLanguage.dat
(添加Azeri=42c
) - 修改文件
<IS Install Path>SupportLangs.ini
(添加1068=Installed
) - 将此文件夹
<IS Install Path>Redist 409
复制为<IS Install Path>Redist 42C
- 制作文件
<IS Install Path>Support x042c.ini
- 制作文件
<IS Install Path>Languages1068 (UNICODE).txt
在完成上述操作后,我能够将新语言添加到我的所有安装程序中。除了使用Suite安装程序外,一切似乎都很好。其他安装程序在"用户界面"->"对话框"部分显示字符串表中的转换字符串。但是,套件安装程序仍然显示英文对话框。套件安装程序正在构建,但当我尝试运行它时,会出现未知错误。
为了在Suite安装中包含Azeri,我不得不做两件额外的事情。如果你对阿塞拜疆语的使用应该从右到左,那么可能还有第三件事。(从一些现场研究来看,Azeri有时是从右到左写的,有时是从左到右写的,这取决于它使用的字符。我不确定InstallShield的Suites是否支持这种细微差别,所以你可能必须提前决定。)
- 将
REG_SZ
值1068=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数据库模式,到目前为止似乎还可以。