15个版本 (8个破坏性版本)
0.9.5 | 2024年5月11日 |
---|---|
0.9.4 | 2023年12月13日 |
0.9.1 | 2022年10月19日 |
0.9.0 | 2020年5月6日 |
0.4.1 | 2019年7月29日 |
#406 in 国际化 (i18n)
每月91次下载
在 5 个Crates中(直接使用3个) 使用
650KB
12K SLoC
unic-locale
unic-locale
是管理 Unicode Locale Identifiers 的API。
该库提供了一种从字符串创建结构体、操作其字段、规范化和序列化为字符串的方法。
用法
use unic_locale::{Locale, ExtensionType};
let loc: Locale = "en-US-u-hc-h12".parse()
.expect("Parsing.failed");
assert_eq!(loc.language(), "en");
assert_eq!(loc.script(), None);
assert_eq!(loc.region(), Some("US"));
loc.extensions.unicode.set_keyword("ca", "buddhist")
.expect("Setting extension failed.");
let val = loc.extensions.unicode.keyword("ca")
.expect("Getting extension value failed.")
.collect::<Vec<_>>();
assert_eq!(val, vec!["buddhist"]);
assert_eq!(&loc.to_string(), "en-US-u-ca-buddhist-hc-h12");
宏
unic-locale
可以通过 features = ["macros"]
编译,这将启用 locale!
宏
use unic_locale::locale;
let loc = locale!("en-US-u-hc-h24");
assert_eq!(&loc.to_string(), "en-US-u-hc-h24")
该宏允许在编译时解析和验证字面量区域标识符。
状态
该库提供基本块,但非常基础。
特别是,支持的扩展列表非常有限,操作它们的易用性应得到改善。
参与
unic-locale
是开源的,采用Apache License 2.0许可。我们鼓励大家查看我们的代码,并将倾听您的反馈。
依赖关系
~0.4–0.8MB
~20K SLoC