Crates.io | i18n_utility-rizzen-yazston |
lib.rs | i18n_utility-rizzen-yazston |
version | 0.10.1 |
source | src |
created_at | 2023-07-06 16:54:55.787848 |
updated_at | 2024-11-15 07:49:36.023937 |
description | The `i18n_utility` crate of the Internationalisation project. |
homepage | https://github.com/rizzen-yazston/i18n |
repository | https://github.com/rizzen-yazston/i18n |
max_upload_size | |
id | 910097 |
size | 41,283 |
= i18n_utility Rizzen Yazston :icu4x: https://github.com/unicode-org/icu4x :url-unicode: https://home.unicode.org/ :BCP_47_Language_Tag: https://www.rfc-editor.org/rfc/bcp/bcp47.txt
Welcome to the i18n_utility
crate of the Internationalisation (i18n) project.
This crate consists of five modules:
error
: Contains the error enum for the language registry,
language
: Registry of language tags with ICU4X's LanguageIdentifier
or Locale
instances,
tagged_string
: Simple tagged string type,
traits
: Traits for localisation of structs and enums,
types
: Simple struct and enum types.
== Features
Available features for i18n_utility
crate:
icu_extended
: Use the more detailed ICU information structs, types, and methods.
sync
: Allow for rust's concurrency capabilities to be used. Use of Arc
and Mutex
instead Rc
and RefCell
.
== Modules
=== language
: Registry for holding ICU4X LanguageIdentifier
or Locale
instances.
Registry for holding the validated {BCP_47_Language_Tag}[BCP 47 Language Tag] strings, and optionally holding the ICU4X
[LanguageIdentifier
] or [Locale
] (using feature icu_extended
) instances.
The purpose of the registry is to reduce the need of parsing language tags repeatedly, by storing the validated language tag against the requested language tag.
The LanguageIdentifier
or Locale
type can be provided by either the [icu_locid
] crate or the icu
meta-crate. These two crates are part of the {icu4x}[ICU4X] project developed by the {url-unicode}[Unicode Consortium].
=== tagged_string
: Tagged string.
The immutable TaggedString
type simply associates a language tag ([Rc
]<LanguageTag>
or [Arc
]<LanguageTag>
) to a text string ([String
]).
In the context of the i18n
project, the identifier tag is expected to be a {BCP_47_Language_Tag}[BCP 47 Language Tag] string.
== Acknowledgements
Stefano Angeleri for advice on various design aspects of implementing the library of the Internationalisation project, and also providing the Italian translation of error message strings.