我在VB.net 2010中有一个Windows窗体,需要读取远程.exe的语言字符串。
通常,这可以通过
完成oFileInfo = FileVersionInfo.GetVersionInfo("path to .exe here")
Dim sMyLanguage = oFileInfo.Language
不幸的是,这将在德国Windows上返回类似“englisch”,“französisch”的内容,对我来说绝对没用。
最好的是基于ISO的代码,如EN,DE,FR等。另一个唯一的标识符,如代码页编号或类似的东西也可以。
System.Globalization似乎也没有将语言字符串映射到有用的东西。
任何想法如何从我的操作系统语言中解除这种语言识别?目前,我的想法是使用.csv文件,其中包含三个翻译,听起来不合适。
答案 0 :(得分:0)
好的,我找到了解决方案:
在System.Globalization中,没有相当直接的映射,但是在https://msdn.microsoft.com/de-de/library/system.globalization.cultureinfo.lcid(v=vs.110).aspx中只列出了大约140种语言,因此我创建了一个带有文化ID的.csv文件并返回字符串并通过它循环用一个简单的For循环。
func setUpForm() {
presentViewController(form, animated: true, completion: nil)
}
毫无疑问,这可能不是最好的解决方案。但是在我的测试中,它有很高的击中率,所以这对我来说已经足够了。