mirror of https://codeberg.org/topola/topola.git
feat(egui,wasm): set `lang` attribute to current language
This commit is contained in:
parent
98d237270d
commit
20e682243d
|
|
@ -125,6 +125,25 @@ impl App {
|
|||
|
||||
ControlFlow::Break(())
|
||||
}
|
||||
|
||||
#[cfg(not(target_arch = "wasm32"))]
|
||||
fn update_locale(&mut self) {
|
||||
// I don't know any equivalent of changing the lang property in desktop.
|
||||
}
|
||||
|
||||
#[cfg(target_arch = "wasm32")]
|
||||
fn update_locale(&mut self) {
|
||||
use eframe::wasm_bindgen::JsCast;
|
||||
|
||||
let document_element = eframe::web_sys::window()
|
||||
.expect("No window")
|
||||
.document()
|
||||
.expect("No document")
|
||||
.document_element()
|
||||
.expect("No document element");
|
||||
|
||||
document_element.set_attribute("lang", &self.translator.langid().to_string());
|
||||
}
|
||||
}
|
||||
|
||||
impl eframe::App for App {
|
||||
|
|
@ -172,6 +191,8 @@ impl eframe::App for App {
|
|||
self.viewport
|
||||
.update(ctx, &self.menu_bar, self.maybe_workspace.as_mut());
|
||||
|
||||
self.update_locale();
|
||||
|
||||
if ctx.input(|i| i.key_pressed(egui::Key::Escape)) {
|
||||
ctx.send_viewport_cmd(egui::ViewportCommand::Close);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,3 +1,4 @@
|
|||
use derive_getters::Getters;
|
||||
use fluent_templates::{static_loader, Loader};
|
||||
use serde::{Deserialize, Serialize};
|
||||
use unic_langid::LanguageIdentifier;
|
||||
|
|
@ -9,7 +10,7 @@ static_loader! {
|
|||
};
|
||||
}
|
||||
|
||||
#[derive(Debug, Serialize, Deserialize)]
|
||||
#[derive(Debug, Serialize, Deserialize, Getters)]
|
||||
pub struct Translator {
|
||||
langid: LanguageIdentifier,
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue