js β’ Lines: 183import { buildLocalizeFn } from "../../_lib/buildLocalizeFn.js";
const eraValues = {
narrow: ["ε", "ε
¬ε
"],
abbreviated: ["ε", "ε
¬ε
"],
wide: ["ε
¬ε
ε", "ε
¬ε
"],
};
const quarterValues = {
narrow: ["1", "2", "3", "4"],
abbreviated: ["第δΈε£", "第δΊε£", "第δΈε£", "第εε£"],
wide: ["第δΈε£εΊ¦", "第δΊε£εΊ¦", "第δΈε£εΊ¦", "第εε£εΊ¦"],
};
const monthValues = {
narrow: [
"δΈ",
"δΊ",
"δΈ",
"ε",
"δΊ",
"ε
",
"δΈ",
"ε
«",
"δΉ",
"ε",
"εδΈ",
"εδΊ",
],
abbreviated: [
"1ζ",
"2ζ",
"3ζ",
"4ζ",
"5ζ",
"6ζ",
"7ζ",
"8ζ",
"9ζ",
"10ζ",
"11ζ",
"12ζ",
],
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);
switch (options?.unit) {
case "date":
return number.toString() + "ζ₯";
case "hour":
return number.toString() + "ζΆ";
case "minute":
return number.toString() + "ε";
case "second":
return number.toString() + "η§";
default:
return "第 " + number.toString();
}
};
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",
}),
};