Skip to content

Commit

Permalink
imports
Browse files Browse the repository at this point in the history
  • Loading branch information
robertbastian committed Oct 2, 2023
1 parent 63feea5 commit 5b76b60
Show file tree
Hide file tree
Showing 5 changed files with 43 additions and 8 deletions.
37 changes: 36 additions & 1 deletion components/locid_transform/src/fallback/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,42 @@
// called LICENSE at the top level of the ICU4X source tree
// (online at: https://github.com/unicode-org/icu4x/blob/main/LICENSE ).

//! Support types for locale fallback.
//! Tools for locale fallback, enabling arbitrary input locales to be mapped into the nearest
//! locale with data.
//!
//! The algorithm implemented in this module is called [Flexible Vertical Fallback](
//! https://docs.google.com/document/d/1Mp7EUyl-sFh_HZYgyeVwj88vJGpCBIWxzlCwGgLCDwM/edit).
//! Watch [#2243](https://github.com/unicode-org/icu4x/issues/2243) to track improvements to
//! this algorithm and steps to enshrine the algorithm in CLDR.
//!
//! # Examples
//!
//! ```
//! use icu_locid::locale;
//! use icu_locid_transform::LocaleFallbacker;
//!
//! // Set up a LocaleFallbacker with data.
//! let fallbacker = LocaleFallbacker::new();
//!
//! // Create a LocaleFallbackerIterator with a default configuration.
//! // By default, uses language priority with no additional extension keywords.
//! let mut fallback_iterator = fallbacker
//! .for_config(Default::default())
//! .fallback_for(locale!("hi-Latn-IN").into());
//!
//! // Run the algorithm and check the results.
//! assert_eq!(fallback_iterator.get(), &locale!("hi-Latn-IN").into());
//! fallback_iterator.step();
//! assert_eq!(fallback_iterator.get(), &locale!("hi-Latn").into());
//! fallback_iterator.step();
//! assert_eq!(fallback_iterator.get(), &locale!("en-IN").into());
//! fallback_iterator.step();
//! assert_eq!(fallback_iterator.get(), &locale!("en-001").into());
//! fallback_iterator.step();
//! assert_eq!(fallback_iterator.get(), &locale!("en").into());
//! fallback_iterator.step();
//! assert_eq!(fallback_iterator.get(), &locale!("und").into());
//! ```

use crate::provider::*;
use icu_locid::extensions::unicode::Value;
Expand Down
2 changes: 1 addition & 1 deletion ffi/diplomat/src/fallbacker.rs
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,8 @@ pub mod ffi {
use icu_locid_transform::fallback::LocaleFallbackConfig;
use icu_locid_transform::fallback::LocaleFallbackIterator;
use icu_locid_transform::fallback::LocaleFallbackPriority;
use icu_locid_transform::fallback::LocaleFallbacker;
use icu_locid_transform::fallback::LocaleFallbackerWithConfig;
use icu_locid_transform::LocaleFallbacker;

use crate::{
errors::ffi::ICU4XError, locale::ffi::ICU4XLocale, provider::ffi::ICU4XDataProvider,
Expand Down
2 changes: 1 addition & 1 deletion provider/adapters/src/fallback/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -126,7 +126,7 @@ impl<P> LocaleFallbackProvider<P> {
///
/// ```
/// use icu_locid::locale;
/// use icu_locid_transform::fallback::LocaleFallbacker;
/// use icu_locid_transform::LocaleFallbacker;
/// use icu_provider::hello_world::*;
/// use icu_provider::prelude::*;
/// use icu_provider_adapters::fallback::LocaleFallbackProvider;
Expand Down
8 changes: 4 additions & 4 deletions provider/core/src/fallback.rs
Original file line number Diff line number Diff line change
Expand Up @@ -65,7 +65,7 @@ pub struct LocaleFallbackConfig {
/// use icu_locid::locale;
/// use icu_locid_transform::fallback::LocaleFallbackConfig;
/// use icu_locid_transform::fallback::LocaleFallbackPriority;
/// use icu_locid_transform::fallback::LocaleFallbacker;
/// use icu_locid_transform::LocaleFallbacker;
///
/// // Set up the fallback iterator.
/// let fallbacker = LocaleFallbacker::new();
Expand Down Expand Up @@ -93,7 +93,7 @@ pub struct LocaleFallbackConfig {
/// use icu_locid::locale;
/// use icu_locid_transform::fallback::LocaleFallbackConfig;
/// use icu_locid_transform::fallback::LocaleFallbackPriority;
/// use icu_locid_transform::fallback::LocaleFallbacker;
/// use icu_locid_transform::LocaleFallbacker;
///
/// // Set up the fallback iterator.
/// let fallbacker = LocaleFallbacker::new();
Expand Down Expand Up @@ -122,7 +122,7 @@ pub struct LocaleFallbackConfig {
/// ```
/// use icu_locid::locale;
/// use icu_locid_transform::fallback::LocaleFallbackConfig;
/// use icu_locid_transform::fallback::LocaleFallbacker;
/// use icu_locid_transform::LocaleFallbacker;
///
/// // Set up the fallback iterator.
/// let fallbacker = LocaleFallbacker::new();
Expand Down Expand Up @@ -159,7 +159,7 @@ pub struct LocaleFallbackConfig {
/// use icu_locid_transform::fallback::LocaleFallbackConfig;
/// use icu_locid_transform::fallback::LocaleFallbackPriority;
/// use icu_locid_transform::fallback::LocaleFallbackSupplement;
/// use icu_locid_transform::fallback::LocaleFallbacker;
/// use icu_locid_transform::LocaleFallbacker;
///
/// // Set up the fallback iterator.
/// let fallbacker = LocaleFallbacker::new();
Expand Down
2 changes: 1 addition & 1 deletion provider/datagen/src/driver.rs
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ use crate::FallbackMode;
use icu_locid::extensions::unicode::key;
use icu_locid::LanguageIdentifier;
use icu_locid_transform::fallback::LocaleFallbackIterator;
use icu_locid_transform::fallback::LocaleFallbacker;
use icu_locid_transform::LocaleFallbacker;
use icu_provider::datagen::*;
use icu_provider::prelude::*;
use once_cell::sync::Lazy;
Expand Down

0 comments on commit 5b76b60

Please sign in to comment.