为什么我的jQuery UI日期选择器没有默认为英语

15

1
由于您的计算机区域设置不同。 - ant
cOmrade说你的电脑日期/时间/语言/国家可能设置为中文,因此日历显示了中文文本。 - A G
@Aseem Gautam - 不,这不是这种情况。 - leora
1个回答

20

根据jQuery UI文档和评论中c0mrade所说的,Datepicker基于您电脑的本地语言设置,但您可以进行覆盖:

本地化

Datepicker支持本地化内容以适应不同的语言和日期格式。每个本地化都包含在自己的文件中,并在名称后附加了语言代码,例如,jquery.ui.datepicker-fr.js用于法语。这些文件在主要的datepicker代码之后加载。它们将其设置添加到可用本地化集合中,并自动将其作为所有实例的默认值应用。

$.datepicker.regional属性包含一组本地化,由语言代码索引,其中''表示默认值(英语)。每个条目都是带有以下属性的对象:closeText、prevText、nextText、currentText、monthNames、monthNamesShort、dayNames、dayNamesShort、dayNamesMin、weekHeader、dateFormat、firstDay、isRTL、showMonthAfterYear和yearSuffix。

您可以使用以下方法恢复默认的本地化设置:

$.datepicker.setDefaults($.datepicker.regional['']);
并且可以针对特定的语言环境覆盖单个日期选择器:
$(selector).datepicker($.datepicker.regional['fr']);

@Nick Craver:我已经有了这行代码:$('#datepicker').datepicker({ dateFormat: 'dd-M-yy' });如何将它们合并? - leora
1
@oo - 在调用 $.datepicker.setDefaults($.datepicker.regional['']); 之前,设置所有日期选择器的区域...你可以在末尾放置任何两个字符的字符串作为参数,查看此处的源代码,在末尾的下拉列表中获取选项列表:view-source:http://jqueryui.com/demos/datepicker/localization.html - Nick Craver
1
我尝试了澳大利亚英语,但它仍然显示美国日期格式。$.datepicker.setDefaults($.datepicker.regional['']); $("#_ctl0__ctl0_Body_Body_datepicker").datepicker($.datepicker.regional['en-AU']); - Matthew Lock
1
请注意,在自定义构建中不要忘记包含位于development-bundle/ui/i18n/中的翻译文件。如果没有它,区域设置将始终恢复为默认值。 - yvoyer

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接