Trait i18n_embed::LanguageLoader [−][src]
pub trait LanguageLoader { fn fallback_language(&self) -> &LanguageIdentifier; fn domain(&self) -> &str; fn language_file_name(&self) -> String; fn current_language(&self) -> LanguageIdentifier; fn load_languages(
&self,
i18n_assets: &dyn I18nAssets,
language_ids: &[&LanguageIdentifier]
) -> Result<(), I18nEmbedError>; fn language_file<'a>(
&self,
language_id: &LanguageIdentifier,
i18n_assets: &'a dyn I18nAssets
) -> (String, Option<Cow<'a, [u8]>>) { ... } fn available_languages(
&self,
i18n_assets: &dyn I18nAssets
) -> Result<Vec<LanguageIdentifier>, I18nEmbedError> { ... } fn load_fallback_language(
&self,
i18n_assets: &dyn I18nAssets
) -> Result<(), I18nEmbedError> { ... } }
Expand description
A trait used by I18nAssets to load a language file for a specific rust module using a specific localization system. The trait is designed such that the loader could be swapped during runtime, or contain state if required.
Required methods
fn fallback_language(&self) -> &LanguageIdentifier
[src]
fn fallback_language(&self) -> &LanguageIdentifier
[src]The fallback language for the module this loader is responsible for.
fn language_file_name(&self) -> String
[src]
fn language_file_name(&self) -> String
[src]The language file name to use for this loader’s domain.
fn current_language(&self) -> LanguageIdentifier
[src]
fn current_language(&self) -> LanguageIdentifier
[src]Get the language which is currently loaded for this loader.
fn load_languages(
&self,
i18n_assets: &dyn I18nAssets,
language_ids: &[&LanguageIdentifier]
) -> Result<(), I18nEmbedError>
[src]
fn load_languages(
&self,
i18n_assets: &dyn I18nAssets,
language_ids: &[&LanguageIdentifier]
) -> Result<(), I18nEmbedError>
[src]Load the languages language_ids
using the resources packaged
in the i18n_embed
in order of fallback preference. This also
sets the LanguageLoader::current_language() to the first in
the language_ids
slice. You can use select() to determine
which fallbacks are actually available for an arbitrary slice
of preferences.
Provided methods
The computed path to the language file, and Cow
of the file
itself if it exists.
fn available_languages(
&self,
i18n_assets: &dyn I18nAssets
) -> Result<Vec<LanguageIdentifier>, I18nEmbedError>
[src]
fn available_languages(
&self,
i18n_assets: &dyn I18nAssets
) -> Result<Vec<LanguageIdentifier>, I18nEmbedError>
[src]Calculate the languages which are available to be loaded.
fn load_fallback_language(
&self,
i18n_assets: &dyn I18nAssets
) -> Result<(), I18nEmbedError>
[src]
fn load_fallback_language(
&self,
i18n_assets: &dyn I18nAssets
) -> Result<(), I18nEmbedError>
[src]Load the LanguageLoader::fallback_language().
Implementors
The fallback language for the module this loader is responsible for.
The language file name to use for this loader.
Get the language which is currently loaded for this loader.
fn load_languages(
&self,
i18n_assets: &dyn I18nAssets,
language_ids: &[&LanguageIdentifier]
) -> Result<(), I18nEmbedError>
[src]
fn load_languages(
&self,
i18n_assets: &dyn I18nAssets,
language_ids: &[&LanguageIdentifier]
) -> Result<(), I18nEmbedError>
[src]Load the languages language_ids
using the resources packaged
in the i18n_assets
in order of fallback preference. This
also sets the LanguageLoader::current_language() to the
first in the language_ids
slice. You can use
select() to determine which fallbacks are
actually available for an arbitrary slice of preferences.
The fallback language for the module this loader is responsible for.
The domain for the translation that this loader is associated with.
The language file name to use for this loader’s domain.
Get the language which is currently loaded for this loader.
fn load_languages(
&self,
i18n_assets: &dyn I18nAssets,
language_ids: &[&LanguageIdentifier]
) -> Result<(), I18nEmbedError>
[src]
fn load_languages(
&self,
i18n_assets: &dyn I18nAssets,
language_ids: &[&LanguageIdentifier]
) -> Result<(), I18nEmbedError>
[src]Load the languages language_ids
using the resources packaged
in the i18n_assets
in order of fallback preference. This
also sets the LanguageLoader::current_language() to the
first in the language_ids
slice. You can use
select() to determine which fallbacks are
actually available for an arbitrary slice of preferences.
Note: Gettext doesn’t support loading multiple languages as multiple fallbacks. We only load the first of the requested languages, and the fallback is the src language.