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:
- Modularity
- 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,
ICU4J,
ECMA-402,
CLDR, and
Unicode.
Target
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.
ICU4X targets a wide range of programming languages and environments, aiming to expose its APIs to languages such as Javascript, WebAssembly, Dart, C++, Python, PHP, and others.
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
Announcement article.
Status
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.
Roadmap
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