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) 中排名
每月下载量 87,922
在 24 个 Crates 中使用 (直接使用 6 个)
420KB
7K SLoC
icu_list
以地域敏感的方式格式化列表。
此模块作为独立的 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