i18n-rizzen-yazston

Crates.ioi18n-rizzen-yazston
lib.rsi18n-rizzen-yazston
version0.10.1
sourcesrc
created_at2023-07-06 17:20:24.433058
updated_at2024-11-15 07:55:37.987022
descriptionThe `i18n` crate of the Internationalisation project.
homepagehttps://github.com/rizzen-yazston/i18n
repositoryhttps://github.com/rizzen-yazston/i18n
max_upload_size
id910127
size9,450
Rizzen (rizzen-yazston)

documentation

README

= 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.

Commit count: 88

cargo fmt