210 lines
4.2 KiB
JavaScript
210 lines
4.2 KiB
JavaScript
|
import { buildLocalizeFn } from "../../_lib/buildLocalizeFn.mjs";
|
|||
|
|
|||
|
const eraValues = {
|
|||
|
narrow: ["לפנה״ס", "לספירה"],
|
|||
|
abbreviated: ["לפנה״ס", "לספירה"],
|
|||
|
wide: ["לפני הספירה", "לספירה"],
|
|||
|
};
|
|||
|
|
|||
|
const quarterValues = {
|
|||
|
narrow: ["1", "2", "3", "4"],
|
|||
|
abbreviated: ["Q1", "Q2", "Q3", "Q4"],
|
|||
|
wide: ["רבעון 1", "רבעון 2", "רבעון 3", "רבעון 4"],
|
|||
|
};
|
|||
|
|
|||
|
const monthValues = {
|
|||
|
narrow: ["1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12"],
|
|||
|
|
|||
|
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);
|
|||
|
|
|||
|
// We only show words till 10
|
|||
|
if (number <= 0 || number > 10) return String(number);
|
|||
|
|
|||
|
const unit = String(options?.unit);
|
|||
|
|
|||
|
const isFemale = ["year", "hour", "minute", "second"].indexOf(unit) >= 0;
|
|||
|
|
|||
|
const male = [
|
|||
|
"ראשון",
|
|||
|
"שני",
|
|||
|
"שלישי",
|
|||
|
"רביעי",
|
|||
|
"חמישי",
|
|||
|
"שישי",
|
|||
|
"שביעי",
|
|||
|
"שמיני",
|
|||
|
"תשיעי",
|
|||
|
"עשירי",
|
|||
|
];
|
|||
|
|
|||
|
const female = [
|
|||
|
"ראשונה",
|
|||
|
"שנייה",
|
|||
|
"שלישית",
|
|||
|
"רביעית",
|
|||
|
"חמישית",
|
|||
|
"שישית",
|
|||
|
"שביעית",
|
|||
|
"שמינית",
|
|||
|
"תשיעית",
|
|||
|
"עשירית",
|
|||
|
];
|
|||
|
|
|||
|
const index = number - 1;
|
|||
|
return isFemale ? female[index] : male[index];
|
|||
|
};
|
|||
|
|
|||
|
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",
|
|||
|
}),
|
|||
|
};
|