1 // This file is part of ICU4X. For terms of use, please see the file 2 // called LICENSE at the top level of the ICU4X source tree 3 // (online at: https://github.com/unicode-org/icu4x/blob/main/LICENSE ). 4 5 #![allow(non_snake_case)] 6 7 #[cfg(feature = "alloc")] 8 use crate::preferences::extensions::unicode::enum_keyword; 9 10 #[cfg(feature = "alloc")] 11 enum_keyword!( 12 /// Islamic Calendar sub-type 13 /// 14 /// The list is based on [`CLDR Calendars`](https://github.com/unicode-org/cldr/blob/main/common/bcp47/calendar.xml) 15 IslamicCalendarAlgorithm { 16 /// Islamic calendar, Umm al-Qura 17 Umalqura, 18 /// Hijri calendar, tabular (intercalary years \[2,5,7,10,13,16,18,21,24,26,29] - astronomical epoch) 19 Tbla, 20 /// Islamic calendar, tabular (intercalary years \[2,5,7,10,13,16,18,21,24,26,29] - civil epoch) 21 Civil, 22 /// Hijri calendar, Saudi Arabia sighting 23 Rgsa 24 }); 25 26 #[cfg(feature = "alloc")] 27 enum_keyword!( 28 /// A Unicode Calendar Identifier defines a type of calendar. 29 /// 30 /// This selects calendar-specific data within a locale used for formatting and parsing, 31 /// such as date/time symbols and patterns; it also selects supplemental calendarData used 32 /// for calendrical calculations. The value can affect the computation of the first day of the week. 33 /// 34 /// The valid values are listed in [LDML](https://unicode.org/reports/tr35/#UnicodeCalendarIdentifier). 35 CalendarAlgorithm { 36 /// Thai Buddhist calendar (same as Gregorian except for the year) 37 ("buddhist" => Buddhist), 38 /// Traditional Chinese calendar 39 ("chinese" => Chinese), 40 /// Coptic calendar 41 ("coptic" => Coptic), 42 /// Traditional Korean calendar 43 ("dangi" => Dangi), 44 /// Ethiopic calendar, Amete Alem (epoch approx. 5493 B.C.E) 45 ("ethioaa" => Ethioaa), 46 /// Ethiopic calendar, Amete Mihret (epoch approx, 8 C.E.) 47 ("ethiopic" => Ethiopic), 48 /// Gregorian calendar 49 ("gregory" => Gregory), 50 /// Traditional Hebrew calendar 51 ("hebrew" => Hebrew), 52 /// Indian calendar 53 ("indian" => Indian), 54 /// Islamic calendar 55 ("islamic" => Islamic(IslamicCalendarAlgorithm) { 56 ("umalqura" => Umalqura), 57 ("tbla" => Tbla), 58 ("civil" => Civil), 59 ("rgsa" => Rgsa) 60 }), 61 /// ISO calendar (Gregorian calendar using the ISO 8601 calendar week rules) 62 ("iso8601" => Iso8601), 63 /// Japanese Imperial calendar 64 ("japanese" => Japanese), 65 /// Persian calendar 66 ("persian" => Persian), 67 /// Republic of China calendar 68 ("roc" => Roc) 69 }, "ca"); 70