Trait i18n_embed::LanguageRequester [−][src]
A trait used by I18nAssets to ascertain which languages are being requested.
Required methods
fn add_listener(&mut self, listener: Weak<dyn Localizer>)
[src]
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. Weak
is used so that when the Arc that it references
is dropped, the listener will also be removed next time this
requester is polled/updates.
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 add_listener_ref(&mut self, listener: &'a dyn Localizer)
[src]
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. As
opposed to LanguageRequester::add_listener(), this listener
will not be removed.
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>
[src]
Poll the system’s currently selected language, and call Localizer#select() on each of the listeners.
NOTE: Support for this across systems currently varies, it may not change when the system requested language changes during runtime without restarting your application. In the future some platforms may also gain support for automatic triggering when the requested display language changes.
fn set_language_override(
&mut self,
language_override: Option<LanguageIdentifier>
) -> Result<(), I18nEmbedError>
[src]
&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>
[src]
The currently requested languages.
fn available_languages(&self) -> Result<Vec<LanguageIdentifier>, I18nEmbedError>
[src]
The languages reported to be available in the listener Localizers.
fn current_languages(&self) -> HashMap<String, LanguageIdentifier>
[src]
The languages currently loaded, keyed by the LanguageLoader::domain().
Implementors
impl<'a> LanguageRequester<'a> for DesktopLanguageRequester<'a>
[src]
fn requested_languages(&self) -> Vec<LanguageIdentifier>
[src]
fn add_listener(&mut self, listener: Weak<dyn Localizer>)
[src]
fn add_listener_ref(&mut self, listener: &'a dyn Localizer)
[src]
fn set_language_override(
&mut self,
language_override: Option<LanguageIdentifier>
) -> Result<(), I18nEmbedError>
[src]
&mut self,
language_override: Option<LanguageIdentifier>
) -> Result<(), I18nEmbedError>
fn poll(&mut self) -> Result<(), I18nEmbedError>
[src]
fn available_languages(&self) -> Result<Vec<LanguageIdentifier>, I18nEmbedError>
[src]
fn current_languages(&self) -> HashMap<String, LanguageIdentifier>
[src]
impl<'a> LanguageRequester<'a> for WebLanguageRequester<'a>
[src]
fn requested_languages(&self) -> Vec<LanguageIdentifier>
[src]
fn add_listener(&mut self, listener: Weak<dyn Localizer>)
[src]
fn add_listener_ref(&mut self, listener: &'a dyn Localizer)
[src]
fn poll(&mut self) -> Result<(), I18nEmbedError>
[src]
fn set_language_override(
&mut self,
language_override: Option<LanguageIdentifier>
) -> Result<(), I18nEmbedError>
[src]
&mut self,
language_override: Option<LanguageIdentifier>
) -> Result<(), I18nEmbedError>