我正在做一个多语言网站。我想获取并设置culture
,并使用没有国家名称的culturename
uiculture
。如果浏览器是英文的或lang是英文选择的,它将返回en
而不是en-US
或en-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链接中有名称,但浏览器确实注意到返回它,我只想使用简单的部分。我该怎么做?
它被解决(:
编辑:现在,我如何读取浏览器的区域性,如果我没有它,我如何设置我拥有的区域性。例如:我有en
,de
,ru
和访问者的浏览器fr
,我希望它显示en ?
看看 TwoLetterISOLanguageName-property。它应该返回您要查找的标识符。例如:
var cult = new System.Globalization.CultureInfo("en-US").TwoLetterISOLanguageName;
返回"en"
以便可以将其发送到存储过程。