pub struct LocaleDisplayNamesFormatter { /* private fields */ }
Expand description
Format a locale as a display string.
§Example
use icu::experimental::displaynames::{
DisplayNamesOptions, LocaleDisplayNamesFormatter,
};
use icu::locale::locale;
let locale = locale!("en-001").into();
let options: DisplayNamesOptions = Default::default();
let display_name = LocaleDisplayNamesFormatter::try_new(locale, options)
.expect("Data should load successfully");
assert_eq!(display_name.of(&locale!("en-GB")), "British English");
assert_eq!(display_name.of(&locale!("en")), "English");
assert_eq!(display_name.of(&locale!("en-MX")), "English (Mexico)");
assert_eq!(display_name.of(&locale!("xx-YY")), "xx (YY)");
assert_eq!(display_name.of(&locale!("xx")), "xx");
Implementations§
source§impl LocaleDisplayNamesFormatter
impl LocaleDisplayNamesFormatter
sourcepub fn try_new(
prefs: DisplayNamesPreferences,
options: DisplayNamesOptions,
) -> Result<Self, DataError>
pub fn try_new( prefs: DisplayNamesPreferences, options: DisplayNamesOptions, ) -> Result<Self, DataError>
Creates a new LocaleDisplayNamesFormatter
from locale data and an options bag using compiled data.
✨ Enabled with the compiled_data
Cargo feature.
sourcepub fn try_new_with_any_provider(
provider: &(impl AnyProvider + ?Sized),
prefs: DisplayNamesPreferences,
options: DisplayNamesOptions,
) -> Result<Self, DataError>
pub fn try_new_with_any_provider( provider: &(impl AnyProvider + ?Sized), prefs: DisplayNamesPreferences, options: DisplayNamesOptions, ) -> Result<Self, DataError>
A version of [Self :: try_new
] that uses custom data provided by an AnyProvider
.
sourcepub fn try_new_with_buffer_provider(
provider: &(impl BufferProvider + ?Sized),
prefs: DisplayNamesPreferences,
options: DisplayNamesOptions,
) -> Result<Self, DataError>
pub fn try_new_with_buffer_provider( provider: &(impl BufferProvider + ?Sized), prefs: DisplayNamesPreferences, options: DisplayNamesOptions, ) -> Result<Self, DataError>
A version of [Self :: try_new
] that uses custom data provided by a BufferProvider
.
✨ Enabled with the serde
feature.
sourcepub fn try_new_unstable<D>(
provider: &D,
prefs: DisplayNamesPreferences,
options: DisplayNamesOptions,
) -> Result<Self, DataError>where
D: DataProvider<LocaleDisplayNamesV1Marker> + DataProvider<LanguageDisplayNamesV1Marker> + DataProvider<ScriptDisplayNamesV1Marker> + DataProvider<RegionDisplayNamesV1Marker> + DataProvider<VariantDisplayNamesV1Marker> + ?Sized,
pub fn try_new_unstable<D>(
provider: &D,
prefs: DisplayNamesPreferences,
options: DisplayNamesOptions,
) -> Result<Self, DataError>where
D: DataProvider<LocaleDisplayNamesV1Marker> + DataProvider<LanguageDisplayNamesV1Marker> + DataProvider<ScriptDisplayNamesV1Marker> + DataProvider<RegionDisplayNamesV1Marker> + DataProvider<VariantDisplayNamesV1Marker> + ?Sized,
A version of Self::try_new
that uses custom data provided by a DataProvider
.
⚠️ The bounds on provider may change over time, including in SemVer minor releases.
sourcepub fn of<'a, 'b: 'a, 'c: 'a>(&'b self, locale: &'c Locale) -> Cow<'a, str>
pub fn of<'a, 'b: 'a, 'c: 'a>(&'b self, locale: &'c Locale) -> Cow<'a, str>
Returns the display name of a locale. This implementation is based on the algorithm described in https://www.unicode.org/reports/tr35/tr35-general.html#locale_display_name_algorithm
Auto Trait Implementations§
impl Freeze for LocaleDisplayNamesFormatter
impl RefUnwindSafe for LocaleDisplayNamesFormatter
impl Send for LocaleDisplayNamesFormatter
impl Sync for LocaleDisplayNamesFormatter
impl Unpin for LocaleDisplayNamesFormatter
impl UnwindSafe for LocaleDisplayNamesFormatter
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
Mutably borrows from an owned value. Read more
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> ⓘ
Converts
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> ⓘ
Converts
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