= i18n_icu Rizzen Yazston :icu4x: https://github.com/unicode-org/icu4x :url-unicode: https://home.unicode.org/ :DataProvider: https://docs.rs/icu_provider/1.2.0/icu_provider/trait.DataProvider.html :BlobDataProvider: https://docs.rs/icu_provider_blob/1.2.0/icu_provider_blob/struct.BlobDataProvider.html :FsDataProvider: https://docs.rs/icu_provider_fs/1.2.1/icu_provider_fs/struct.FsDataProvider.html :BufferProvider: https://docs.rs/icu_provider/1.2.0/icu_provider/buf/trait.BufferProvider.html {icu4x}[*ICU4X*] project (maintained by the {url-unicode}[*Unicode Consortium*]) data provider helper. The `IcuDataProvider` type contains the `DataProvider` enum of supported implementations of ICU4X {DataProvider}[`DataProvider`]. Depending on the features selected, they are: `Internal` (internally uses the BakedDataProvider), {BlobDataProvider}[`BlobDataProvider`], or {FsDataProvider}[`FsDataProvider`]. When data provider is not `Internal` and depending on the data provider used, the `IcuDataProvider` may contain non-locale based data, such as the grapheme cluster segmenter and the selected character properties set data. `IcuDataProvider` type is used within the `Rc` type as `Rc` or `Arc` type as `Arc` to prevent unnecessary duplication. == Features Available features for `i18n_icu` crate: * `compiled_data` (Preferred): Allow for the internal data of the various ICU4X components. * `blob`: Allow for instances of `BlobDataProvider` to be used various ICU4X components that supports {BufferProvider}[`BufferProvider`]. An alternative provider when the internal data of ICU4X components are insufficient for a particular use case. * `fs`: Allow for instances of `FsDataProvider` to be used various ICU4X components that supports `BufferProvider`. An alternative provider when the internal data of ICU4X components are insufficient for a particular use case. * `sync`: Allow for rust's concurrency capabilities to be used. Use of `Arc` and `Mutex` instead `Rc` and `RefCell`. * `log`: Enable log support. == Acknowledgement Stefano Angeleri for advice on various design aspects of implementing the components of the internationalisation project, and also providing the Italian translation of error message strings.