0

我正在工作一个多语言站点。我想获取和设置culture并且uiculture没有culturename国名。如果 browser 是英文或者 lang 是英文,它会返回ennot en-USor 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, deru并且访问者的浏览器发送给我fr,我希望它显示 en 吗?

4

1 回答 1

1

查看TwoLetterISOLanguageName -属性。它应该返回您正在寻找的标识符。例如:

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

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

于 2014-02-17T10:24:57.463 回答