一个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)
但是……问题!
如何获取三字母-本地-语言名称(如 Windows 8.1 中的名称;参见下图)?还是它们存储在注册表中的某处,或者它只是 NativeName
的修剪*?
(*) 我不确定修剪,因为例如日语。
谢谢!
最佳答案
它们不是通过算法从本地名称派生的。这些不会在任何公共(public) API 中公开。
关于vb.net - 如何获得三字母母语名称?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30124095/