Files
rezervovator/src/locales/mod.rs
T

36 lines
807 B
Rust
Raw Normal View History

use std::ops::Deref;
2023-08-18 12:22:23 +02:00
use leptos::*;
use crate::locales::catalogues::get_dictionary;
mod catalogues;
2023-09-18 13:10:59 +02:00
#[derive(Debug, Clone)]
pub struct Locales(pub Vec<Option<String>>);
pub fn init_locales() {
#[cfg(not(feature = "ssr"))]
{
let loc = Locales(
window()
.navigator()
.languages()
.into_iter()
.map(|val| val.as_string())
.collect::<Vec<_>>(),
);
provide_context(loc);
}
}
2023-09-15 13:55:01 +02:00
pub fn trl(phrase: &str) -> impl Fn() -> String {
2023-08-18 12:22:23 +02:00
let mut translated = phrase;
2023-09-15 13:55:01 +02:00
if let Some(dict) = get_dictionary() {
if let Some(p) = dict.get(phrase.to_string().as_str()) {
2023-08-18 12:22:23 +02:00
translated = *p;
}
}
let out = translated.to_string();
move || { out.clone() }
2023-08-18 12:22:23 +02:00
}