= i18n Rizzen Yazston Welcome to the *`i18n`* crate of the _Internationalisation_ (i18n) project. This convenience meta crate contains selected available crates: - `i18n_lexer`: A simple lexer to tokenise a string, - `i18n_localiser`: The multilingual localisation system, - `i18n_provider`: Trait for providing language strings, and error struct, - `i18n_provider_sqlite3`: Implementation of `i18n_provider` using Sqlite3 as its data store, - `i18n_utility`: Contains the `LanguageTagRegistry``, and the `TaggedString` type. NOTE: All these crates on `crates.io` have the names appended with the suffix `-rizzen-yazston` to distinguish them from internationalisation crates created by other authors. == Features Available features for `i18n_icu` crate: * `icu_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. * `icu_compiled_data` [default]: Allow for the internal data of the various ICU4X components. * `icu_extended`: Use the more detailed ICU information structs, types, and methods. * `icu_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. * `logging`: To provide some logging information. * `sync`: Allow for rust's concurrency capabilities to be used. Use of `Arc` and `Mutex` instead `Rc` and `RefCell`. == 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. == Usage For most use cases, just the use of `i18n-rizzen-yazston` crate will be sufficient to use the multilingual message system, though the individual crates can be selected individual if the entire `i18n` project is not required. === Cargo.toml ``` [dependencies] i18n-rizzen-yazston = "0.9.0" ``` === Examples See the various component crates for usage examples.