【问题标题】:HOW is the Request.UserLanguages array sorted - by priority or alphabetically?Request.UserLanguages 数组如何排序 - 按优先级或字母顺序?
【发布时间】:2014-02-13 05:25:29
【问题描述】:

我从MS documentation 知道Request.UserLanguages 数组是“排序的”。他们没有说的是数组是按优先级还是按字母顺序排序的。

例如,如果我的 Accept-Languages 标头如下所示:

Accept-Language: gr, en-gb;q=0.8, en;q=0.7

优先级排序将是“gr”,值为 1,然后是“en-gb”,值为 0.8,然后是“en”,值为 0.7。

字母排序将是“en”、“en-gb”、“gr”。

我不知道如何测试这个。有什么想法吗?

【问题讨论】:

    标签: asp.net localization internationalization http-headers httprequest


    【解决方案1】:

    项目在 Accept-Language 标头中出现的顺序(以逗号分隔)就是它们在 UserLanguages 属性中出现的顺序。 ";q=xx" 部分没有特殊处理。您可以使用 Fiddler 之类的工具向服务器提交任意 Accept-Language 标头并查看 UserLanguages 属性的结果来进行测试。

    如果想看HttpRequest.UserLanguages的具体实现,可以看related .NET Framework source code

    【讨论】:

    • 文档清楚地指定数组已排序 - 但源代码(感谢提示)同样清楚地没有排序插孔。这(商品质量)真是骗人! ;-)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-06-14
    • 2016-09-20
    • 2018-11-03
    • 1970-01-01
    • 2020-09-03
    • 1970-01-01
    相关资源
    最近更新 更多