如何根据用户浏览器自动设置ui文化? 所有我发现这个是Globalize.culture("pt-BR");
但它设置pt-BR
作为默认,我不想默认设置此!我只想设置这个,如果用户是PT - BR! 我该怎么做?而验证方法,我怎样才能将它们设置为特定的文化?根据浏览器接受语言自动设置uiCulture
12
A
回答
18
在ASP.NET MVC中,web.config
是正确的地方。有一个快速总结,第一个片段显示,如何可能是pt-BR
文化被迫
<globalization
enableClientBasedCulture="false"
uiCulture="pt-BR"
culture="pt-BR" />
如果应用程序已准备好接受来自客户端(浏览器)的文化,设置应该
<globalization
enableClientBasedCulture="true"
uiCulture="auto"
culture="auto" />
以上设置将在客户端浏览器中选择一个语言(如在我的情况下为cs-CZ
)。如果没有定义,则会使用系统设置。 最后的片断显示,如何让客户端设置发送意文化,但如果没有语言是预先选定的,覆盖系统与其他一些默认值PT-BR
<globalization
enableClientBasedCulture="true"
uiCulture="auto:pt-BR"
culture="auto:pt-BR" />
设置扩展:为jQuery
validator
和数字输入
注区域性设置:我绝对不是在jQuery
和全球化技术方面的专家。这就是例子,我该怎么办调整validator
正确处理任何数字输入
Razor视图部分(X()
是new HtmlString()
快捷方式):
var defaultThousandSeprator = "@X(culture.NumberFormat.NumberGroupSeparator)";
var defaultDecimalSeprator = "@X(culture.NumberFormat.NumberDecimalSeparator)";
jQuery的部分(最小和最大的自定义方法)
$.validator.addMethod("min", function (value, element, param)
{
var num = value.replace(RegExp(" ", "g"), "") // remove spaces
.replace(RegExp('\\' + defaultThousandSeprator, "g"), "") // thousand separator
.replace(RegExp("\\" + defaultDecimalSeprator, "g"), "."); // fix decimals
return this.optional(element) || num >= param;
});
$.validator.addMethod("max", function (value, element, param)
{
var num = value.replace(RegExp(" ", "g"), "") // remove spaces
.replace(RegExp('\\' + defaultThousandSeprator, "g"), "") // thousands
.replace(RegExp("\\" + defaultDecimalSeprator, "g"), "."); // decimals
return this.optional(element) || num <= param;
});
然后jQuery.validator计算输入值CS-CZ:10 000,00
正确以及en-US:10,000.00
。
1
你需要写出从网页(或母版页)的脚本:
<script type="text/javascript">
Globalize.culture("<% = CultureInfo.CurrentCulture.ToString() %>");
</script>
就是这样。请注意,我使用CurrentCulture
而不是CurrentUICulture
,因为这应该用于格式化。如果你需要翻译(我不会这样做,因为它会伤害localizability),你需要你的原始CurrentUICulture
。
相关问题
- 1. 如何基于浏览器接受语言自动设置文化?
- 2. 如何设置接受语言在web浏览器
- 3. SharePoint - 根据浏览器语言设置更改网站的语言
- 4. 在moment.js中设置浏览器语言
- 5. 浏览器自动检测语言
- 6. 根据浏览器语言更改语言选择文本?
- 7. 如何更改浏览器接受语言
- 8. 在我的浏览器中测试接受语言
- 9. 搜索引擎和浏览器接受语言
- 10. JAX-WS如何设置接受语言
- 11. Chromedriver设置单一接受语言
- 12. Kentico访客网站语言不会根据浏览器语言设置而改变
- 13. 根据浏览器语言重定向用户(不在php中)
- 14. htaccess +根据浏览器语言重定向用户
- 15. 如何根据浏览器语言选择文件?
- 16. 根据浏览器语言显示特定的div或内容?
- 17. Spring MVC的:根据浏览器的语言
- 18. 浏览器语言检测
- 19. 如何通过浏览器的语言在Sitecore中设置上下文语言?
- 20. 根据浏览器
- 21. 接受在web浏览器
- 22. 如何根据客户端浏览器的语言重写nginx中的位置?
- 23. 如何设置PhantomJS的浏览器语言
- 24. Rails对浏览器语言设置的奇怪行为es-419
- 25. 操作系统区域设置和浏览器语言
- 26. 如何在Cucumber/Capybara中设置浏览器语言?
- 27. 检测自动定位的浏览器语言
- 28. 强制URL中的语言。如果URL没有语言,根据浏览器语言重定向
- 29. 更新JSTL动态语言环境,不论浏览器区域设置
- 30. 基于浏览器语言环境/位置的自动日期格式化
但在jQuery验证器中改变这种doest'n影响(验证保持不变),所以我需要用Globalize.js改变文化。 – MuriloKunze
好的,我不知道Globalize.js。为了处理JS的东西,我使用了动态生成的JS变量,例如:'var defaultCulture =“@(CultureInfo.CurrentCulture.Name)”';然后扩展JS组件,比如'$ .datepicker.regional [defaultCulture || ''];'。但我的回答是解释如何允许使用客户文化,就像你问的那样......可能有默认设置,但是如果提供了客户端重写 –
是的,谢谢。但我需要知道如何使用全球化和验证。 – MuriloKunze