We are thrilled to announce the first pre-release version of the ICU4X internationalization components. ICU4X aims to provide high quality internationalization components with a focus on:
- Flexible data management
- Performance, memory, safety and size
- Universal access from programming languages
and ecosystems (FFI)
ICU4X draws from the experience of projects such as ICU4C
, and Unicode
ICU4X is initially focusing on a subset of internationalization APIs standardized in ECMA-402 in order to cover the needs of client-side ecosystems and thin clients.
With our focus on client-side ecosystems a lot of effort will be placed on minimizing the size, memory, and CPU utilization, and allowing for asynchronous data management.
More information on the design can be found in the project’s
This first pre-release 0.1 version is written in Rust and introduces a small subset of APIs and scaffolding for flexible data management.
We would like to invite everyone to try it out
. Take a look at the documentation
and provide feedback on the API design. We’re also looking for feedback on the algorithms and data structures
we use, especially from contributors with experience in Rust and ICU algorithms
More information on the release can be found in the Release Notes
The next version, 0.2, will focus on validating the ability to expose ICU4X APIs to other programming environments and extending the data management system to be asynchronous.
The project is fully open source and invites all interested parties to join the effort of designing and developing a modular internationalization components system in Rust.
To learn more on how to contribute to the project, visit the CONTRIBUTE document
in the project’s repository
Over 140,000 characters are available for adoption
to help the Unicode Consortium’s work on digitally disadvantaged languages