TwoLetterISOLanguageName
,ThreeLetterIsoLanguageName
,EnglishName
,NativeName
,DisplayName
等可以通过CultureInfo
。
e.g:
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
的修剪*?
(*)我不确定修剪,例如日本人。
谢谢!
答案 0 :(得分:1)
它们不是通过算法从本机名称派生的。这些不会在任何公共API中公开。