14 个版本 (7 个稳定版)
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.1.0 | 2020 年 10 月 15 日 |
在 国际化 (i18n) 中排名 #25
每月下载量 448,111
用于 267 个 Crates (直接使用 43)
570KB
10K SLoC
icu_locid
解析、操作和序列化 Unicode 语言和区域标识符。
此模块作为其自己的 crate (icu_locid
) 以及 icu
crate 的一部分发布。有关 ICU4X 项目更多详细信息,请参阅后者。
该模块提供了将字符串解析为按照 UTS #35: Unicode LDML 3. Unicode Language and Locale Identifiers
定义的规范良好的语言或区域标识符的算法。
Locale
是用于存储有关语言、脚本、地区、变体和扩展信息的最常见结构。在几乎所有情况下,此结构应作为所有区域管理操作的基单位使用。
LanguageIdentifier
是 Locale
的严格子集,在 Unicode 扩展
不相关的一小范围内情况中可能很有用。
如果有疑问,请使用 Locale
。
示例
use icu::locid::Locale;
use icu::locid::{
locale,
subtags::{language, region},
};
let mut loc: Locale = locale!("en-US");
assert_eq!(loc.id.language, language!("en"));
assert_eq!(loc.id.script, None);
assert_eq!(loc.id.region, Some(region!("US")));
assert_eq!(loc.id.variants.len(), 0);
loc.id.region = Some(region!("GB"));
assert_eq!(loc, locale!("en-GB"));
有关更多详细信息,请参阅 Locale
和 LanguageIdentifier
。
更多信息
有关开发、作者、贡献等信息,请访问 ICU4X 主页
。
依赖项
~260–790KB
~18K SLoC