pub trait Localize<T: AsRef<str> + From<String>> {
// Required methods
fn lookup<K: AsRef<str>>(&self, key: K) -> Option<T>;
fn is_empty(&self) -> bool;
// Provided methods
fn localize<K: AsRef<str>>(&self, key: K) -> Result<T, LocalizationError> { ... }
fn localize_provider<K: AsRef<str>>(
&self,
key: K,
provider: &str,
value: &str,
) -> Result<T, LocalizationError> { ... }
fn localize_query<K: AsRef<str>, S: AsRef<str>, F: Fn(&Vec<(String, Vec<String>)>) -> Option<S>>(
&self,
key: K,
query: F,
) -> Result<T, LocalizationError> { ... }
}
Required Methods§
Sourcefn lookup<K: AsRef<str>>(&self, key: K) -> Option<T>
fn lookup<K: AsRef<str>>(&self, key: K) -> Option<T>
A simple function that looks up raw value associated with the given localization key
fn is_empty(&self) -> bool
Provided Methods§
Sourcefn localize<K: AsRef<str>>(&self, key: K) -> Result<T, LocalizationError>
fn localize<K: AsRef<str>>(&self, key: K) -> Result<T, LocalizationError>
A simple localization function that will return the localized string. It assumes that the key is not complex and does not require any special handling.
Sourcefn localize_provider<K: AsRef<str>>(
&self,
key: K,
provider: &str,
value: &str,
) -> Result<T, LocalizationError>
fn localize_provider<K: AsRef<str>>( &self, key: K, provider: &str, value: &str, ) -> Result<T, LocalizationError>
A localization function that will return the localized string. It assumes a more complex key, resolving $provider$ into the value. More complex keys will not be resolved.
Sourcefn localize_query<K: AsRef<str>, S: AsRef<str>, F: Fn(&Vec<(String, Vec<String>)>) -> Option<S>>(
&self,
key: K,
query: F,
) -> Result<T, LocalizationError>
fn localize_query<K: AsRef<str>, S: AsRef<str>, F: Fn(&Vec<(String, Vec<String>)>) -> Option<S>>( &self, key: K, query: F, ) -> Result<T, LocalizationError>
A localization function that will return the localized string. It allows for complete control over the complex key resolution. Every time a $key$ or [function(arg)] is encountered, the query function will be called. The query function should return the value in accordance to the provided stack, or None if the value is not found. Whether None causes an error or not is up to the implementation.
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.