Búsqueda de sitios web

javascript - ¿Cómo localizo el selector de fecha de jQuery UI?


Realmente necesito un calendario desplegable localizado. Un calendario en inglés no comunica exactamente excelencia en un sitio web noruego ;-)

He experimentado con el jQuery DatePicker, su sitio web dice que se puede localizar, sin embargo eso no parece funcionar.

Estoy usando ASPNET.MVC, y realmente quiero ceñirme a una biblioteca de JavaScript. En este caso, jQuery.

El calendario del toolkit de Ajax sería aceptable, si tan solo él también mostrara nombres en noruego.

Actualización: ¡Genial! Veo que me faltan los archivos de idioma, un detalle no tan menor :-)

Respuesta #1

Para aquellos que todavía tienen problemas, deben descargar el archivo de idioma que deseen desde aquí:

https://github.com/jquery/jquery-ui/tree/master/ui/i18n

y luego inclúyelo en tu página así, por ejemplo (idioma italiano):

<script type="text/javascript" src="/scripts/jquery.ui.datepicker-it.js"></script>

entonces usa el código de zilverdistel :D

Respuesta #2

Descubrí la demostración y la implementé de la siguiente manera:

$.datepicker.setDefaults(
  $.extend(
    {'dateFormat':'dd-mm-yy'},
    $.datepicker.regional['nl']
  )
);

También necesitaba establecer el valor predeterminado para el formato de fecha...

Respuesta #3

La cadena $.datepicker.regional['it'] no traduce todas las palabras.

Para localizar las cadenas del selector de fechas, necesitas configurar algunas variables:

$.datepicker.regional['it'] = {
    closeText: 'Chiudi', // set a close button text
    currentText: 'Oggi', // set today text
    monthNames: ['Gennaio','Febbraio','Marzo','Aprile','Maggio','Giugno',   'Luglio','Agosto','Settembre','Ottobre','Novembre','Dicembre'], // set month names
    monthNamesShort: ['Gen','Feb','Mar','Apr','Mag','Giu','Lug','Ago','Set','Ott','Nov','Dic'], // set short month names
    dayNames: ['Domenica','Luned&#236','Marted&#236','Mercoled&#236','Gioved&#236','Venerd&#236','Sabato'], // set days names
    dayNamesShort: ['Dom','Lun','Mar','Mer','Gio','Ven','Sab'], // set short day names
    dayNamesMin: ['Do','Lu','Ma','Me','Gio','Ve','Sa'], // set more short days names
    dateFormat: 'dd/mm/yy' // set format date
};

$.datepicker.setDefaults($.datepicker.regional['it']);

$(".datepicker").datepicker();

Así es como traducir correctamente tu selector de fecha.

Respuesta #4

  $.datepicker.setDefaults({
    closeText: "关闭",
    prevText: "&#x3C;上月",
    nextText: "下月&#x3E;",
    currentText: "今天",
    monthNames: [ "一月","二月","三月","四月","五月","六月",
    "七月","八月","九月","十月","十一月","十二月" ],
    monthNamesShort: [ "一月","二月","三月","四月","五月","六月",
    "七月","八月","九月","十月","十一月","十二月" ],
    dayNames: [ "星期日","星期一","星期二","星期三","星期四","星期五","星期六" ],
    dayNamesShort: [ "周日","周一","周二","周三","周四","周五","周六" ],
    dayNamesMin: [ "日","一","二","三","四","五","六" ],
    weekHeader: "周",
    dateFormat: "yy-mm-dd",
    firstDay: 1,
    isRTL: false,
    showMonthAfterYear: true,
    yearSuffix: "年"
  });

el código i18n podría copiarse de https://github.com/jquery/jquery-ui/tree/master/ui/i18n

Respuesta #5

1. Necesitas cargar los archivos i18n de jQuery UI:

<script src="//ajax.googleapis.com/ajax/libs/jqueryui/1.11.4/i18n/jquery-ui-i18n.min.js">
</script>

2. Usa la función $.datepicker.setDefaults para establecer valores predeterminados para TODOS los selectores de fecha.

3. En caso de que desee sobrescribir la(s) configuración(es) antes de establecer los valores predeterminados, puede usar esto:

var options = $.extend(
    {},                                  // empty object
    $.datepicker.regional["fr"],         // fr regional
    { dateFormat: "d MM, y" /*, ... */ } // your custom options
);
$.datepicker.setDefaults(options);

El orden de los parámetros es importante debido a la forma en que jQuery.extend funciona. Dos ejemplos incorrectos:

/*
 * 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"]);

Artículos relacionados