dioxus_std/i18n/
use_init_i18n.rs1use dioxus::prelude::*;
2use unic_langid::LanguageIdentifier;
3
4use super::use_i18n::Language;
5
6pub struct UseInitI18Data {
7 pub(crate) fallback_language: LanguageIdentifier,
8 pub(crate) languages: Vec<Language>,
9}
10
11pub fn use_init_i18n(
12 selected_language: LanguageIdentifier,
13 fallback_language: LanguageIdentifier,
14 languages: impl FnOnce() -> Vec<Language>,
15) {
16 let selected_language = use_signal(|| selected_language);
17 let init_i18_data = use_signal(|| UseInitI18Data {
18 languages: languages(),
19 fallback_language,
20 });
21
22 provide_context(selected_language);
23 provide_context(init_i18_data);
24}