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)

Download history 338/week @ 2024-05-03 323/week @ 2024-05-10 343/week @ 2024-05-17 509/week @ 2024-05-24 150/week @ 2024-05-31 117/week @ 2024-06-07 183/week @ 2024-06-14 162/week @ 2024-06-21 160/week @ 2024-06-28 323/week @ 2024-07-05 212/week @ 2024-07-12 143/week @ 2024-07-19 296/week @ 2024-07-26 245/week @ 2024-08-02 267/week @ 2024-08-09 325/week @ 2024-08-16

1,148 每月下载量

Unicode-3.0

13MB
110K SLoC

icu_datagen crates.io

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
  • blob_exporter
  • fs_exporter
  • networking
    • 启用了在DatagenProvider上的方法,可以从网络获取源数据
    • 启用了--cldr-tag--icu-export-tag--segmenter-lstm-tag命令行参数以下载数据
  • rayon
    • 在导出过程中启用并行处理
  • use_wasm / use_icu4c
    • 请参阅关于icu_codepointtrie_builder的文档
  • bin
    • 由CLI需要并在默认情况下启用,以便使cargo install工作
  • legacy_api
    • 启用了已废弃的1.3之前的API
    • 默认启用,以确保semver稳定性
    • 将在2.0版本中删除。
  • icu_experimental
    • 启用了在未稳定的icu_experimental存储库中定义的键的数据生成
    • 请注意,此特性会影响all_keys的行为

元特性experimental_components可用于激活所有实验性组件。

更多信息

有关开发、作者、贡献等方面的更多信息,请访问ICU4X主页

依赖项

~5–18MB
~187K SLoC