/// This API is experimental and may experience breaking changes outside major releases. #[diplomat::opaque] #[diplomat::rust_link(icu::experimental::displaynames::LocaleDisplayNamesFormatter, Struct)] pubstruct LocaleDisplayNamesFormatter( pub icu_experimental::displaynames::LocaleDisplayNamesFormatter,
);
/// This API is experimental and may experience breaking changes outside major releases. #[diplomat::opaque] #[diplomat::rust_link(icu::experimental::displaynames::RegionDisplayNames, Struct)] pubstruct RegionDisplayNames(pub icu_experimental::displaynames::RegionDisplayNames);
/// This API is experimental and may experience breaking changes outside major releases. #[diplomat::rust_link(icu::experimental::displaynames::DisplayNamesOptions, Struct)] #[diplomat::attr(supports = non_exhaustive_structs, rename = "DisplayNamesOptions")] pubstruct DisplayNamesOptionsV1 { /// The optional formatting style to use for display name. pub style: DiplomatOption<DisplayNamesStyle>, /// The fallback return when the system does not have the /// requested display name, defaults to "code". pub fallback: DiplomatOption<DisplayNamesFallback>, /// The language display kind, defaults to "dialect". pub language_display: DiplomatOption<LanguageDisplay>,
}
/// This API is experimental and may experience breaking changes outside major releases. #[diplomat::rust_link(icu::experimental::displaynames::Style, Enum)] #[diplomat::enum_convert(icu_experimental::displaynames::Style, needs_wildcard)] #[non_exhaustive] pubenum DisplayNamesStyle {
Narrow,
Short,
Long,
Menu,
}
/// This API is experimental and may experience breaking changes outside major releases. #[diplomat::rust_link(icu::experimental::displaynames::Fallback, Enum)] #[diplomat::enum_convert(icu_experimental::displaynames::Fallback, needs_wildcard)] #[non_exhaustive] pubenum DisplayNamesFallback { #[diplomat::attr(auto, default)]
Code,
None,
}
/// This API is experimental and may experience breaking changes outside major releases. #[diplomat::rust_link(icu::experimental::displaynames::LanguageDisplay, Enum)] #[diplomat::enum_convert(icu_experimental::displaynames::LanguageDisplay, needs_wildcard)] #[non_exhaustive] pubenum LanguageDisplay { #[diplomat::attr(auto, default)]
Dialect,
Standard,
}
impl LocaleDisplayNamesFormatter { /// This API is experimental and may experience breaking changes outside major releases. /// /// Creates a new `LocaleDisplayNamesFormatter` from locale data and an options bag using compiled data. #[diplomat::rust_link(
icu::experimental::displaynames::LocaleDisplayNamesFormatter::try_new,
FnInStruct
)] #[diplomat::attr(all(supports = fallible_constructors, supports = non_exhaustive_structs), constructor)] #[diplomat::attr(all(supports = fallible_constructors, supports = named_constructors, not(supports = non_exhaustive_structs)), named_constructor = "v1")] #[diplomat::attr(supports = non_exhaustive_structs, rename = "create")] #[cfg(feature = "compiled_data")] pubfn create_v1(
locale: &Locale,
options: DisplayNamesOptionsV1,
) -> Result<Box<LocaleDisplayNamesFormatter>, DataError> { let prefs = (&locale.0).into(); let options = icu_experimental::displaynames::DisplayNamesOptions::from(options);
/// This API is experimental and may experience breaking changes outside major releases. /// /// Creates a new `LocaleDisplayNamesFormatter` from locale data and an options bag using a particular data source. #[diplomat::rust_link(
icu::experimental::displaynames::LocaleDisplayNamesFormatter::try_new,
FnInStruct
)] #[diplomat::attr(supports = non_exhaustive_structs, rename = "create_with_provider")] #[diplomat::attr(all(supports = fallible_constructors, supports = named_constructors, supports = non_exhaustive_structs), named_constructor = "with_provider")] #[diplomat::attr(all(supports = fallible_constructors, supports = named_constructors, not(supports = non_exhaustive_structs)), named_constructor = "v1_with_provider")] #[cfg(feature = "buffer_provider")] pubfn create_v1_with_provider(
provider: &DataProvider,
locale: &Locale,
options: DisplayNamesOptionsV1,
) -> Result<Box<LocaleDisplayNamesFormatter>, DataError> { let prefs = (&locale.0).into(); let options = icu_experimental::displaynames::DisplayNamesOptions::from(options);
/// This API is experimental and may experience breaking changes outside major releases. /// /// Returns the locale-specific display name of a locale. #[diplomat::rust_link(
icu::experimental::displaynames::LocaleDisplayNamesFormatter::of,
FnInStruct
)]
/// This API is experimental and may experience breaking changes outside major releases. // Experimental, do not generate in demo: #[diplomat::attr(demo_gen, disable)] pubfn of(&self, locale: &Locale, write: &mutDiplomatWrite) { let _infallible = self.0.of(&locale.0).write_to(write);
}
}
impl RegionDisplayNames { /// This API is experimental and may experience breaking changes outside major releases. /// /// Creates a new `RegionDisplayNames` from locale data and an options bag using compiled data. #[diplomat::rust_link(
icu::experimental::displaynames::RegionDisplayNames::try_new,
FnInStruct
)] #[diplomat::attr(all(supports = fallible_constructors, supports = non_exhaustive_structs), constructor)] #[diplomat::attr(all(supports = fallible_constructors, supports = named_constructors, not(supports = non_exhaustive_structs)), named_constructor = "v1")] #[diplomat::attr(supports = non_exhaustive_structs, rename = "create")] #[cfg(feature = "compiled_data")] pubfn create_v1(
locale: &Locale,
options: DisplayNamesOptionsV1,
) -> Result<Box<RegionDisplayNames>, DataError> { let prefs = (&locale.0).into(); let options = icu_experimental::displaynames::DisplayNamesOptions::from(options);
Ok(Box::new(RegionDisplayNames(
icu_experimental::displaynames::RegionDisplayNames::try_new(prefs, options)?,
)))
}
/// This API is experimental and may experience breaking changes outside major releases. /// /// Creates a new `RegionDisplayNames` from locale data and an options bag using a particular data source. #[diplomat::rust_link(
icu::experimental::displaynames::RegionDisplayNames::try_new,
FnInStruct
)] #[diplomat::attr(supports = non_exhaustive_structs, rename = "create_with_provider")] #[diplomat::attr(all(supports = fallible_constructors, supports = named_constructors, supports = non_exhaustive_structs), named_constructor = "with_provider")] #[diplomat::attr(all(supports = fallible_constructors, supports = named_constructors, not(supports = non_exhaustive_structs)), named_constructor = "v1_with_provider")] #[cfg(feature = "buffer_provider")] pubfn create_v1_with_provider(
provider: &DataProvider,
locale: &Locale,
options: DisplayNamesOptionsV1,
) -> Result<Box<RegionDisplayNames>, DataError> { let prefs = (&locale.0).into(); let options = icu_experimental::displaynames::DisplayNamesOptions::from(options);
Ok(Box::new(RegionDisplayNames(
icu_experimental::displaynames::RegionDisplayNames::try_new_with_buffer_provider(
provider.get()?,
prefs,
options,
)?,
)))
}
/// This API is experimental and may experience breaking changes outside major releases. /// /// Returns the locale specific display name of a region. /// Note that the function returns an empty string in case the display name for a given /// region code is not found. #[diplomat::rust_link(icu::experimental::displaynames::RegionDisplayNames::of, FnInStruct)] // Experimental, do not generate in demo: #[diplomat::attr(demo_gen, disable)] pubfn of(
&self,
region: &DiplomatStr,
write: &mut DiplomatWrite,
) -> Result<(), LocaleParseError> { let _infallible = self
.0
.of(icu_locale_core::subtags::Region::try_from_utf8(region)?)
.unwrap_or("")
.write_to(write);
Ok(())
}
}
}
¤ Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.0.24Bemerkung:
(vorverarbeitet am 2026-08-25)
¤
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.