制作支持多语言的安装包
在translations页面,选择多语言(这里我选择了简体中文和英文
对EULA进行本地化
参考:How to localize the EULA and ReadMe text
设置EULA展示
EULA的本地化设置
找到用户许可对应的界面,找到AgreementText界面,点击这个按钮进入Localization本地化设置。
选择 Always translate this string 和 Using specified localization identifier, 记下Using specified localization identifier里的字段,之后会用到
添加、设置字典
找到新建字典,并根据引导新建一个字典
在.ail的字典文件中,找到或者添加如下内容,这里需要对应到Using specified localization identifier里的字段
<ENTRY id="Control.Text.LicenseAgreementDlg#AgreementText">
<STRING lang="zh" value="path_to_your_EULA\EULA_zh.rtf"/>
<STRING lang="en" value="EULA_en.rtf"/>
</ENTRY>
这样就可以根据安装包使用的语言来对EULA进行本地化了。ReadMe也可以进行类似的操作,参考的链接里有提到。
根据所选语言安装不同的内容
参考:How to install different files based on the Operating System (32/64-bit)?
链接内是根据32位/64位系统来安装不同的程序,参考了这里面的一些方法。
设置Property
在Properties内,右键呼出窗口,新建一个Property。我这里新建了一个UserLanguage,默认值设置为1。
在Translations里找到对应的字段,进行编辑,我设置使用英文时对应的值为2。
添加需要安装的文件并设置安装条件
我这里,是中英文版本的软件的config文件不同,我先添加英文版的config文件,然后新建了一个文件夹,里面包括中文版的config文件和软件的其他文件。
右键release文件夹,选择properties,根据需要勾选 Install folder content into the parent folder,这样安装出来后,文件的结构是 安装路径/各种文件,而不是 安装路径/release/各种文件。
在Organization中,找到对应的中文和英文的config文件,设置它们的安装条件。
这样在安装的时候就可以根据语言来安装不同的文件了。
我是自己设置了一个参数并进行本地化,作为安装的条件。实际上可能有现成的参数可以使用,只是我没有找到,欢迎大家交流指正。