pub struct UnicodeLanguageIdentifier(/* private fields */);Expand description
A wrapper for [unic_langid::LanguageIdentifier] that als implements serde traits.
Methods from Deref<Target = LanguageIdentifier>§
Sourcepub fn matches<O>(
&self,
other: &O,
self_as_range: bool,
other_as_range: bool,
) -> boolwhere
O: AsRef<LanguageIdentifier>,
pub fn matches<O>(
&self,
other: &O,
self_as_range: bool,
other_as_range: bool,
) -> boolwhere
O: AsRef<LanguageIdentifier>,
Compares a LanguageIdentifier to another AsRef<LanguageIdentifier
allowing for either side to use the missing fields as wildcards.
This allows for matching between en (treated as en-*-*-*) and en-US.
§Examples
use unic_langid_impl::LanguageIdentifier;
let li1: LanguageIdentifier = "en".parse()
.expect("Parsing failed.");
let li2: LanguageIdentifier = "en-US".parse()
.expect("Parsing failed.");
assert_ne!(li1, li2); // "en" != "en-US"
assert_ne!(li1.to_string(), li2.to_string()); // "en" != "en-US"
assert_eq!(li1.matches(&li2, false, false), false); // "en" != "en-US"
assert_eq!(li1.matches(&li2, true, false), true); // "en-*-*-*" == "en-US"
assert_eq!(li1.matches(&li2, false, true), false); // "en" != "en-*-US-*"
assert_eq!(li1.matches(&li2, true, true), true); // "en-*-*-*" == "en-*-US-*"Sourcepub fn variants(&self) -> impl ExactSizeIterator
pub fn variants(&self) -> impl ExactSizeIterator
Returns a vector of variants subtags of the LanguageIdentifier.
§Examples
use unic_langid_impl::LanguageIdentifier;
let li1: LanguageIdentifier = "ca-ES-valencia".parse()
.expect("Parsing failed.");
assert_eq!(li1.variants().map(|v| v.as_str()).collect::<Vec<_>>(), &["valencia"]);
let li2: LanguageIdentifier = "de".parse()
.expect("Parsing failed.");
assert_eq!(li2.variants().len(), 0);Sourcepub fn set_variants(&mut self, variants: &[Variant])
pub fn set_variants(&mut self, variants: &[Variant])
Sets variant subtags of the LanguageIdentifier.
§Examples
use unic_langid_impl::LanguageIdentifier;
let mut li: LanguageIdentifier = "ca-ES".parse()
.expect("Parsing failed.");
li.set_variants(&["valencia".parse().expect("Parsing failed.")]);
assert_eq!(li.to_string(), "ca-ES-valencia");Sourcepub fn has_variant(&self, variant: Variant) -> bool
pub fn has_variant(&self, variant: Variant) -> bool
Tests if a variant subtag is present in the LanguageIdentifier.
§Examples
use unic_langid_impl::LanguageIdentifier;
let mut li: LanguageIdentifier = "ca-ES-macos".parse()
.expect("Parsing failed.");
assert_eq!(li.has_variant("valencia".parse().unwrap()), false);
assert_eq!(li.has_variant("macos".parse().unwrap()), true);Sourcepub fn clear_variants(&mut self)
pub fn clear_variants(&mut self)
Clears variant subtags of the LanguageIdentifier.
§Examples
use unic_langid_impl::LanguageIdentifier;
let mut li: LanguageIdentifier = "ca-ES-valencia".parse()
.expect("Parsing failed.");
li.clear_variants();
assert_eq!(li.to_string(), "ca-ES");Sourcepub fn character_direction(&self) -> CharacterDirection
pub fn character_direction(&self) -> CharacterDirection
Returns character direction of the LanguageIdentifier.
§Examples
use unic_langid_impl::{LanguageIdentifier, CharacterDirection};
let li1: LanguageIdentifier = "es-AR".parse()
.expect("Parsing failed.");
let li2: LanguageIdentifier = "fa".parse()
.expect("Parsing failed.");
assert_eq!(li1.character_direction(), CharacterDirection::LTR);
assert_eq!(li2.character_direction(), CharacterDirection::RTL);Trait Implementations§
Source§impl Clone for UnicodeLanguageIdentifier
impl Clone for UnicodeLanguageIdentifier
Source§fn clone(&self) -> UnicodeLanguageIdentifier
fn clone(&self) -> UnicodeLanguageIdentifier
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for UnicodeLanguageIdentifier
impl Debug for UnicodeLanguageIdentifier
Source§impl Deref for UnicodeLanguageIdentifier
impl Deref for UnicodeLanguageIdentifier
Source§impl DerefMut for UnicodeLanguageIdentifier
impl DerefMut for UnicodeLanguageIdentifier
Source§impl<'de> Deserialize<'de> for UnicodeLanguageIdentifier
impl<'de> Deserialize<'de> for UnicodeLanguageIdentifier
Source§fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>where
D: Deserializer<'de>,
fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>where
D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl Display for UnicodeLanguageIdentifier
impl Display for UnicodeLanguageIdentifier
impl Eq for UnicodeLanguageIdentifier
Source§impl From<LanguageIdentifier> for UnicodeLanguageIdentifier
impl From<LanguageIdentifier> for UnicodeLanguageIdentifier
Source§fn from(value: LanguageIdentifier) -> Self
fn from(value: LanguageIdentifier) -> Self
Converts to this type from the input type.
Source§impl From<UnicodeLanguageIdentifier> for LanguageIdentifier
impl From<UnicodeLanguageIdentifier> for LanguageIdentifier
Source§fn from(value: UnicodeLanguageIdentifier) -> Self
fn from(value: UnicodeLanguageIdentifier) -> Self
Converts to this type from the input type.
Source§impl FromStr for UnicodeLanguageIdentifier
impl FromStr for UnicodeLanguageIdentifier
Source§impl Hash for UnicodeLanguageIdentifier
impl Hash for UnicodeLanguageIdentifier
Source§impl Ord for UnicodeLanguageIdentifier
impl Ord for UnicodeLanguageIdentifier
Source§fn cmp(&self, other: &UnicodeLanguageIdentifier) -> Ordering
fn cmp(&self, other: &UnicodeLanguageIdentifier) -> Ordering
1.21.0 (const: unstable) · Source§fn max(self, other: Self) -> Selfwhere
Self: Sized,
fn max(self, other: Self) -> Selfwhere
Self: Sized,
Compares and returns the maximum of two values. Read more
Source§impl PartialOrd for UnicodeLanguageIdentifier
impl PartialOrd for UnicodeLanguageIdentifier
impl StructuralPartialEq for UnicodeLanguageIdentifier
Auto Trait Implementations§
impl Freeze for UnicodeLanguageIdentifier
impl RefUnwindSafe for UnicodeLanguageIdentifier
impl Send for UnicodeLanguageIdentifier
impl Sync for UnicodeLanguageIdentifier
impl Unpin for UnicodeLanguageIdentifier
impl UnsafeUnpin for UnicodeLanguageIdentifier
impl UnwindSafe for UnicodeLanguageIdentifier
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