Javascript-форум (https://javascript.ru/forum/)
-   Библиотеки/Тулкиты/Фреймворки (https://javascript.ru/forum/library-toolkit-framework/)
-   -   Как добавить локализацию в календарь datapicker на чистом js? (https://javascript.ru/forum/library-toolkit-framework/81291-kak-dobavit-lokalizaciyu-v-kalendar-datapicker-na-chistom-js.html)

giwuf 04.11.2020 11:53

Как добавить локализацию в календарь datapicker на чистом js?
 
Есть календарь datapicker на чистом javascript.

<link href="https://unpkg.com/js-datepicker/dist/datepicker.min.css" rel="stylesheet"/>
<script src="https://unpkg.com/js-datepicker@5.16.0/dist/datepicker.min.js"></script>
<div class="datepicker">
  <img src="https://img1.freepng.ru/20180403/lkq/kisspng-solar-calendar-symbol-computer-icons-encapsulated-calendar-icon-5ac41db82504c0.0773126515228021041516.jpg" width="50px" height="50px">
  <input class="date-picker-element" type="text">
</div>

document.addEventListener('DOMContentLoaded', () => {
  if (datepicker) {
    let datepickerClickElem = document.querySelector('.datepicker img');
    let datePickerElem = document.querySelector('.date-picker-element');
    let picker = null;

    if (datePickerElem) {
      picker = datepicker(datePickerElem, {
        customDays: ['Mo', 'Tu', 'We', 'Th', 'Fr', 'Sa', 'Su'],
        customMonths: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'],
      });

      if (datepickerClickElem) {
        datepickerClickElem.addEventListener('click', function(e) {
          e.stopPropagation();

          let isHidden = picker.calendarContainer.classList.contains('qs-hidden');
          if (isHidden) {
            picker[isHidden ? 'show' : 'hide']();
          }
        });
      }
    }
  }
})


Мне нужно его локализировать (месяцы, недели) в зависимости html lang="ru-RU" или lang="kz-KZ".

Для datapicker библиотеки jquery есть такой вариант, но он кроме самой jquery тянет за собой еще и jquery ui, что совсем не вариант:

datepicker.regional.ru = {
    closeText: "Закрыть",
    prevText: "&#x3C;Пред",
    nextText: "След&#x3E;",
    currentText: "Сегодня",
    monthNames: [ "Январь","Февраль","Март","Апрель","Май","Июнь",
    "Июль","Август","Сентябрь","Октябрь","Ноябрь","Декабрь" ],
    monthNamesShort: [ "Янв","Фев","Мар","Апр","Май","Июн",
    "Июл","Авг","Сен","Окт","Ноя","Дек" ],
    dayNames: [ "воскресенье","понедельник","вторник","среда","четверг","пятница","суббота" ],
    dayNamesShort: [ "вск","пнд","втр","срд","чтв","птн","сбт" ],
    dayNamesMin: [ "Вс","Пн","Вт","Ср","Чт","Пт","Сб" ],
    weekHeader: "Нед",
    dateFormat: "dd.mm.yy",
    firstDay: 1,
    isRTL: false,
    showMonthAfterYear: false,
    yearSuffix: "" };
datepicker.setDefaults( datepicker.regional.ru );

рони 04.11.2020 12:53

giwuf,
добавить в строку 7 условие по ссылке
https://developer.mozilla.org/en-US/...MLElement/lang

giwuf 04.11.2020 13:18

Цитата:

Сообщение от рони (Сообщение 530369)
giwuf,
добавить в строку 7 условие по ссылке
https://developer.mozilla.org/en-US/...MLElement/lang

Да, точно рони! Спасибо большое, лайк ! :thanks:


Часовой пояс GMT +3, время: 16:34.