你能像在 .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内核浏览器上一样的工作呀?

pycharm 怎么能像在命令行中输入参数进行调试

动画Bezier曲线,就像在iPhone屏幕上绘制一样

“条件” (? :) 运算符在 JavaScript 中是不是像在 C 中一样工作?

如何像在 Javascript 中一样在 Ruby 中动态创建对象及其方法?