timepiece/node_modules/date-fns/locale/hi/_lib/localize.mjs

228 lines
5.4 KiB
JavaScript
Raw Normal View History

2024-05-14 14:54:12 +00:00
import { buildLocalizeFn } from "../../_lib/buildLocalizeFn.mjs";
const numberValues = {
locale: {
1: "१",
2: "२",
3: "३",
4: "४",
5: "५",
6: "६",
7: "७",
8: "८",
9: "९",
0: "",
},
number: {
"१": "1",
"२": "2",
"३": "3",
"४": "4",
"५": "5",
"६": "6",
"७": "7",
"८": "8",
"९": "9",
"": "0",
},
};
// CLDR #1585 - #1592
const eraValues = {
narrow: ["ईसा-पूर्व", "ईस्वी"],
abbreviated: ["ईसा-पूर्व", "ईस्वी"],
wide: ["ईसा-पूर्व", "ईसवी सन"],
};
// CLDR #1593 - #1616
const quarterValues = {
narrow: ["1", "2", "3", "4"],
abbreviated: ["ति1", "ति2", "ति3", "ति4"],
wide: ["पहली तिमाही", "दूसरी तिमाही", "तीसरी तिमाही", "चौथी तिमाही"],
};
// 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.
// https://www.unicode.org/cldr/charts/32/summary/hi.html
// CLDR #1617 - #1688
const monthValues = {
narrow: [
"ज",
"फ़",
"मा",
"अ",
"मई",
"जू",
"जु",
"अग",
"सि",
"अक्टू",
"न",
"दि",
],
abbreviated: [
"जन",
"फ़र",
"मार्च",
"अप्रैल",
"मई",
"जून",
"जुल",
"अग",
"सित",
"अक्टू",
"नव",
"दिस",
],
wide: [
"जनवरी",
"फ़रवरी",
"मार्च",
"अप्रैल",
"मई",
"जून",
"जुलाई",
"अगस्त",
"सितंबर",
"अक्टूबर",
"नवंबर",
"दिसंबर",
],
};
// CLDR #1689 - #1744
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);
return numberToLocale(number);
};
export function localeToNumber(locale) {
const enNumber = locale.toString().replace(/[१२३४५६७८९०]/g, function (match) {
return numberValues.number[match];
});
return Number(enNumber);
}
export function numberToLocale(enNumber) {
return enNumber.toString().replace(/\d/g, function (match) {
return numberValues.locale[match];
});
}
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",
}),
};