通过使用以下代码
string[] languages = HttpContext.Current.Request.UserLanguages;
string chosenLanguage = languages[0];
如果我已经安装了3种语言(例如“ da(丹麦语)”,“ sv(瑞典语)”和“ en(英语)”),则语言数组如下所示:
[0]: "en-US"
[1]: "en;q=0.8"
[2]: "da;q=0.6"
[3]: "sv;q=0.4"
即使我将显示语言更改为“丹麦语”而不是“英语”,数组也不会更改任何值。据我从其他人关于该主题的文章中所读到的内容来看,该[0]
值应该是浏览器选择的语言,但仍然是"en-US"
。
还有其他注册浏览器语言的方法,还是我做错了什么?
设置UICulture
and Culture
on page指令对我有用:
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="WebApplication1.Default" UICulture="auto" Culture="auto" %>
然后,我将chrome语言设置为French
,并确保重新排序语言-chrome将使用最高级的语言作为浏览器的默认语言。
然后,我使用了:
Response.Write(System.Threading.Thread.CurrentThread.CurrentUICulture);
哪个正确地给了我 fr
您可以在页面级别或全局设置区域性,请参阅此处。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句