168 lines
3.3 KiB
JavaScript
168 lines
3.3 KiB
JavaScript
import { buildLocalizeFn } from "../../_lib/buildLocalizeFn.mjs";
|
|
|
|
const eraValues = {
|
|
narrow: ["M.A", "M."],
|
|
abbreviated: ["M.A", "M."],
|
|
wide: ["Miloddan Avvalgi", "Milodiy"],
|
|
};
|
|
|
|
const quarterValues = {
|
|
narrow: ["1", "2", "3", "4"],
|
|
abbreviated: ["CH.1", "CH.2", "CH.3", "CH.4"],
|
|
wide: ["1-chi chorak", "2-chi chorak", "3-chi chorak", "4-chi chorak"],
|
|
};
|
|
|
|
// Note: in English, the names of days of the week and months are capitalized.
|
|
// If you are making a new locale based on this one, check if the same is true for the language you're working on.
|
|
// Generally, formatted dates should look like they are in the middle of a sentence,
|
|
// e.g. in Spanish language the weekdays and months should be in the lowercase.
|
|
const monthValues = {
|
|
narrow: ["Y", "F", "M", "A", "M", "I", "I", "A", "S", "O", "N", "D"],
|
|
abbreviated: [
|
|
"Yan",
|
|
"Fev",
|
|
"Mar",
|
|
"Apr",
|
|
"May",
|
|
"Iyun",
|
|
"Iyul",
|
|
"Avg",
|
|
"Sen",
|
|
"Okt",
|
|
"Noy",
|
|
"Dek",
|
|
],
|
|
|
|
wide: [
|
|
"Yanvar",
|
|
"Fevral",
|
|
"Mart",
|
|
"Aprel",
|
|
"May",
|
|
"Iyun",
|
|
"Iyul",
|
|
"Avgust",
|
|
"Sentabr",
|
|
"Oktabr",
|
|
"Noyabr",
|
|
"Dekabr",
|
|
],
|
|
};
|
|
|
|
const dayValues = {
|
|
narrow: ["Y", "D", "S", "CH", "P", "J", "SH"],
|
|
short: ["Ya", "Du", "Se", "Cho", "Pa", "Ju", "Sha"],
|
|
abbreviated: ["Yak", "Dush", "Sesh", "Chor", "Pay", "Jum", "Shan"],
|
|
wide: [
|
|
"Yakshanba",
|
|
"Dushanba",
|
|
"Seshanba",
|
|
"Chorshanba",
|
|
"Payshanba",
|
|
"Juma",
|
|
"Shanba",
|
|
],
|
|
};
|
|
|
|
const dayPeriodValues = {
|
|
narrow: {
|
|
am: "a",
|
|
pm: "p",
|
|
midnight: "y.t",
|
|
noon: "p.",
|
|
morning: "ertalab",
|
|
afternoon: "tushdan keyin",
|
|
evening: "kechqurun",
|
|
night: "tun",
|
|
},
|
|
abbreviated: {
|
|
am: "AM",
|
|
pm: "PM",
|
|
midnight: "yarim tun",
|
|
noon: "peshin",
|
|
morning: "ertalab",
|
|
afternoon: "tushdan keyin",
|
|
evening: "kechqurun",
|
|
night: "tun",
|
|
},
|
|
wide: {
|
|
am: "a.m.",
|
|
pm: "p.m.",
|
|
midnight: "yarim tun",
|
|
noon: "peshin",
|
|
morning: "ertalab",
|
|
afternoon: "tushdan keyin",
|
|
evening: "kechqurun",
|
|
night: "tun",
|
|
},
|
|
};
|
|
|
|
const formattingDayPeriodValues = {
|
|
narrow: {
|
|
am: "a",
|
|
pm: "p",
|
|
midnight: "y.t",
|
|
noon: "p.",
|
|
morning: "ertalab",
|
|
afternoon: "tushdan keyin",
|
|
evening: "kechqurun",
|
|
night: "tun",
|
|
},
|
|
abbreviated: {
|
|
am: "AM",
|
|
pm: "PM",
|
|
midnight: "yarim tun",
|
|
noon: "peshin",
|
|
morning: "ertalab",
|
|
afternoon: "tushdan keyin",
|
|
evening: "kechqurun",
|
|
night: "tun",
|
|
},
|
|
wide: {
|
|
am: "a.m.",
|
|
pm: "p.m.",
|
|
midnight: "yarim tun",
|
|
noon: "peshin",
|
|
morning: "ertalab",
|
|
afternoon: "tushdan keyin",
|
|
evening: "kechqurun",
|
|
night: "tun",
|
|
},
|
|
};
|
|
|
|
const ordinalNumber = (dirtyNumber, _options) => {
|
|
return String(dirtyNumber);
|
|
};
|
|
|
|
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",
|
|
}),
|
|
};
|