diff --git a/wgui/src/i18n.rs b/wgui/src/i18n.rs index e2384bef..8fcad26b 100644 --- a/wgui/src/i18n.rs +++ b/wgui/src/i18n.rs @@ -123,13 +123,7 @@ impl Locale { // check if forced language is set if let Some(forced_lang) = lang_provider.forced_lang() { - let matched = - Self::match_locale(default_lang, forced_lang, None, lang_provider.langs_list().all_locale()).to_string(); - return Self { - lang: forced_lang.to_string(), - region: None, - matched, - }; + return Self::parse_str(lang_provider.langs_list(), forced_lang); } // fallback to environment variables diff --git a/wlx-common/src/locale.rs b/wlx-common/src/locale.rs index 7679c47b..66e31fb1 100644 --- a/wlx-common/src/locale.rs +++ b/wlx-common/src/locale.rs @@ -9,6 +9,8 @@ use crate::config::GeneralConfig; pub enum Language { #[strum(props(Text = "English"))] English, + #[strum(props(Text = "British"))] + British, #[strum(props(Text = "Polski"))] Polish, #[strum(props(Text = "日本語"))] @@ -26,13 +28,14 @@ pub enum Language { impl Language { pub const fn code(&self) -> &'static str { match self { - Language::English => "en", - Language::Polish => "pl", - Language::Japanese => "ja", - Language::German => "de", - Language::Italian => "it", + Language::English => "en_US", + Language::British => "en_GB", + Language::Polish => "pl_PL", + Language::Japanese => "ja_JP", + Language::German => "de_DE", + Language::Italian => "it_IT", Language::ChineseSimplified => "zh_CN", - Language::Spanish => "es", + Language::Spanish => "es_ES", } }