在 Inno Setup 中为所有语言使用 .islu 翻译文件是否安全?
Is it safe to use .islu translation files in Inno Setup for all languages?
我正在为我的开源项目 WinSCP 使用 Inno Setup。
到目前为止,我正在从我们的项目特定翻译文件(特别是翻译 CustomMessages
部分)生成 Inno Setup .isl
翻译文件。
但是.isl
需要转换成ANSI编码。对于根本没有 ANSI 编码的语言(如印地语或亚美尼亚语)或 ANSI 编码受限的语言(如罗马尼亚语),ANSI 编码存在问题。
我看到某些语言的核心 Inno Setup 翻译使用 .islu
扩展名,(可能)表明内容是 UTF-8 编码的。我还可以在 Inno Setup 源代码中看到 .islu
仅在 Inno Setup 的 Unicode 版本中使用。没关系,因为我只使用 Unicode 版本。
但我没有在文档中找到任何提及 .islu
的地方。
如果我只为所有语言生成 .islu
可以吗?有什么缺点吗(除了不能使用 ANSI 版本的 Inno Setup 之外)?
或者我应该继续对具有良好 ANSI 编码的语言使用 .isl
,而只对选定的语言使用 .islu
?
我显然更喜欢第一个来简化流程。
另外 .islu
应该设置什么 LanguageCodePage
?官方尼泊尔语翻译使用 0。不确定这是 .islu
的一般规则还是因为尼泊尔语没有 ANSI 编码。
使用它几个月后,我可以确认添加 UTF-8 BOM 并为所有 Inno Setup 翻译使用 .islu
扩展似乎效果很好。
.islu
个文件是 documented since Inno Setup 5.5.9:
If no code page currently exists for the language, set LanguageCodePage
to 0, use a special .islu extension for the language's file, and encode this file as Unicode. Note: this makes your language file unusable by Non Unicode Inno Setup so only do this if really needed. Also note: a LanguageName
setting in a .islu file does not need to use the special "<nnnn>" encoding mentioned above.
我正在为我的开源项目 WinSCP 使用 Inno Setup。
到目前为止,我正在从我们的项目特定翻译文件(特别是翻译 CustomMessages
部分)生成 Inno Setup .isl
翻译文件。
但是.isl
需要转换成ANSI编码。对于根本没有 ANSI 编码的语言(如印地语或亚美尼亚语)或 ANSI 编码受限的语言(如罗马尼亚语),ANSI 编码存在问题。
我看到某些语言的核心 Inno Setup 翻译使用 .islu
扩展名,(可能)表明内容是 UTF-8 编码的。我还可以在 Inno Setup 源代码中看到 .islu
仅在 Inno Setup 的 Unicode 版本中使用。没关系,因为我只使用 Unicode 版本。
但我没有在文档中找到任何提及 .islu
的地方。
如果我只为所有语言生成 .islu
可以吗?有什么缺点吗(除了不能使用 ANSI 版本的 Inno Setup 之外)?
或者我应该继续对具有良好 ANSI 编码的语言使用 .isl
,而只对选定的语言使用 .islu
?
我显然更喜欢第一个来简化流程。
另外 .islu
应该设置什么 LanguageCodePage
?官方尼泊尔语翻译使用 0。不确定这是 .islu
的一般规则还是因为尼泊尔语没有 ANSI 编码。
使用它几个月后,我可以确认添加 UTF-8 BOM 并为所有 Inno Setup 翻译使用 .islu
扩展似乎效果很好。
.islu
个文件是 documented since Inno Setup 5.5.9:
If no code page currently exists for the language, set
LanguageCodePage
to 0, use a special .islu extension for the language's file, and encode this file as Unicode. Note: this makes your language file unusable by Non Unicode Inno Setup so only do this if really needed. Also note: aLanguageName
setting in a .islu file does not need to use the special "<nnnn>" encoding mentioned above.