jQuery Datepicker本地化
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了jQuery Datepicker本地化相关的知识,希望对你有一定的参考价值。
我需要一个法语日历,我无法理解这个问题。我想我不是应该使用区域选项。但...
这是我的代码:
$(function() {
$('#Date').datepicker({
showMonthAfterYear: false,
showOn: 'both',
buttonImage: 'media/img/calendar.png',
buttonImageOnly: true,
dateFormat:'d MM, y'
},
$.datepicker.regional['fr']
);
});
你可以这样做
$.datepicker.regional['fr'] = {clearText: 'Effacer', clearStatus: '',
closeText: 'Fermer', closeStatus: 'Fermer sans modifier',
prevText: '<Préc', prevStatus: 'Voir le mois précédent',
nextText: 'Suiv>', nextStatus: 'Voir le mois suivant',
currentText: 'Courant', currentStatus: 'Voir le mois courant',
monthNames: ['Janvier','Février','Mars','Avril','Mai','Juin',
'Juillet','Août','Septembre','Octobre','Novembre','Décembre'],
monthNamesShort: ['Jan','Fév','Mar','Avr','Mai','Jun',
'Jul','Aoû','Sep','Oct','Nov','Déc'],
monthStatus: 'Voir un autre mois', yearStatus: 'Voir un autre année',
weekHeader: 'Sm', weekStatus: '',
dayNames: ['Dimanche','Lundi','Mardi','Mercredi','Jeudi','Vendredi','Samedi'],
dayNamesShort: ['Dim','Lun','Mar','Mer','Jeu','Ven','Sam'],
dayNamesMin: ['Di','Lu','Ma','Me','Je','Ve','Sa'],
dayStatus: 'Utiliser DD comme premier jour de la semaine', dateStatus: 'Choisir le DD, MM d',
dateFormat: 'dd/mm/yy', firstDay: 0,
initStatus: 'Choisir la date', isRTL: false};
$.datepicker.setDefaults($.datepicker.regional['fr']);
该代码应该可以使用,但是您需要在页面中包含本地化(默认情况下不包括)。在包含jQuery和jQueryUI后,尝试将它放在<head>
标记中:
<script type="text/javascript"
src="https://raw.githubusercontent.com/jquery/jquery-ui/master/ui/i18n/datepicker-fr.js">
</script>
我找不到jQueryUI网站上记录的位置,但是如果你view the source of this demo你会看到他们是这样做的。此外,请注意,包含此JS文件会将datepicker默认设置为法语,因此如果您只想要一些日语选择器使用法语,则必须将默认值设置为英语。
你可以在github找到所有语言:https://github.com/jquery/jquery-ui/tree/master/ui/i18n
如果你想在区域本地化之外加入一些选项,你必须使用$ .extend,如下所示:
$(function() {
$('#Date').datepicker($.extend({
showMonthAfterYear: false,
dateFormat:'d MM, y'
},
$.datepicker.regional['fr']
));
});
您必须扩展这样的区域选项(为了便于阅读,将代码拆分为多行):
var options = $.extend(
{}, // empty object
$.datepicker.regional["fr"], // fr regional
{ dateFormat: "d MM, y" /*, ... */ } // your custom options
);
$("#datepicker").datepicker(options);
由于jQuery.extend
的工作方式,参数的顺序很重要。两个错误的例子:
/*
* This overwrites the global variable itself instead of creating a
* customized copy of french regional settings
*/
$.extend($.datepicker.regional["fr"], { dateFormat: "d MM, y"});
/*
* The desired dateFormat is overwritten by french regional
* settings' date format
*/
$.extend({ dateFormat: "d MM, y"}, $.datepicker.regional["fr"]);
PS:你还需要加载jQuery UI i18n文件:
<script src="//ajax.googleapis.com/ajax/libs/jqueryui/1.11.1/i18n/jquery-ui-i18n.min.js">
</script>
如果您正在寻找西班牙语的datepicker(datepickerenespañol)
<script type="text/javascript">
$.datepicker.regional['es'] = {
monthNames: ['Enero', 'Febrero', 'Marzo', 'Abril', 'Mayo', 'Junio', 'Julio', 'Agosto', 'Septiembre', 'Octubre', 'Noviembre', 'Diciembre'],
monthNamesShort: ['Ene', 'Feb', 'Mar', 'Abr', 'May', 'Jun', 'Jul', 'Ago', 'Sep', 'Oct', 'Nov', 'Dic'],
dayNames: ['Domingo', 'Lunes', 'Martes', 'Miercoles', 'Jueves', 'Viernes', 'Sabado'],
dayNamesShort: ['Dom', 'Lun', 'Mar', 'Mie', 'Jue', 'Vie', 'Sab'],
dayNamesMin: ['Do', 'Lu', 'Ma', 'Mc', 'Ju', 'Vi', 'Sa']
}
$.datepicker.setDefaults($.datepicker.regional['es']);
</script>
芬兰语的datepicker
$.datepicker.regional['fi'] = {
closeText: "Valmis", // Display text for close link
prevText: "Edel", // Display text for previous month link
nextText: "Seur", // Display text for next month link
currentText: "Tänään", // Display text for current month link
monthNames: [ "Tammikuu","Helmikuu","Maaliskuu","Huhtikuu","Toukokuu","Kesäkuu",
"Heinäkuu","Elokuu","Syyskuu","Lokakuu","Marraskuu","Joulukuu" ], // Names of months for drop-down and formatting
monthNamesShort: [ "Tam", "Hel", "Maa", "Huh", "Tou", "Kes", "Hei", "Elo", "Syy", "Lok", "Mar", "Jou" ], // For formatting
dayNames: [ "Sunnuntai", "Maanantai", "Tiistai", "Keskiviikko", "Torstai", "Perjantai", "Lauantai" ], // For formatting
dayNamesShort: [ "Sun", "Maa", "Tii", "Kes", "Tor", "Per", "Lau" ], // For formatting
dayNamesMin: [ "Su","Ma","Ti","Ke","To","Pe","La" ], // Column headings for days starting at Sunday
weekHeader: "Vk", // Column header for week of the year
dateFormat: "mm/dd/yy", // See format options on parseDate
firstDay: 0, // The first day of the week, Sun = 0, Mon = 1, ...
isRTL: false, // True if right-to-left language, false if left-to-right
showMonthAfterYear: false, // True if the year select precedes month, false for month then year
yearSuffix: "" // Additional text to append to the year in the month headers
};
Datepicker in German(Deutsch):
$.datepicker.regional['de'] = {
monthNames: ['Januar','Februar','März','April','Mai','Juni',
'Juli','August','September','Oktober','November','Dezember'],
monthNamesShort: ['Jan','Feb','Mär','Apr','Mai','Jun',
'Jul','Aug','Sep','Okt','Nov','Dez'],
dayNames: ['Sonntag','Montag','Dienstag','Mittwoch','Donnerstag','Freitag','Samstag'],
dayNamesShort: ['Son','Mon','Die','Mit','Don','Fre','Sam'],
dayNamesMin: ['So','Mo','Di','Mi','Do','Fr','Sa'],
firstDay: 1};
$.datepicker.setDefaults($.datepicker.regional['de']);
以上是关于jQuery Datepicker本地化的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 NPM 同时获得 JQuery-UI 和 datepicker 本地化?
jquery datepicker 阻止本地点击 onSelect
django admin 1.7 + django-grappelli 2.6.1 中的 jQuery datepicker 本地化