= i18n_provider Rizzen Yazston Welcome to the *`i18n_provider`* crate of the _Internationalisation_ (i18n) project. This crate consists of two modules: * `error`: Contains the enum for common errors regardless of the implementation of the localisation provider trait, * `provider`: The localisation provider trait. == Features Available features for `i18n_provider` crate: * `sync`: Allow for rust's concurrency capabilities to be used. Use of `Arc` and `Mutex` instead `Rc` and `RefCell`. == Modules === `provider`: A language string provider. A trait for retrieving localisation language strings from a data repository via a provider that implements the trait methods: `strings()` and `string()`. In addition, there are other trait methods for retrieve the default language for a component, and supported languages for entire data repository, component and identifier respectively. For an implementation example, see the `i18n_provider_sqlite3-rizzen-yazston` crate, which uses Sqlite3 for its data store. == 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.