10 个版本 (稳定版)

1.5.0 2024年5月28日
1.4.0 2023年11月16日
1.3.2 2023年10月3日
1.2.0 2023年4月14日
0.0.1 2021年4月29日

#156国际化 (i18n) 中排名

Download history 18295/week @ 2024-04-16 17428/week @ 2024-04-23 17444/week @ 2024-04-30 16805/week @ 2024-05-07 15240/week @ 2024-05-14 17537/week @ 2024-05-21 16731/week @ 2024-05-28 16737/week @ 2024-06-04 17010/week @ 2024-06-11 17654/week @ 2024-06-18 17880/week @ 2024-06-25 16687/week @ 2024-07-02 18394/week @ 2024-07-09 22066/week @ 2024-07-16 21360/week @ 2024-07-23 23340/week @ 2024-07-30

每月下载量 87,922
24 个 Crates 中使用 (直接使用 6 个)

Unicode-3.0

420KB
7K SLoC

icu_list crates.io

以地域敏感的方式格式化列表。

此模块作为独立的 crate (icu_list) 和 icu crate 的一部分发布。有关 ICU4X 项目的更多详细信息,请参阅后者。

示例

在西班牙语中格式化 列表

let list_formatter = ListFormatter::try_new_and_with_length(
    &locale!("es").into(),
    ListLength::Wide,
)
.expect("locale should be present");

assert_writeable_eq!(
    list_formatter.format(["España", "Suiza"].iter()),
    "España y Suiza",
);

// The Spanish 'y' sometimes becomes an 'e':
assert_writeable_eq!(
    list_formatter.format(["España", "Suiza", "Italia"].iter()),
    "España, Suiza e Italia",
);

在泰语中格式化 列表

let list_formatter = ListFormatter::try_new_or_with_length(
    &locale!("th").into(),
    ListLength::Short,
)
.expect("locale should be present");

// We can use any Writeables as inputs
assert_writeable_eq!(list_formatter.format(1..=3), "1, 2 หรือ 3",);

在英语中格式化单位列表

let list_formatter = ListFormatter::try_new_unit_with_length(
    &locale!("en").into(),
    ListLength::Wide,
)
.expect("locale should be present");

assert_writeable_eq!(
    list_formatter.format(["1ft", "2in"].iter()),
    "1ft, 2in",
);

注意:此最后一个示例尚未完全国际化。有关完整单位处理,请参阅 icu4x/2192

更多信息

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

依赖项

~5MB
~72K SLoC