diff options
Diffstat (limited to 'base/src/locale.rs')
-rw-r--r-- | base/src/locale.rs | 34 |
1 files changed, 0 insertions, 34 deletions
diff --git a/base/src/locale.rs b/base/src/locale.rs deleted file mode 100644 index e7f1592..0000000 --- a/base/src/locale.rs +++ /dev/null @@ -1,34 +0,0 @@ -use std::{borrow::Cow, collections::HashMap, sync::LazyLock}; - -#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)] -pub enum Language { - English, - German, -} - -static LANG_TABLES: LazyLock<HashMap<Language, HashMap<&'static str, &'static str>>> = - LazyLock::new(|| { - let mut k = HashMap::new(); - for (lang, source) in [ - (Language::English, include_str!("../../locale/en.ini")), - (Language::German, include_str!("../../locale/de.ini")), - ] { - let tr_map = source - .lines() - .filter_map(|line| { - let (key, value) = line.split_once("=")?; - Some((key.trim(), value.trim())) - }) - .collect::<HashMap<&'static str, &'static str>>(); - k.insert(lang, tr_map); - } - k - }); - -pub fn tr(lang: Language, key: &str) -> Cow<'static, str> { - let tr_map = LANG_TABLES.get(&lang).unwrap(); - match tr_map.get(key) { - Some(value) => Cow::Borrowed(value), - None => Cow::Owned(format!("TR[{key}]")), - } -} |