【发布时间】:2015-07-19 09:14:52
【问题描述】:
TwoLetterISOLanguageName、ThreeLetterIsoLanguageName、EnglishName、NativeName、DisplayName 等都可以通过CultureInfo。
例如:
Dim buffer As String = "IetfLanguageTag" & ControlChars.Tab & _
"TwoLetterISOLanguageName" & ControlChars.Tab & _
"ThreeLetterISOLanguageName" & ControlChars.Tab & _
"EnglishName" & ControlChars.Tab & _
"NativeName" & ControlChars.Tab & _
"Name" & ControlChars.Tab & _
"DisplayName" & _
Environment.NewLine
For Each ci As CultureInfo In System.Globalization.CultureInfo.GetCultures(CultureTypes.InstalledWin32Cultures)
buffer &= ci.IetfLanguageTag & ControlChars.Tab & _
ci.TwoLetterISOLanguageName & ControlChars.Tab & _
ci.ThreeLetterISOLanguageName & ControlChars.Tab & _
ci.EnglishName & ControlChars.Tab & _
ci.NativeName & ControlChars.Tab & _
ci.Name & ControlChars.Tab & _
ci.DisplayName & _
Environment.NewLine
Next
My.Computer.Clipboard.SetText(buffer)
但是... 问题!
如何获得三字母-native-语言名称(如 Windows 8.1 中的语言名称;见下图)?或者它们是存储在注册表中的某个位置,还是只是 NativeName 的修剪*?
(*) 我不确定修剪,例如日语。
谢谢!
【问题讨论】:
-
您使用的是哪个版本的 Windows 8?在我的 Windows 8 (8.0) 机器上,语言选择列表看起来非常不同;它使用非本地的两个字母代码。
-
Windows 8.1 64 位 6.3.9600
-
我不知道它在 Windows 8.0 上不一样。无论如何,您会在图片上看到开始按钮。
-
我猜通常你可以免费升级到 Windows 8.1。
-
你可以有一个翻译方法来返回“EN”的定义,例如一个 switch 语句
标签: vb.net windows cultureinfo iso