179 lines
3.9 KiB
JavaScript
179 lines
3.9 KiB
JavaScript
|
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 dayValues = {
|
|||
|
narrow: ["Կ", "Ե", "Ե", "Չ", "Հ", "Ո", "Շ"],
|
|||
|
short: ["կր", "եր", "եք", "չք", "հգ", "ուր", "շբ"],
|
|||
|
abbreviated: ["կիր", "երկ", "երք", "չոր", "հնգ", "ուրբ", "շաբ"],
|
|||
|
wide: [
|
|||
|
"կիրակի",
|
|||
|
"երկուշաբթի",
|
|||
|
"երեքշաբթի",
|
|||
|
"չորեքշաբթի",
|
|||
|
"հինգշաբթի",
|
|||
|
"ուրբաթ",
|
|||
|
"շաբաթ",
|
|||
|
],
|
|||
|
};
|
|||
|
|
|||
|
const dayPeriodValues = {
|
|||
|
narrow: {
|
|||
|
am: "a",
|
|||
|
pm: "p",
|
|||
|
midnight: "կեսգշ",
|
|||
|
noon: "կեսօր",
|
|||
|
morning: "առավոտ",
|
|||
|
afternoon: "ցերեկ",
|
|||
|
evening: "երեկո",
|
|||
|
night: "գիշեր",
|
|||
|
},
|
|||
|
abbreviated: {
|
|||
|
am: "AM",
|
|||
|
pm: "PM",
|
|||
|
midnight: "կեսգիշեր",
|
|||
|
noon: "կեսօր",
|
|||
|
morning: "առավոտ",
|
|||
|
afternoon: "ցերեկ",
|
|||
|
evening: "երեկո",
|
|||
|
night: "գիշեր",
|
|||
|
},
|
|||
|
wide: {
|
|||
|
am: "a.m.",
|
|||
|
pm: "p.m.",
|
|||
|
midnight: "կեսգիշեր",
|
|||
|
noon: "կեսօր",
|
|||
|
morning: "առավոտ",
|
|||
|
afternoon: "ցերեկ",
|
|||
|
evening: "երեկո",
|
|||
|
night: "գիշեր",
|
|||
|
},
|
|||
|
};
|
|||
|
|
|||
|
const formattingDayPeriodValues = {
|
|||
|
narrow: {
|
|||
|
am: "a",
|
|||
|
pm: "p",
|
|||
|
midnight: "կեսգշ",
|
|||
|
noon: "կեսօր",
|
|||
|
morning: "առավոտը",
|
|||
|
afternoon: "ցերեկը",
|
|||
|
evening: "երեկոյան",
|
|||
|
night: "գիշերը",
|
|||
|
},
|
|||
|
abbreviated: {
|
|||
|
am: "AM",
|
|||
|
pm: "PM",
|
|||
|
midnight: "կեսգիշերին",
|
|||
|
noon: "կեսօրին",
|
|||
|
morning: "առավոտը",
|
|||
|
afternoon: "ցերեկը",
|
|||
|
evening: "երեկոյան",
|
|||
|
night: "գիշերը",
|
|||
|
},
|
|||
|
wide: {
|
|||
|
am: "a.m.",
|
|||
|
pm: "p.m.",
|
|||
|
midnight: "կեսգիշերին",
|
|||
|
noon: "կեսօրին",
|
|||
|
morning: "առավոտը",
|
|||
|
afternoon: "ցերեկը",
|
|||
|
evening: "երեկոյան",
|
|||
|
night: "գիշերը",
|
|||
|
},
|
|||
|
};
|
|||
|
|
|||
|
const ordinalNumber = (dirtyNumber, _options) => {
|
|||
|
const number = Number(dirtyNumber);
|
|||
|
|
|||
|
// If ordinal numbers depend on context, for example,
|
|||
|
// if they are different for different grammatical genders,
|
|||
|
// use `options.unit`.
|
|||
|
//
|
|||
|
// `unit` can be 'year', 'quarter', 'month', 'week', 'date', 'dayOfYear',
|
|||
|
// 'day', 'hour', 'minute', 'second'.
|
|||
|
|
|||
|
const rem100 = number % 100;
|
|||
|
if (rem100 < 10) {
|
|||
|
if (rem100 % 10 === 1) {
|
|||
|
return number + "֊ին";
|
|||
|
}
|
|||
|
}
|
|||
|
return number + "֊րդ";
|
|||
|
};
|
|||
|
|
|||
|
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",
|
|||
|
}),
|
|||
|
|
|||
|
day: buildLocalizeFn({
|
|||
|
values: dayValues,
|
|||
|
defaultWidth: "wide",
|
|||
|
}),
|
|||
|
|
|||
|
dayPeriod: buildLocalizeFn({
|
|||
|
values: dayPeriodValues,
|
|||
|
defaultWidth: "wide",
|
|||
|
formattingValues: formattingDayPeriodValues,
|
|||
|
defaultFormattingWidth: "wide",
|
|||
|
}),
|
|||
|
};
|