diff --git a/Userland/Libraries/LibUnicode/Locale.cpp b/Userland/Libraries/LibUnicode/Locale.cpp index d3c9b434e0..b34ef5b83b 100644 --- a/Userland/Libraries/LibUnicode/Locale.cpp +++ b/Userland/Libraries/LibUnicode/Locale.cpp @@ -741,6 +741,31 @@ bool is_locale_available(StringView locale) return locale_from_string(locale).has_value(); } +Style style_from_string(StringView style) +{ + if (style == "narrow"sv) + return Style::Narrow; + if (style == "short"sv) + return Style::Short; + if (style == "long"sv) + return Style::Long; + VERIFY_NOT_REACHED(); +} + +StringView style_to_string(Style style) +{ + switch (style) { + case Style::Narrow: + return "narrow"sv; + case Style::Short: + return "short"sv; + case Style::Long: + return "long"sv; + default: + VERIFY_NOT_REACHED(); + } +} + Optional __attribute__((weak)) locale_from_string(StringView) { return {}; } Optional __attribute__((weak)) language_from_string(StringView) { return {}; } Optional __attribute__((weak)) territory_from_string(StringView) { return {}; } diff --git a/Userland/Libraries/LibUnicode/Locale.h b/Userland/Libraries/LibUnicode/Locale.h index 6e715efe19..9fd15c63d6 100644 --- a/Userland/Libraries/LibUnicode/Locale.h +++ b/Userland/Libraries/LibUnicode/Locale.h @@ -145,6 +145,9 @@ Optional canonicalize_unicode_locale_id(LocaleID&); String const& default_locale(); bool is_locale_available(StringView locale); +Style style_from_string(StringView style); +StringView style_to_string(Style style); + Optional locale_from_string(StringView locale); Optional language_from_string(StringView language); Optional territory_from_string(StringView territory);