169 lines
3.6 KiB
JavaScript
169 lines
3.6 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"],
|
||
};
|
||
|
||
// 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: ["ژ", "ف", "م", "آ", "م", "ج", "ج", "آ", "س", "ا", "ن", "د"],
|
||
abbreviated: [
|
||
"ژانـ",
|
||
"فور",
|
||
"مارس",
|
||
"آپر",
|
||
"می",
|
||
"جون",
|
||
"جولـ",
|
||
"آگو",
|
||
"سپتـ",
|
||
"اکتـ",
|
||
"نوامـ",
|
||
"دسامـ",
|
||
],
|
||
|
||
wide: [
|
||
"ژانویه",
|
||
"فوریه",
|
||
"مارس",
|
||
"آپریل",
|
||
"می",
|
||
"جون",
|
||
"جولای",
|
||
"آگوست",
|
||
"سپتامبر",
|
||
"اکتبر",
|
||
"نوامبر",
|
||
"دسامبر",
|
||
],
|
||
};
|
||
|
||
const dayValues = {
|
||
narrow: ["ی", "د", "س", "چ", "پ", "ج", "ش"],
|
||
short: ["1ش", "2ش", "3ش", "4ش", "5ش", "ج", "ش"],
|
||
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) => {
|
||
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",
|
||
}),
|
||
};
|