首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >从当前访问者获取CultureInfo并在此基础上设置资源?

从当前访问者获取CultureInfo并在此基础上设置资源?
EN

Stack Overflow用户
提问于 2012-02-23 21:36:05
回答 3查看 46.8K关注 0票数 31

如何(在ASP中)获取当前访问者的CultureInfo (基于他/她的浏览器语言)?

我不知道从哪里开始。我尝试查看浏览器发送的"Accept-Languages“头文件。但这是最好的方法吗?

EN

回答 3

Stack Overflow用户

发布于 2012-02-23 21:40:51

您可以使用类似于下面的代码来获取用户的各种详细信息(包括语言):

代码语言:javascript
复制
MembershipUser user = Membership.GetUser(model.UserName);
string browser = HttpContext.Request.Browser.Browser;
string version = HttpContext.Request.Browser.Version;
string type = HttpContext.Request.Browser.Type;
string platform = HttpContext.Request.Browser.Platform;
string userAgent = HttpContext.Request.UserAgent;
string[] userLang = HttpContext.Request.UserLanguages
票数 7
EN

Stack Overflow用户

发布于 2013-01-31 03:10:25

我用星号标记这个问题,并在这里分享一些代码,这些代码实际上将Request.UserLanguages转换为CultureInfo实例数组,以便在您的应用程序中进一步使用。使用CultureInfo比使用ISO代码更灵活,因为使用CultureInfo可以访问文化的所有属性(如名称、两个字符的语言名称、本地名称等):

代码语言:javascript
复制
        // Create array of CultureInfo objects
        string locale = string.Empty;
        CultureInfo[] cultures = new CultureInfo[Request.UserLanguages.Length + 1];
        for (int ctr = Request.UserLanguages.GetLowerBound(0); ctr <= Request.UserLanguages.GetUpperBound(0);
                 ctr++)
        {
            locale = Request.UserLanguages[ctr];
            if (!string.IsNullOrEmpty(locale))
            {

                // Remove quality specifier, if present.
                if (locale.Contains(";"))
                    locale = locale.Substring(0, locale.IndexOf(';'));
                try
                {
                    cultures[ctr] = new CultureInfo(locale, false);
                }
                catch (Exception) { continue; }
            }
            else
            {
                cultures[ctr] = CultureInfo.CurrentCulture;
            }
        }
        cultures[Request.UserLanguages.Length] = CultureInfo.InvariantCulture;

HTH

票数 5
EN

Stack Overflow用户

发布于 2014-12-05 07:13:51

var userLanguage = CultureInfo.CurrentUICulture;

票数 -6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9414123

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档