15 个版本 (8 个稳定)
| 1.5.0 | 2024年5月28日 |
|---|---|
| 1.4.0 | 2023年11月17日 |
| 1.3.2 | 2023年10月3日 |
| 1.2.1 | 2023年4月22日 |
| 0.1.0 | 2020年10月15日 |
在 国际化 (i18n) 中排名 415
每月下载量 6,583
在 10 个 Crates 中使用 (4 个直接使用)
280KB
4.5K SLoC
icu_provider_fs 
icu_provider_fs 是 ICU4X 组件之一。
它从给定目录的文件系统中读取 ICU4X 数据文件。
示例
use icu_provider_fs::FsDataProvider;
let provider = FsDataProvider::try_new("/path/to/data/directory")
.expect_err("Specify a real directory in the line above");
目录结构
ICU4X 数据目录在根目录下有一个名为 manifest.json 的文件,并且有一个包含数据键 (DataKey) 和区域 (DataLocale) 作为叶数据文件的嵌套结构。例如,阿拉伯语 JSON 数据用于基数复数规则,位于 plurals/cardinal@1/ar.json。
目录结构的精确形式可能会随时间而改变。ICU4X 使用来自 manifest.json 的元数据来动态解释不同的目录结构版本。
├── manifest.json
├── dates
│ └── gregory@1
│ ├── ar-EG.json
│ ├── ar.json
│ ├── be.json
│ ⋮
│ └── und.json
└── plurals
├── cardinal@1
│ ├── ar.json
│ ├── be.json
│ ⋮
│ └── und.json
└── ordinal@1
├── ar.json
├── be.json
⋮
└── und.json
资源格式
ICU4X 数据可以存储在不同的格式中。目前有以下几种
- JSON - 文本格式,易于阅读
- Postcard - 二进制,小型资源格式
- Bincode - 二进制,快速资源格式
传递给 FsDataProvider 构造函数的目录可能包含其中的任何一个。
注意:为了使 ICU4X 能够 反序列化 返回的数据,必须在 icu_provider 包中激活相应的 Cargo 功能。参见 AsDeserializingBufferProvider::as_deserializing。
导出数据
要生成 FsDataProvider 所需的数据,请运行以下命令
icu4x-datagen --keys all --locales full --format dir
要导出 postcard 格式,使用
icu4x-datagen --keys all --locales full --format dir --syntax postcard
更多信息
有关开发、作者身份、贡献等方面的更多信息,请访问 ICU4X 主页。
依赖项
~1.8–2.7MB
~52K SLoC