[][src]Trait i18n_embed::LanguageRequester

pub trait LanguageRequester<'a> {
    fn add_listener(&mut self, localizer: Weak<dyn Localizer<'a>>);
fn poll(&mut self) -> Result<(), I18nEmbedError>;
fn set_language_override(
        &mut self,
        language_override: Option<LanguageIdentifier>
    ) -> Result<(), I18nEmbedError>;
fn requested_languages(&self) -> Vec<LanguageIdentifier>;
fn available_languages(
        &self
    ) -> Result<Vec<LanguageIdentifier>, I18nEmbedError>;
fn current_languages(&self) -> HashMap<&'static str, LanguageIdentifier>; }

A trait used by I18nEmbed to ascertain which languages are being requested.

Required methods

fn add_listener(&mut self, localizer: Weak<dyn Localizer<'a>>)

Add a listener to this LanguageRequester. When the system reports that the currently requested languages has changed, each listener will have its Localizer#select() method called.

If you haven't already selected a language for the localizer you are adding here, you may want to manually call #poll() after adding the listener/s.

fn poll(&mut self) -> Result<(), I18nEmbedError>

Poll the system's currently selected language, and call Localizer#select() on each of the listeners.

fn set_language_override(
    &mut self,
    language_override: Option<LanguageIdentifier>
) -> Result<(), I18nEmbedError>

Override the languages fed to the Localizer listeners during a #poll(). Set this as None to disable the override.

fn requested_languages(&self) -> Vec<LanguageIdentifier>

The currently requested languages.

fn available_languages(&self) -> Result<Vec<LanguageIdentifier>, I18nEmbedError>

The languages reported to be available in the listener Localizers.

fn current_languages(&self) -> HashMap<&'static str, LanguageIdentifier>

The languages currently loaded, keyed by the LanguageLoader::domain().

Loading content...

Implementors

impl<'a> LanguageRequester<'a> for DesktopLanguageRequester<'a>[src]

impl<'a> LanguageRequester<'a> for WebLanguageRequester<'a>[src]

Loading content...