Asp.Net 不带区域/国家/地区名称和默认设置的区域性名称



我正在做一个多语言网站。我想获取并设置culture,并使用没有国家名称的culturename uiculture。如果浏览器是英文的或lang是英文选择的,它将返回en而不是en-USen-GB。因为我对每种语言使用一个本地资源文件,并且我必须将语言代码作为参数发送到 sql 过程。

Thread.CurrentThread.CurrentCulture
 Thread.CurrentThread.CurrentCulture.Name
 Thread.CurrentThread.CurrentUICulture

它们都返回 en-GB、de-DE、de-AT 等...我只想要第一部分并使用这个。http://msdn.microsoft.com/en-us/library/system.globalization.cultureinfo%28VS.71%29.aspx链接中有名称,但浏览器确实注意到返回它,我只想使用简单的部分。我该怎么做?

它被解决(:

编辑:现在,我如何读取浏览器的区域性,如果我没有它,我如何设置我拥有的区域性。例如:我有enderu和访问者的浏览器fr,我希望它显示en ?

看看 TwoLetterISOLanguageName-property。它应该返回您要查找的标识符。例如:

var cult = new System.Globalization.CultureInfo("en-US").TwoLetterISOLanguageName;

返回"en"以便可以将其发送到存储过程。

最新更新