我正在调整现有的jQuery UI 1.10.4 Datepicker以支持多种语言。我想使用官方翻译而不做任何修改,以便我将来能够升级。但是,我还需要更改一些术语或添加缺失的术语。
我正在尝试这个:
$.datepicker.regional["es"]["buttonText"] = "Foo!";
$('.is-a-date').each(function(){
$(this).datepicker({
buttonImage: '/img/datepicker.png',
buttonImageOnly: true
});
});
我已经确认$.datepicker.regional["es"]
包含新值,buttonText
是可本地化的(如果我在jquery.ui.datepicker-es.js
添加它,它可以正常工作)。所有内容都包含在jQuery(function(){...})
包装器中。但我的自定义文本不会出现在任何地方。
我错过了什么?我需要重新初始化吗?
答案 0 :(得分:1)
在对区域进行更改后,您应该使用setDefaults
函数注册它们:
$.datepicker.setDefaults($.datepicker.regional["es"])
检查下一个示例 - 下个月按钮上的文字更改为" Bar!"。
$.datepicker.regional["es"]["buttonText"] = "Foo!";
$.datepicker.regional["es"]["nextText"] = "Bar!";
$.datepicker.setDefaults($.datepicker.regional["es"])
$('.is-a-date').each(function(){
$(this).datepicker({
buttonImage: '/img/datepicker.png',
buttonImageOnly: true
});
});

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.12.1/jquery-ui.min.css" />
<script src="https://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.12.1/jquery-ui.min.js"></script>
<script src="https://cdn.rawgit.com/jquery/jquery-ui/master/ui/i18n/datepicker-es.js"></script>
<input class="is-a-date" />
&#13;