在Inno Setup中为所有语言使用.islu翻译文件是否安全?

时间:2015-02-11 08:10:58

标签: unicode encoding inno-setup

我正在将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编码。

1 个答案:

答案 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>"上面提到的编码。