123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206 |
- import { buildLocalizeFn } from "../../_lib/buildLocalizeFn.js";
- 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",
- }),
- };
|