欢迎使用 ICU4X
ICU4X 提供了一系列组件,支持广泛的软件国际化。 它深度借鉴了 ICU4C/J、ECMA-402 的经验,并依赖于 CLDR 项目提供的数据。
ICU4X 完全使用 Rust 编程语言 实现。
ICU4X 的设计目标如下:
- 代码小巧且模块化
- 可插拔的本地化数据
- 在多种编程语言中可用且易于使用
- 由国际化专家编写,以推广最佳实践
保持关注! 请加入我们的公开、低流量邮件列表:icu4x-announce@unicode.org。 注意:订阅后,请检查垃圾邮件文件夹以获取确认邮件。
如需更多信息,请访问 我们的网站。
快速入门
一个使用 ICU4X 的 Rust 应用程序示例可能如下所示:
Cargo.toml:
[dependencies]
icu = "2.0.0"
src/main.rs:
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"
);
开发
ICU4X 由 Unicode 联盟中的 ICU4X 技术委员会(ICU4X-TC)开发。ICU4X-TC 负责为现代平台和生态系统(包括客户端和资源受限环境)制定国际化解决方案的战略并主导其开发。有关我们治理的更多信息,请参阅 unicode.org。
ICU4X-TC 通常在 ICU4X 发布前每季度召开一次会议。在此期间,大部分工作在 ICU4X 工作组(ICU4X WG)中进行,该工作组负责提出技术建议、将其合并到代码仓库中,并记录在 CHANGELOG.md 中。ICU4X WG 的建议需经 ICU4X-TC 批准。
请订阅此仓库以参与讨论。 如果您想做出贡献,请参阅我们的 contributing.md。
章程
完整章程(包括常见问题解答)请参阅 charter.md。
ICU4X 是一个新项目,其目标是满足希望在资源受限环境中为其产品提供客户端国际化的客户需求。
ICU4X,即“ICU for X”,从一开始就将遵循以下关键设计约束:
- 代码小巧且模块化。
- 可插拔的区域数据。
- 在多种编程语言中可用且易于使用。
- 由国际化专家编写,以推广最佳实践。
ICU4X 将在目标客户端平台(包括 Web 平台、iOS、Android、WearOS、WatchOS、Flutter 和 Fuchsia)上提供符合 ECMA-402 标准的 API 接口,支持包括 Rust、JavaScript、Objective-C、Java、Dart 和 C++ 在内的编程语言。
许可与版权
版权所有 © 2020-2024 Unicode, Inc. Unicode 和 Unicode 标志是 Unicode, Inc. 在美国及其他国家的注册商标。
该项目根据 LICENSE 发布,采用免费且开源的 Unicode License,该许可证基于广为人知的 MIT 许可证,主要区别在于 Unicode 许可证明确涵盖数据和数据文件,以及代码。有关更多信息,请参阅 The Unicode Consortium Intellectual Property, Licensing, and Technical Contribution Policies。
向本项目贡献代码需要签署 CLA - 请参阅 CONTRIBUTING.md 文件(或发起 Pull Request)以获取更多信息。
本仓库的内容受 Unicode Terms of Use 约束。