Module icu::locale_canonicalizer [−][src]
Expand description
This API provides functionality to canonicalize locale identifiers based
upon CLDR
data.
It currently supports the minimize and maximize likely subtags algorithms
as described in UTS #35: Unicode LDML 3. Likely Subtags
.
Examples
use icu_locale_canonicalizer::{CanonicalizationResult, LocaleCanonicalizer}; use icu_locid::Locale; let provider = icu_testdata::get_provider(); let lc = LocaleCanonicalizer::new(&provider) .expect("create failed"); let mut locale : Locale = "zh-CN".parse() .expect("parse failed"); assert_eq!(lc.maximize(&mut locale), CanonicalizationResult::Modified); assert_eq!(locale.to_string(), "zh-Hans-CN"); let mut locale : Locale = "zh-Hant-TW".parse() .expect("parse failed"); assert_eq!(lc.maximize(&mut locale), CanonicalizationResult::Unmodified); assert_eq!(locale.to_string(), "zh-Hant-TW");
use icu_locale_canonicalizer::{CanonicalizationResult, LocaleCanonicalizer}; use icu_locid::Locale; let provider = icu_testdata::get_provider(); let lc = LocaleCanonicalizer::new(&provider) .expect("create failed"); let mut locale : Locale = "zh-Hans-CN".parse() .expect("parse failed"); assert_eq!(lc.minimize(&mut locale), CanonicalizationResult::Modified); assert_eq!(locale.to_string(), "zh"); let mut locale : Locale = "zh".parse() .expect("parse failed"); assert_eq!(lc.minimize(&mut locale), CanonicalizationResult::Unmodified); assert_eq!(locale.to_string(), "zh");
Modules
Structs
Enums
Used to track the result of a canonicalization operation that potentially modifies its argument in place.