3 个版本

0.1.2 2019 年 10 月 26 日
0.1.1 2019 年 10 月 25 日
0.1.0 2019 年 10 月 25 日

#231国际化(i18n)

MIT 许可证

14KB
148

Josa

惯用的 josa 选择器。

crates.io version crates.io license crates.io download

Josa 是一个 Rust 库,用于为韩语选择合适的 josa。

概述

push_josa 方法

Josa 是为 String 类型实现的 扩展特质。它的 API 与 push_str 方法类似。

use josa::JosaExt;
use josa::Josa::{EunNeun, IGa};

let mut user = "유진".to_owned();
let mut mackerel = "고등어".to_owned();

user.push_josa(EunNeun);
mackerel.push_josa(IGa);

let sentence = format!("{} {} 먹고싶다", user, mackerel);

assert_eq!(sentence, "유진은 고등어가 먹고싶다");

⚠️ 与 push_str 一样,push_josa 的参数是 String,而不是 str

++= 运算符

您可以使用 ++= 运算符来追加 josa。

use josa::Josa::{EunNeun, IGa};

let user = "유진".to_owned();
let mackerel = "고등어".to_owned();

let sentence = format!("{} {} 먹고싶다", user + EunNeun, mackerel + IGa);

assert_eq!(sentence, "유진은 고등어가 먹고싶다");

select 方法

如果您想将 josa 追加到格式化文本(如 <span>고양이</span>)中,可以使用 select 方法。

use josa::select;
use josa::Josa::IGa;

let cat = "고양이";
let josa = select(cat, IGa).unwrap();

let cat = format!(r#"<span class="bold">{}</span>{}"#, cat, josa);

assert_eq!(cat, r#"<span class="bold">고양이</span>가"#);

用法

在您的 Cargo.toml 中添加 josa 依赖。

[dependencies]
josa = "0.1.2"

现在您可以开始使用 josa 包了。

use josa::*;
// Use here..

文档

请参阅 docs.rs

路线图

select

随着 hygiene 2.0 (#54727) 稳定发布,我们将添加对以下宏的支持

select!("{}{은} {}{가} 먹고싶다", user, mackerel);

这比当前的语法更简洁

韩文字符枚举变体

随着 非 ASCII 标识符 (#55467) 的稳定发布,我们将将 josa 的名称更改为韩文

format!("{} {} 먹고싶다", user + 은는, mackerel + 이가);

许可证

在 MIT 许可证下分发。

依赖项

~18KB