#![cfg_attr( all(not(debug_assertions), target_os = "windows"), windows_subsystem = "windows" )] use dioxus_i18n::{prelude::*, t}; use freya::prelude::*; use unic_langid::langid; use std::path::PathBuf; fn main() { launch_with_props(app, "freya + i18n", (300.0, 200.0)); } #[allow(non_snake_case)] fn Body() -> Element { let mut i18n = i18n(); let change_to_english = move |_| i18n.set_language(langid!("en-US")); let change_to_spanish = move |_| i18n.set_language(langid!("es-ES")); rsx!( rect { rect { direction: "horizontal", Button { onclick: change_to_english, label { "English" } } Button { onclick: change_to_spanish, label { "Spanish" } } } label { { t!("hello_world") } } label { { t!("hello", name: "Dioxus") } } } ) } fn app() -> Element { use_init_i18n(|| { I18nConfig::new(langid!("en-US")) .with_locale((langid!("en-US"), include_str!("./data/i18n/en-US.ftl"))) .with_locale(( langid!("es-ES"), PathBuf::from("./examples/data/i18n/es-ES.ftl"), )) }); rsx!(Body {}) }