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