Struct I18nManager
pub struct I18nManager {
pub current_locale: LanguageIdentifier,
/* private fields */
}Fields§
§current_locale: LanguageIdentifierImplementations§
§impl I18nManager
impl I18nManager
pub fn register_widget_messages()
pub fn register_widget_messages()
Register shared widget labels in every bundled language without replacing an application’s catalogs or its selected language. A host (the shell, an app) calls this once per thread so every toolkit widget it draws follows the desktop’s language; calling it again is free.
pub fn init(locale: &str)
pub fn install(
source_locale: &str,
active_locale: &str,
catalogs: &[(&str, &str)],
) -> Result<(), I18nError>
pub fn install( source_locale: &str, active_locale: &str, catalogs: &[(&str, &str)], ) -> Result<(), I18nError>
Atomically install every bundled Fluent catalog and select an explicit
active locale. Lookup falls back from the active language to
source_locale, then to the key itself.
§Errors
Returns a locale/resource/duplicate error without replacing the live catalog.
pub fn install_system(
source_locale: &str,
catalogs: &[(&str, &str)],
) -> Result<(), I18nError>
pub fn install_system( source_locale: &str, catalogs: &[(&str, &str)], ) -> Result<(), I18nError>
Install catalogs using the process/user locale (LC_ALL,
LC_MESSAGES, LANGUAGE, then LANG) with source-locale fallback.
§Errors
Returns any error documented by Self::install.
pub fn add_resource(locale: &str, ftl_source: String)
pub fn set_locale(locale: &str)
pub fn set_locale_or_source(locale: &str)
pub fn set_locale_or_source(locale: &str)
Select locale, or the source locale when locale is C, POSIX
or does not parse — where Self::set_locale would keep the current
selection.
pub fn has_message(key: &str) -> bool
pub fn has_message(key: &str) -> bool
Whether a catalogue installed on this thread defines key. The shared
toolkit fallback does not count, and pseudo-localisation plays no part.
pub fn current_locale() -> String
pub fn revision() -> u64
pub fn revision() -> u64
Monotonic retained-widget invalidation token. It changes only when a catalog or active locale changes.
pub fn set_pseudo_locale(mode: PseudoLocale)
pub fn set_pseudo_locale(mode: PseudoLocale)
Enable or disable pseudo-localized output. The retained-widget revision changes on an effective transition so text is reshaped and layout can be recomputed without restarting the application.
pub fn pseudo_locale() -> PseudoLocale
pub fn lookup(key: &str, args: Option<&FluentArgs<'_>>) -> String
pub fn lookup(key: &str, args: Option<&FluentArgs<'_>>) -> String
Resolve key in the active locale.
Bundles are consulted in order: the active locale’s own catalogue, then a language-only catalogue of the same language, then other regions of that language in registration order, then the source catalogue — formatted under the active locale’s plural rules, so a count follows the user’s grammar even in fallback copy (a language without CLDR rules formats with English ones, as before) — then the shared toolkit catalogue. The first bundle that formats the message without errors wins; if every candidate reports errors the first best-effort rendering is returned, and a key no bundle defines resolves to itself.
pub fn lookup_plain(key: &str) -> String
pub fn lookup_plain(key: &str) -> String
Resolve a message without variables. This function-shaped form is
convenient in iterator adapters such as Option::map.
pub fn format(key: &str, args: &[(&str, ArgValue)]) -> String
pub fn format(key: &str, args: &[(&str, ArgValue)]) -> String
Resolve key, interpolating named variables into the message’s
placeables (e.g. counter = Count is { $count } with count=5 yields
Count is 5).
Degrades gracefully: a key with no loaded resource falls back to the key itself, and a placeable whose variable is missing is left as the formatter’s best-effort rendering rather than panicking. Passing an empty slice is equivalent to a plain lookup.
Auto Trait Implementations§
impl !Freeze for I18nManager
impl !RefUnwindSafe for I18nManager
impl !Send for I18nManager
impl !Sync for I18nManager
impl Unpin for I18nManager
impl UnsafeUnpin for I18nManager
impl !UnwindSafe for I18nManager
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can
then be further downcast into Box<ConcreteType> where ConcreteType implements Trait.§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be
further downcast into Rc<ConcreteType> where ConcreteType implements Trait.§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more