你能像在 .NET 中一样在 javascript 中获取文化信息字符串吗? [复制]
Posted
技术标签:
【中文标题】你能像在 .NET 中一样在 javascript 中获取文化信息字符串吗? [复制]【英文标题】:Can you get culture info string in javascript just like in .NET? [duplicate] 【发布时间】:2013-12-11 13:47:15 【问题描述】:我需要从浏览器的语言中获取文化字符串。
我想过像这样从 javascript 中获取它:
var userLang = navigator.language || navigator.userLanguage;
但它只给了我从 .NET 获得的文化信息的第一部分:
Thread.CurrentThread.CurrentCulture.Name;
所以 javascript 给了我“de”或“pl”而不是 .NET 中的“de-DE”或“pl-PL”。 有没有办法获得“完整信息”?
【问题讨论】:
【参考方案1】:试试这个
<script>
var cultureInfo = '@System.Globalization.CultureInfo.CurrentCulture.Name';
</script>
【讨论】:
【参考方案2】:不是真的。浏览器不会在其 DOM 中保留这些详细信息。
您可以做的是,在您的 ASP.NET 页面中,生成 C# 中的CultureInfo
,如下所示:
<script language="javascript">
var culture = '<%= System.Globalization.CultureInfo.CurrentCulture.Name %>';
var cultureDisplayName = '<%= System.Globalization.CultureInfo.CurrentCulture.DisplayName %>';
// etc
// rest of your JavaScript code
</script>
【讨论】:
但这似乎给了我服务器lanaugae。我想要做的是让用户浏览器的语言为登录页面获得正确的翻译。 试试看。在 ASP.NET 中,页面的服务器端代码在最终用户的文化下运行。 我试过了。但老实说,我必须使用 DotNetNuke,也许他会以某种方式覆盖它,因为我总是有 en-US,这是站点设置中的“默认”语言。不幸的是,“启用浏览器语言检测”选项根本不起作用。所以我试图找到一些东西来覆盖它。我想我最终会得到一些 javascript 映射并使用 JS 检测语言,因为它似乎只是对我有用的一种选择。以上是关于你能像在 .NET 中一样在 javascript 中获取文化信息字符串吗? [复制]的主要内容,如果未能解决你的问题,请参考以下文章
如何让迅雷是视频嗅探功能在谷歌内核的浏览器上也能像在IE内核浏览器上一样的工作呀?