add in locale-maxima
This commit is contained in:
parent
c758d0aecb
commit
d16bc14ffc
9
Cargo.lock
generated
9
Cargo.lock
generated
|
@ -136,6 +136,13 @@ dependencies = [
|
|||
"table",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "locale-maxima"
|
||||
version = "0.1.0"
|
||||
dependencies = [
|
||||
"versioning",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "log"
|
||||
version = "0.4.17"
|
||||
|
@ -318,7 +325,7 @@ checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f"
|
|||
|
||||
[[package]]
|
||||
name = "versioning"
|
||||
version = "0.1.2"
|
||||
version = "0.1.3"
|
||||
dependencies = [
|
||||
"serde",
|
||||
]
|
||||
|
|
|
@ -9,6 +9,7 @@ members = [
|
|||
|
||||
"libraries/able_graphics_library",
|
||||
"libraries/clparse",
|
||||
"libraries/locale-maxima",
|
||||
"libraries/tar",
|
||||
"libraries/trash_manifest",
|
||||
"libraries/versioning",
|
||||
|
|
9
libraries/locale-maxima/Cargo.toml
Normal file
9
libraries/locale-maxima/Cargo.toml
Normal file
|
@ -0,0 +1,9 @@
|
|||
[package]
|
||||
name = "locale-maxima"
|
||||
version = "0.1.0"
|
||||
edition = "2021"
|
||||
|
||||
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
|
||||
|
||||
[dependencies]
|
||||
versioning = { path = "../versioning" }
|
33
libraries/locale-maxima/src/lib.rs
Normal file
33
libraries/locale-maxima/src/lib.rs
Normal file
|
@ -0,0 +1,33 @@
|
|||
use std::collections::HashMap;
|
||||
|
||||
use versioning::Version;
|
||||
pub const VERSION: Version = Version::new(0, 1, 1);
|
||||
|
||||
pub struct Locale {
|
||||
pub language: String,
|
||||
pub region: String,
|
||||
pub time_zone: String,
|
||||
}
|
||||
|
||||
pub struct TranslationFile {
|
||||
pub strings: HashMap<String, String>,
|
||||
}
|
||||
impl TranslationFile {
|
||||
pub fn new() -> Self {
|
||||
panic!("Translations are not yet supported");
|
||||
}
|
||||
|
||||
pub fn translate(&self, key: &str) -> Result<String, TranslationError> {
|
||||
let maybe_translated_string = self.strings.get(key);
|
||||
|
||||
use crate::TranslationError::*;
|
||||
match maybe_translated_string {
|
||||
Some(translated_string) => Ok(translated_string.to_string()),
|
||||
None => Err(NoTranslationFound),
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
pub enum TranslationError {
|
||||
NoTranslationFound,
|
||||
}
|
Loading…
Reference in a new issue