2015-02-11 57 views
2

我为我的开源项目WinSCP使用Inno Setup。
到目前为止,我正在从我们项目特定的翻译文件中生成Inno Setup .isl翻译文件(特别是翻译CustomMessages部分)。但是.isl需要转换为ANSI编码。对于根本不具有ANSI编码(如印地语或亚美尼亚语)或ANSI编码有限(如罗马尼亚语)的语言,ANSI编码存在问题。在所有语言的Inno Setup中使用.islu翻译文件安全吗?

我看到一些语言的核心Inno Setup翻译使用.islu扩展名,(可能)表示内容是UTF-8编码的。我还可以在Inno Setup源代码中看到.islu仅在Unicode版本的Inno Setup中使用。没关系,因为我只使用Unicode版本。

但我没有在文档中找到任何关于.islu的提及。

如果我只为所有语言生成.islu就可以吗?是否有任何缺点(除了无法使用ANSI版本的Inno Setup)?

或者我应该继续使用.isl来选择具有良好ANSI编码的语言,并且只使用.islu仅适用于所选语言?

我明显更喜欢第一个简化过程。


还什么LanguageCodePage应设置为.islu?尼泊尔官方翻译使用0.不确定这是否是.islu的一般规则,或者是因为尼泊尔没有ANSI编码。

回答

2

经过几个月的使用后,我可以确认添加UTF-8 BOM并使用.islu扩展名用于所有Inno Setup翻译似乎都很好。


.islu文件documented since Inno Setup 5.5.9

如果没有代码页目前存在的语言,设置LanguageCodePage为0,使用的语言的文件中的特殊.islu扩展名,编码此文件Unicode格式。注意:这会使您的语言文件无法使用Non Unicode Inno Setup,因此只有在真正需要时才能执行此操作。另请注意:.islu文件中的LanguageName设置不需要使用上述特殊的“<nnnn>”编码。