timepiece/node_modules/date-fns/locale/ru/_lib/localize.mjs

211 lines
4.2 KiB
JavaScript
Raw Normal View History

2024-05-14 14:54:12 +00:00
import { buildLocalizeFn } from "../../_lib/buildLocalizeFn.mjs";
const eraValues = {
narrow: ["до н.э.", "н.э."],
abbreviated: ["до н. э.", "н. э."],
wide: ["до нашей эры", "нашей эры"],
};
const quarterValues = {
narrow: ["1", "2", "3", "4"],
abbreviated: ["1-й кв.", "2-й кв.", "3-й кв.", "4-й кв."],
wide: ["1-й квартал", "2-й квартал", "3-й квартал", "4-й квартал"],
};
const monthValues = {
narrow: ["Я", "Ф", "М", "А", "М", "И", "И", "А", "С", "О", "Н", "Д"],
abbreviated: [
"янв.",
"фев.",
"март",
"апр.",
"май",
"июнь",
"июль",
"авг.",
"сент.",
"окт.",
"нояб.",
"дек.",
],
wide: [
"январь",
"февраль",
"март",
"апрель",
"май",
"июнь",
"июль",
"август",
"сентябрь",
"октябрь",
"ноябрь",
"декабрь",
],
};
const formattingMonthValues = {
narrow: ["Я", "Ф", "М", "А", "М", "И", "И", "А", "С", "О", "Н", "Д"],
abbreviated: [
"янв.",
"фев.",
"мар.",
"апр.",
"мая",
"июн.",
"июл.",
"авг.",
"сент.",
"окт.",
"нояб.",
"дек.",
],
wide: [
"января",
"февраля",
"марта",
"апреля",
"мая",
"июня",
"июля",
"августа",
"сентября",
"октября",
"ноября",
"декабря",
],
};
const dayValues = {
narrow: ["В", "П", "В", "С", "Ч", "П", "С"],
short: ["вс", "пн", "вт", "ср", "чт", "пт", "сб"],
abbreviated: ["вск", "пнд", "втр", "срд", "чтв", "птн", "суб"],
wide: [
"воскресенье",
"понедельник",
"вторник",
"среда",
"четверг",
"пятница",
"суббота",
],
};
const dayPeriodValues = {
narrow: {
am: "ДП",
pm: "ПП",
midnight: "полн.",
noon: "полд.",
morning: "утро",
afternoon: "день",
evening: "веч.",
night: "ночь",
},
abbreviated: {
am: "ДП",
pm: "ПП",
midnight: "полн.",
noon: "полд.",
morning: "утро",
afternoon: "день",
evening: "веч.",
night: "ночь",
},
wide: {
am: "ДП",
pm: "ПП",
midnight: "полночь",
noon: "полдень",
morning: "утро",
afternoon: "день",
evening: "вечер",
night: "ночь",
},
};
const formattingDayPeriodValues = {
narrow: {
am: "ДП",
pm: "ПП",
midnight: "полн.",
noon: "полд.",
morning: "утра",
afternoon: "дня",
evening: "веч.",
night: "ночи",
},
abbreviated: {
am: "ДП",
pm: "ПП",
midnight: "полн.",
noon: "полд.",
morning: "утра",
afternoon: "дня",
evening: "веч.",
night: "ночи",
},
wide: {
am: "ДП",
pm: "ПП",
midnight: "полночь",
noon: "полдень",
morning: "утра",
afternoon: "дня",
evening: "вечера",
night: "ночи",
},
};
const ordinalNumber = (dirtyNumber, options) => {
const number = Number(dirtyNumber);
const unit = options?.unit;
let suffix;
if (unit === "date") {
suffix = "-е";
} else if (unit === "week" || unit === "minute" || unit === "second") {
suffix = "-я";
} else {
suffix = "-й";
}
return number + suffix;
};
export const localize = {
ordinalNumber,
era: buildLocalizeFn({
values: eraValues,
defaultWidth: "wide",
}),
quarter: buildLocalizeFn({
values: quarterValues,
defaultWidth: "wide",
argumentCallback: (quarter) => quarter - 1,
}),
month: buildLocalizeFn({
values: monthValues,
defaultWidth: "wide",
formattingValues: formattingMonthValues,
defaultFormattingWidth: "wide",
}),
day: buildLocalizeFn({
values: dayValues,
defaultWidth: "wide",
}),
dayPeriod: buildLocalizeFn({
values: dayPeriodValues,
defaultWidth: "any",
formattingValues: formattingDayPeriodValues,
defaultFormattingWidth: "wide",
}),
};