Настройка
Day.js очень легко настраивается.
Вы можете создать новую локаль.
js
var localeObject = {...} // Объект локали Day.js, подробная информация ниже
dayjs.locale('en-my-settings', localeObject);Обновить существующую локаль.
TIP
Для работы необходим плагин UpdateLocale
js
dayjs.extend(updateLocale);
dayjs.updateLocale('en', {
/**/
});Шаблон объекта локализации Day.js.
javascript
const localeObject = {
name: 'es', // name String - название (строка)
weekdays: 'Domingo_Lunes ...'.split('_'), // weekdays Array - массив названий дней недели
weekdaysShort: 'Sun_M'.split('_'), // OPTIONAL, short weekdays Array, если не указан, используются первые три буквы - НЕОБЯЗАТЕЛЬНО, массив сокращенных названий дней недели
weekdaysMin: 'Su_Mo'.split('_'), // OPTIONAL, min weekdays Array, если не указан, используются первые две буквы - НЕОБЯЗАТЕЛЬНО, массив минимальных сокращений дней недели (минимум две буквы)
weekStart: 1, // OPTIONAL, определяет начало недели. Если значение равно 1, понедельник будет началом недели вместо воскресенья - НЕОБЯЗАТЕЛЬНО, определяет начало недели.
yearStart: 4, // OPTIONAL, неделя, содержащая 4 января, считается первой неделей года - НЕОБЯЗАТЕЛЬНО, неделя, содержащая 4 января, считается первой неделей года.
months: 'Enero_Febrero ... '.split('_'), // months Array - массив названий месяцев
monthsShort: 'Jan_F'.split('_'), // OPTIONAL, short months Array, если не указан, используются первые три буквы - НЕОБЯЗАТЕЛЬНО, массив сокращенных названий месяцев
ordinal: n => `${n}-й`, // ordinal Function (number) => return number + output - функция для порядковых числительных (число) => возвращает число + вывод
formats: {
// abbreviated format options allowing localization - сокращенные форматы, поддерживающие локализацию
LTS: 'h:mm:ss A',
LT: 'h:mm A',
L: 'MM/DD/YYYY',
LL: 'MMMM D, YYYY',
LLL: 'MMMM D, YYYY h:mm A',
LLLL: 'dddd, MMMM D, YYYY h:mm A',
// lowercase/short, optional formats for localization - необязательные строчные и короткие форматы для локализации
l: 'D/M/YYYY',
ll: 'D MMM, YYYY',
lll: 'D MMM, YYYY h:mm A',
llll: 'ddd, MMM D, YYYY h:mm A',
},
relativeTime: {
// relative time format strings, keep %s %d as the same - строки формата относительного времени, не изменяйте %s и %d
future: 'через %s', // e.g. in 2 hours, %s been replaced with 2hours - например, через 2 часа, %s заменяется на "2 часа"
past: '%s назад',
s: 'несколько секунд',
m: 'минута',
mm: '%d минут',
h: 'час',
hh: '%d часов', // e.g. 2 hours, %d been replaced with 2 - например, 2 часа, %d заменяется на "2"
d: 'день',
dd: '%d дней',
M: 'месяц',
MM: '%d месяцев',
y: 'год',
yy: '%d лет',
},
meridiem: (hour, minute, isLowercase) => {
// OPTIONAL, AM/PM - НЕОБЯЗАТЕЛЬНО, обозначение AM/PM
return hour < 12 ? 'AM' : 'PM';
},
};Шаблон файла локализации Day.js (например, dayjs/locale/es.js).
javascript
import dayjs from 'dayjs'
const locale = { ... } // Your Day.js locale Object. - Ваш объект локали Day.js.
dayjs.locale(locale, null, true) // load locale for later use - загружает локаль для дальнейшего использования
export default locale