pub struct GettextLanguageLoader { /* private fields */ }
Expand description

LanguageLoader implementation for the gettext localization system.

⚠️ This API requires the following crate features to be activated: gettext-system.

Implementations§

source§

impl GettextLanguageLoader

source

pub fn new(module: &'static str, fallback_language: LanguageIdentifier) -> Self

Create a new GettextLanguageLoader.

Example
use i18n_embed::gettext::GettextLanguageLoader;

GettextLanguageLoader::new(module_path!(), "en".parse().unwrap());

Trait Implementations§

source§

impl Debug for GettextLanguageLoader

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl LanguageLoader for GettextLanguageLoader

source§

fn fallback_language(&self) -> &LanguageIdentifier

The fallback language for the module this loader is responsible for.

source§

fn domain(&self) -> &'static str

The domain for the translation that this loader is associated with.

source§

fn language_file_name(&self) -> String

The language file name to use for this loader’s domain.

source§

fn current_language(&self) -> LanguageIdentifier

Get the language which is currently loaded for this loader.

source§

fn load_languages( &self, i18n_assets: &dyn I18nAssets, language_ids: &[&LanguageIdentifier] ) -> Result<(), I18nEmbedError>

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.

source§

fn language_file<'a>( &self, language_id: &LanguageIdentifier, i18n_assets: &'a dyn I18nAssets ) -> (String, Option<Cow<'a, [u8]>>)

The computed path to the language file, and Cow of the file itself if it exists.
source§

fn available_languages( &self, i18n_assets: &dyn I18nAssets ) -> Result<Vec<LanguageIdentifier>, I18nEmbedError>

Calculate the languages which are available to be loaded.
source§

fn load_available_languages( &self, i18n_assets: &dyn I18nAssets ) -> Result<(), I18nEmbedError>

Load all available languages with LanguageLoader::load_languages().
source§

fn load_fallback_language( &self, i18n_assets: &dyn I18nAssets ) -> Result<(), I18nEmbedError>

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for Twhere U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T> Same for T

§

type Output = T

Should always be Self
source§

impl<T, U> TryFrom<U> for Twhere U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for Twhere U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.