在我的应用程序中,我想支持2种语言(英语和阿拉伯语)。目前,我将英文版本的帮助文件放在特定路径中。如果我想让用户选择他想要安装应用程序的语言,并根据选择,在该路径中抛出相应的chm文件,该怎么办?
还有一个问题的另一部分,我能不能做一个像安装应用程序时询问语言,然后只抛出相关的exe
文件的功能?
可以这样翻译:还有Q的另一个部分,我是否可以像安装应用程序时一样,询问语言,然后仅抛出相关的exe
文件?
在我的应用程序中,我想支持2种语言(英语和阿拉伯语)。目前,我将英文版本的帮助文件放在特定路径中。如果我想让用户选择他想要安装应用程序的语言,并根据选择,在该路径中抛出相应的chm文件,该怎么办?
还有一个问题的另一部分,我能不能做一个像安装应用程序时询问语言,然后只抛出相关的exe
文件的功能?
可以这样翻译:还有Q的另一个部分,我是否可以像安装应用程序时一样,询问语言,然后仅抛出相关的exe
文件?
你没有说你是如何在应用程序中实现本地化的。由于您正在使用.NET开发,我假设您拥有每种语言的.resx文件,其中包含所有本地化数据。那么为什么不安装两个帮助文件,并将帮助文件路径作为资源文件中的本地化字符串?
顺便提一句,使用本地化资源文件,您只需要安装一个可执行文件。您可以通过设置 CultureInfo.CurrentUICulture
来选择在表单加载时要使用的语言,例如根据配置设置或注册表键。
关于您问题的第二部分:您可以让用户选择目标语言。这将设置上述的配置设置或注册表键。但是,在安装过程中更改语言不会更改MSI安装程序的UI语言(我认为这不受支持*)。
因此,我建议您为每种语言单独安装程序或使用不同的安装系统(NSIS似乎是一个不错的选择)。
MSI可以基于用户定义的区域设置自动选择UI语言。但是,这种行为并不得到官方支持,实现它的方法也有些复杂。