From f109454cb7a9f77648d09da6d0b2b5cdf82d76fc Mon Sep 17 00:00:00 2001 From: Observer KRypt0n_ Date: Sat, 4 Mar 2023 23:24:37 +0200 Subject: [PATCH] fix(i18n): forced `format_lang` to return regions for language codes Standard German language code is `de` but game API requires it to be `de-de`. With this change formatted locales always will have region so always will fit game requirements --- src/i18n.rs | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/src/i18n.rs b/src/i18n.rs index 2263407..48152e8 100644 --- a/src/i18n.rs +++ b/src/i18n.rs @@ -54,14 +54,10 @@ pub fn get_default_lang() -> LanguageIdentifier { } pub fn format_lang(lang: &LanguageIdentifier) -> String { - let mut formatted = lang.language.to_string(); - - if let Some(region) = lang.region { - formatted += "-"; - formatted += ®ion.to_string().to_ascii_lowercase(); - } - - formatted + format!("{}-{}", lang.language, match lang.region { + Some(region) => region.to_string().to_ascii_lowercase(), + None => lang.language.to_string() + }) } /// Get translated message by key