1#[cfg(feature = "unstable-locales")]
2mod 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")]
51pub(crate) use localized::*;
52#[cfg(feature = "unstable-locales")]
53pub use pure_rust_locales::Locale;
54
55#[cfg(not(feature = "unstable-locales"))]
56mod 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"))]
103pub(crate) use unlocalized::*;
104