我正在将Inno Setup用于我的开源项目WinSCP
到目前为止,我正在从我们的项目特定翻译文件中生成Inno Setup .isl
翻译文件(特别是翻译CustomMessages
部分)。
但.isl
需要转换为ANSI编码。对于完全没有ANSI编码的语言(如印地语或亚美尼亚语)或ANSI编码有限的语言(如罗马尼亚语),ANSI编码存在问题。
我看到某些语言的核心Inno Setup翻译使用.islu
扩展名,(可能)表示内容是UTF-8编码的。我还可以在Inno Setup源代码中看到.islu
仅在Inno Setup的Unicode版本中使用。没关系,因为我只使用Unicode版本。
但我在文档中没有发现.islu
。
如果我只为所有语言生成.islu
,那可以吗?是否有任何缺点(除了无法使用ANSI版本的Inno Setup)?
或者我应该继续将.isl
用于具有良好ANSI编码的语言,并仅对所选语言使用.islu
吗?
我显然更喜欢第一个简化过程。
LanguageCodePage
应该为.islu
设置什么?官方的尼泊尔语翻译使用0.不确定这是.islu
的一般规则还是因为尼泊尔没有ANSI编码。
答案 0 :(得分:2)
使用此几个月后,我可以确认添加UTF-8 BOM并使用.islu
扩展名进行所有Inno Setup翻译似乎运行良好。
.islu
个文件为documented since Inno Setup 5.5.9:
如果该语言当前不存在代码页,请将
LanguageCodePage
设置为0,对该语言的文件使用特殊的.islu扩展名,并将此文件编码为Unicode。注意:这会使您的语言文件无法使用非Unicode Inno安装程序,因此只有在真正需要时才能执行此操作。另请注意:.islu文件中的LanguageName
设置无需使用特殊的"< nnnn>"上面提到的编码。