23 个版本 (稳定)
1.5.0 | 2024 年 5 月 28 日 |
---|---|
1.4.1 | 2023 年 12 月 19 日 |
1.4.0 | 2023 年 11 月 17 日 |
1.2.5 | 2023 年 4 月 25 日 |
0.4.1 | 2021 年 11 月 10 日 |
#396 in 国际化 (i18n)
1,148 每月下载量
13MB
110K SLoC
icu_datagen
icu_datagen
是一个库,用于生成可用于 ICU4X 数据提供者的数据文件。
数据文件可以通过编程方式(即在 build.rs
中)或通过命令行工具生成。
请参阅我们的 datagen 教程。
示例
Rust API
use icu_datagen::blob_exporter::*;
use icu_datagen::prelude::*;
use std::fs::File;
DatagenDriver::new()
.with_keys([icu::list::provider::AndListV1Marker::KEY])
.with_locales_and_fallback([LocaleFamily::FULL], Default::default())
.export(
&DatagenProvider::new_latest_tested(),
BlobExporter::new_v2_with_sink(Box::new(
File::create("data.postcard").unwrap(),
)),
)
.unwrap();
命令行
可以通过 Cargo 安装命令行界面。
$ cargo install icu_datagen
安装工具后,您可以按以下方式调用它
$ icu4x-datagen --keys all --locales de en-AU --format blob --out data.postcard
运行 --help
可以找到更多详细信息。
Cargo 功能
此软件包有大量依赖项,其中一些不是所有操作模式所必需的。可以通过禁用以下默认 Cargo 功能来减少依赖项
baked_exporter
- 启用
baked_exporter
模块 - 启用
--format mod
命令行参数
- 启用
blob_exporter
- 启用
blob_exporter
模块,它是icu_provider_blob::export
的重导出 - 启用
--format blob
命令行参数
- 启用
fs_exporter
- 启用
fs_exporter
模块,它是icu_provider_fs::export
的重导出 - 启用
--format dir
命令行参数
- 启用
networking
- 启用了在
DatagenProvider
上的方法,可以从网络获取源数据 - 启用了
--cldr-tag
、--icu-export-tag
和--segmenter-lstm-tag
命令行参数以下载数据
- 启用了在
rayon
- 在导出过程中启用并行处理
use_wasm
/use_icu4c
bin
- 由CLI需要并在默认情况下启用,以便使
cargo install
工作
- 由CLI需要并在默认情况下启用,以便使
legacy_api
- 启用了已废弃的1.3之前的API
- 默认启用,以确保semver稳定性
- 将在2.0版本中删除。
icu_experimental
- 启用了在未稳定的
icu_experimental
存储库中定义的键的数据生成 - 请注意,此特性会影响
all_keys
的行为
- 启用了在未稳定的
元特性experimental_components
可用于激活所有实验性组件。
更多信息
有关开发、作者、贡献等方面的更多信息,请访问ICU4X主页
。
依赖项
~5–18MB
~187K SLoC