1 | #[cfg (feature = "unstable-locales" )] |
2 | mod localized { |
3 | use pure_rust_locales::{locale_match, Locale}; |
4 | |
5 | pub(crate) const fn default_locale() -> Locale { |
6 | Locale::POSIX |
7 | } |
8 | |
9 | pub(crate) const fn short_months(locale: Locale) -> &'static [&'static str] { |
10 | locale_match!(locale => LC_TIME::ABMON) |
11 | } |
12 | |
13 | pub(crate) const fn long_months(locale: Locale) -> &'static [&'static str] { |
14 | locale_match!(locale => LC_TIME::MON) |
15 | } |
16 | |
17 | pub(crate) const fn short_weekdays(locale: Locale) -> &'static [&'static str] { |
18 | locale_match!(locale => LC_TIME::ABDAY) |
19 | } |
20 | |
21 | pub(crate) const fn long_weekdays(locale: Locale) -> &'static [&'static str] { |
22 | locale_match!(locale => LC_TIME::DAY) |
23 | } |
24 | |
25 | pub(crate) const fn am_pm(locale: Locale) -> &'static [&'static str] { |
26 | locale_match!(locale => LC_TIME::AM_PM) |
27 | } |
28 | |
29 | pub(crate) const fn decimal_point(locale: Locale) -> &'static str { |
30 | locale_match!(locale => LC_NUMERIC::DECIMAL_POINT) |
31 | } |
32 | |
33 | pub(crate) const fn d_fmt(locale: Locale) -> &'static str { |
34 | locale_match!(locale => LC_TIME::D_FMT) |
35 | } |
36 | |
37 | pub(crate) const fn d_t_fmt(locale: Locale) -> &'static str { |
38 | locale_match!(locale => LC_TIME::D_T_FMT) |
39 | } |
40 | |
41 | pub(crate) const fn t_fmt(locale: Locale) -> &'static str { |
42 | locale_match!(locale => LC_TIME::T_FMT) |
43 | } |
44 | |
45 | pub(crate) const fn t_fmt_ampm(locale: Locale) -> &'static str { |
46 | locale_match!(locale => LC_TIME::T_FMT_AMPM) |
47 | } |
48 | } |
49 | |
50 | #[cfg (feature = "unstable-locales" )] |
51 | pub(crate) use localized::*; |
52 | #[cfg (feature = "unstable-locales" )] |
53 | pub use pure_rust_locales::Locale; |
54 | |
55 | #[cfg (not(feature = "unstable-locales" ))] |
56 | mod unlocalized { |
57 | #[derive (Copy, Clone, Debug)] |
58 | pub(crate) struct Locale; |
59 | |
60 | pub(crate) const fn default_locale() -> Locale { |
61 | Locale |
62 | } |
63 | |
64 | pub(crate) const fn short_months(_locale: Locale) -> &'static [&'static str] { |
65 | &["Jan" , "Feb" , "Mar" , "Apr" , "May" , "Jun" , "Jul" , "Aug" , "Sep" , "Oct" , "Nov" , "Dec" ] |
66 | } |
67 | |
68 | pub(crate) const fn long_months(_locale: Locale) -> &'static [&'static str] { |
69 | &[ |
70 | "January" , |
71 | "February" , |
72 | "March" , |
73 | "April" , |
74 | "May" , |
75 | "June" , |
76 | "July" , |
77 | "August" , |
78 | "September" , |
79 | "October" , |
80 | "November" , |
81 | "December" , |
82 | ] |
83 | } |
84 | |
85 | pub(crate) const fn short_weekdays(_locale: Locale) -> &'static [&'static str] { |
86 | &["Sun" , "Mon" , "Tue" , "Wed" , "Thu" , "Fri" , "Sat" ] |
87 | } |
88 | |
89 | pub(crate) const fn long_weekdays(_locale: Locale) -> &'static [&'static str] { |
90 | &["Sunday" , "Monday" , "Tuesday" , "Wednesday" , "Thursday" , "Friday" , "Saturday" ] |
91 | } |
92 | |
93 | pub(crate) const fn am_pm(_locale: Locale) -> &'static [&'static str] { |
94 | &["AM" , "PM" ] |
95 | } |
96 | |
97 | pub(crate) const fn decimal_point(_locale: Locale) -> &'static str { |
98 | "." |
99 | } |
100 | } |
101 | |
102 | #[cfg (not(feature = "unstable-locales" ))] |
103 | pub(crate) use unlocalized::*; |
104 | |