Skip to main content

Crate es_fluent_manager_core

Crate es_fluent_manager_core 

Source
Expand description

§es-fluent-manager-core

Codecov: es-fluent-manager-core crates.io: es-fluent-manager-core

Shared runtime contracts for custom es-fluent manager integrations. The crate provides FluentManager, localization module registration, language-selection policy, typed message keys and arguments, resource plans, and optional embedded-asset support.

Most applications should use a concrete manager:

Custom integrations construct a manager, select a language, and keep typed keys until the final Fluent bundle lookup:

use es_fluent_manager_core::FluentManager;
use unic_langid::langid;

fn main() -> std::io::Result<()> {
    let manager = FluentManager::try_new_with_discovered_modules()
        .map_err(|errors| std::io::Error::other(format!("{errors:?}")))?;
    manager
        .select_language(&langid!("en"))
        .map_err(|error| std::io::Error::other(format!("{error:?}")))?;
    Ok(())
}

Disable the default embedded feature when an asset-backed integration does not need rust-embed.

Re-exports§

pub use asset_localization::I18nModuleDescriptor;
pub use asset_localization::LocaleLoadReport;
pub use asset_localization::ModuleData;
pub use asset_localization::ModuleDomain;
pub use asset_localization::ModuleRegistryError;
pub use asset_localization::ResourceLoadError;
pub use asset_localization::ResourceLoadStatus;
pub use asset_localization::StaticModuleDescriptor;
pub use asset_localization::build_locale_load_report;
pub use asset_localization::clear_locale_resource;
pub use asset_localization::collect_available_languages;
pub use asset_localization::collect_locale_resources;
pub use asset_localization::load_locale_resource_entries;
pub use asset_localization::load_locale_resources;
pub use asset_localization::parse_and_store_locale_resource_content;
pub use asset_localization::parse_fluent_resource_bytes;
pub use asset_localization::parse_fluent_resource_content;
pub use asset_localization::record_failed_locale_resource;
pub use asset_localization::record_locale_resource_error;
pub use asset_localization::record_missing_locale_resource;
pub use asset_localization::store_locale_resource;
pub use asset_localization::validate_module_registry;
pub use embedded_localization::BundleBuildError;
pub use embedded_localization::EmbeddedAssets;
pub use embedded_localization::EmbeddedI18nModule;
pub use fallback::fallback_locales;
pub use fallback::locale_candidates;
pub use fallback::resolve_fallback_language;
pub use fallback::resolve_ready_locale;
pub use localization::DiscoveredRuntimeI18nModules;
pub use localization::FluentArgumentMap;
pub use localization::FluentManager;
pub use localization::I18nModule;
pub use localization::I18nModuleRegistration;
pub use localization::LanguageSelectionPolicy;
pub use localization::LocalizationError;
pub use localization::Localizer;
pub use localization::ModuleDiscoveryError;
pub use localization::ModuleRegistrationKind;
pub use localization::SyncFluentBundle;
pub use localization::add_resources_to_bundle;
pub use localization::build_fluent_args;
pub use localization::build_sync_bundle;
pub use localization::localize_with_bundle;
pub use localization::try_filter_module_registry;

Modules§

asset_localization
Shared module metadata and discovery contracts.
embedded_localization
This module provides types for managing embedded translations.
fallback
localization
This module provides the core types for managing translations.

Structs§

FluentDomain
LocaleRelativeFtlPath
Locale-relative path to a Fluent resource file.
ModuleResourceSpec
Canonical description of a single localized resource file.
ResourceKey
Stable key for a localized resource.
ResourcePlan
Canonical resource plan for a module domain.
StaticFluentArgumentName
Static Fluent argument name emitted by derive macros.
StaticFluentDomain
Static Fluent domain emitted by derive macros.
StaticFluentEntryId
Static Fluent message identifier emitted by derive macros.
StaticFluentMessageKey
A fully scoped Fluent message key emitted by derive macros.
StaticFluentVariantKey
Static Fluent select variant key emitted by derive macros.

Enums§

ResourcePlanError
Errors produced while building a module resource plan.

Functions§

locale_is_ready
Returns true when all required keys are present in the loaded set.
optional_resource_keys_from_plan
Returns optional resource keys from a resource plan.
required_resource_keys_from_plan
Returns required resource keys from a resource plan.
resource_plan_for
Builds the global/default canonical resource plan for a domain.
try_resource_plan_for
Builds the global/default canonical resource plan for a domain.