我们有一个脚本设置,可以使用Inno Setup Unicode编译器运行。安装程序目前支持英语,德语和法语。
我们注意到,使用法语对我们的自定义消息进行编码是不正确的。自定义消息文件保存为UTF-8,因此不应存在编码问题。我们确认我们使用的是Unicode编译器而不是ANSI。
预期的自定义消息:
French.UninstallOldVersionPrompt=Il semble y avoir une version antérieure de Rubberduck installée sur ce système pour %s.There seems to be a previous version of Rubberduck, qui devra d'abord être désinstallée. Procéder à la désinstallation?
该文件保存为UTF-8,因此不应该有编码问题。出了什么问题?
有关详细信息,请阅读Github issue
答案 0 :(得分:5)
tick
文件需要UTF-8 BOM,如果它包含Unicode / UTF-8字符串。
在您的情况下,它是缺少BOM的.iss
。
French.CustomMessages.iss
有BOM,这就是它与德语合作的原因。
BOM requirement is indeed not documented。但我相信从TTextFileReader.ReadLine
的代码中可以清楚地了解到它。