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)

Download history · Rust 包仓库 74/week @ 2024-04-21 · Rust 包仓库 43/week @ 2024-04-28 · Rust 包仓库 132/week @ 2024-05-05 · Rust 包仓库 55/week @ 2024-05-12 · Rust 包仓库 31/week @ 2024-05-19 · Rust 包仓库 50/week @ 2024-05-26 · Rust 包仓库 42/week @ 2024-06-02 · Rust 包仓库 24/week @ 2024-06-09 · Rust 包仓库 30/week @ 2024-06-16 · Rust 包仓库 19/week @ 2024-06-23 · Rust 包仓库 6/week @ 2024-06-30 · Rust 包仓库 12/week @ 2024-07-07 · Rust 包仓库 19/week @ 2024-07-14 · Rust 包仓库 10/week @ 2024-07-21 · Rust 包仓库 51/week @ 2024-07-28 · Rust 包仓库 9/week @ 2024-08-04 · Rust 包仓库

每月91次下载
5 个Crates中(直接使用3个) 使用

MIT/Apache

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