use i18n_embed::{
fluent::{fluent_language_loader, FluentLanguageLoader},
unic_langid::LanguageIdentifier,
};
use lazy_static::lazy_static;
use rust_embed::RustEmbed;
#[derive(RustEmbed)]
#[folder = "i18n"]
struct Localizations;
lazy_static! {
pub(crate) static ref LANGUAGE_LOADER: FluentLanguageLoader = fluent_language_loader!();
}
pub(crate) fn load_languages(
requested_languages: &[LanguageIdentifier],
) -> Vec<LanguageIdentifier> {
let supported_languages =
i18n_embed::select(&*LANGUAGE_LOADER, &Localizations, requested_languages).unwrap();
LANGUAGE_LOADER.set_use_isolating(false);
supported_languages
}