import { buildLocalizeFn } from "../../_lib/buildLocalizeFn.mjs"; const eraValues = { narrow: ["e.ə", "b.e"], abbreviated: ["e.ə", "b.e"], wide: ["eramızdan əvvəl", "bizim era"], }; const quarterValues = { narrow: ["1", "2", "3", "4"], abbreviated: ["K1", "K2", "K3", "K4"], wide: ["1ci kvartal", "2ci kvartal", "3cü kvartal", "4cü kvartal"], }; const monthValues = { narrow: ["Y", "F", "M", "A", "M", "İ", "İ", "A", "S", "O", "N", "D"], abbreviated: [ "Yan", "Fev", "Mar", "Apr", "May", "İyun", "İyul", "Avq", "Sen", "Okt", "Noy", "Dek", ], wide: [ "Yanvar", "Fevral", "Mart", "Aprel", "May", "İyun", "İyul", "Avqust", "Sentyabr", "Oktyabr", "Noyabr", "Dekabr", ], }; const dayValues = { narrow: ["B.", "B.e", "Ç.a", "Ç.", "C.a", "C.", "Ş."], short: ["B.", "B.e", "Ç.a", "Ç.", "C.a", "C.", "Ş."], abbreviated: ["Baz", "Baz.e", "Çər.a", "Çər", "Cüm.a", "Cüm", "Şə"], wide: [ "Bazar", "Bazar ertəsi", "Çərşənbə axşamı", "Çərşənbə", "Cümə axşamı", "Cümə", "Şənbə", ], }; const dayPeriodValues = { narrow: { am: "am", pm: "pm", midnight: "gecəyarı", noon: "gün", morning: "səhər", afternoon: "gündüz", evening: "axşam", night: "gecə", }, abbreviated: { am: "AM", pm: "PM", midnight: "gecəyarı", noon: "gün", morning: "səhər", afternoon: "gündüz", evening: "axşam", night: "gecə", }, wide: { am: "a.m.", pm: "p.m.", midnight: "gecəyarı", noon: "gün", morning: "səhər", afternoon: "gündüz", evening: "axşam", night: "gecə", }, }; const formattingDayPeriodValues = { narrow: { am: "a", pm: "p", midnight: "gecəyarı", noon: "gün", morning: "səhər", afternoon: "gündüz", evening: "axşam", night: "gecə", }, abbreviated: { am: "AM", pm: "PM", midnight: "gecəyarı", noon: "gün", morning: "səhər", afternoon: "gündüz", evening: "axşam", night: "gecə", }, wide: { am: "a.m.", pm: "p.m.", midnight: "gecəyarı", noon: "gün", morning: "səhər", afternoon: "gündüz", evening: "axşam", night: "gecə", }, }; const suffixes = { 1: "-inci", 5: "-inci", 8: "-inci", 70: "-inci", 80: "-inci", 2: "-nci", 7: "-nci", 20: "-nci", 50: "-nci", 3: "-üncü", 4: "-üncü", 100: "-üncü", 6: "-ncı", 9: "-uncu", 10: "-uncu", 30: "-uncu", 60: "-ıncı", 90: "-ıncı", }; const getSuffix = (number) => { if (number === 0) { // special case for zero return number + "-ıncı"; } const a = number % 10; const b = (number % 100) - a; const c = number >= 100 ? 100 : null; if (suffixes[a]) { return suffixes[a]; } else if (suffixes[b]) { return suffixes[b]; } else if (c !== null) { return suffixes[c]; } return ""; }; const ordinalNumber = (dirtyNumber, _options) => { const number = Number(dirtyNumber); const suffix = getSuffix(number); return number + suffix; }; 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", }), };