$ icu_collections
v2.2.0MAJOR UPDATECollection of API for use in ICU libraries.
Latest Update Summary
Crate
Name: icu_collections New version: 2.1.0 Release date: 2025-05-07T21:21:21Z
Crate readme
Short description ICU4X provides components enabling wide range of software internationalization.
Long description ICU4X is fully implemented in the Rust programming language and is designed to be small and modular. It features pluggable locale data and is aimed at availability and ease of use across multiple programming languages. The ICU4X project intends to facilitate client-side internationalization for modern platforms including web, iOS, Android, and more, while adhering to best practices in internationalization.
Features • Small and modular code • Pluggable locale data • Availability and ease of use in multiple programming languages • ECMA-402-compatible API surface • Supported in programming languages including Rust, JavaScript, Objective-C, Java, Dart, and C++
Code Examples Add to Cargo.toml
[dependencies]
icu = "2.0.0"
Basic usage
use icu::calendar::Date;
use icu::datetime::{DateTimeFormatter, fieldsets::YMD};
use icu::locale::locale;
let dtf = DateTimeFormatter::try_new(
locale!("es").into(),
YMD::long()
)
.expect("locale should be present in compiled data");
let date = Date::try_new_iso(2020, 9, 12).expect("date should be valid");
let formatted_date = dtf.format(&date).to_string();
assert_eq!(
formatted_date,
"12 de septiembre de 2020"
);
Links • https://icu4x.unicode.org • https://crates.io/crates/icu • https://github.com/unicode-org/icu4x • https://unicode.org/consortium/techchairs.html • https://www.unicode.org/license.txt • https://www.unicode.org/policies/licensing_policy.html • https://www.unicode.org/copyright.html
https://api.github.com/repos/unicode-org/icu4x/releases/217170091
Release info
Release version: 2.0
Release description
ICU4X 2.0 introduces several significant updates to the library. A notable change is the introduction of Preference Objects, which replace the direct use of Locale objects in formatters, allowing for the creation of preference bags that utilize type-safe enums for better efficiency. The icu::datetime component has been completely rewritten into a new icu::time component, enhancing performance and providing more accurate i18n date, time, and time zone representations. The FFI has also seen an overhaul, including updates to C++ namespaces and function versioning, aimed at making APIs more idiomatic across languages. Additionally, the introduction of borrowed variants improves performance by distinguishing between owned and borrowed types, reducing the need for an allocator in some crates, allowing them to operate in #[no_std] environments. Finally, all components now include updated data compliant with the latest versions of CLDR (47.0) and Unicode (16.0).
Code Examples
Minor update: 2.1.1 → 2.2.0
$ DOWNLOADS TREND
$ VERSION HISTORY
$ LINKS
$ INSTALL
cargo add icu_collectionsOr add to Cargo.toml: icu_collections = "2.2.0"