es_fluent_manager_core/
asset_localization.rs1use unic_langid::LanguageIdentifier;
4
5#[derive(Debug)]
6pub struct AssetModuleData {
7 pub name: &'static str,
9 pub domain: &'static str,
11 pub supported_languages: &'static [LanguageIdentifier],
13 pub namespaces: &'static [&'static str],
16}
17
18pub trait I18nAssetModule: Send + Sync {
19 fn data(&self) -> &'static AssetModuleData;
21}
22
23pub struct AssetI18nModule {
24 data: &'static AssetModuleData,
25}
26
27impl AssetI18nModule {
28 pub const fn new(data: &'static AssetModuleData) -> Self {
30 Self { data }
31 }
32}
33
34impl I18nAssetModule for AssetI18nModule {
35 fn data(&self) -> &'static AssetModuleData {
36 self.data
37 }
38}
39
40inventory::collect!(&'static dyn I18nAssetModule);