#translation #random #level #hash-map #non-random #orthography #wikipedia-leet

leetspeak

随机、非随机和自定义的 leetspeak 翻译函数

4 个版本

0.2.0 2022 年 12 月 8 日
0.1.2 2022 年 10 月 24 日
0.1.1 2022 年 10 月 24 日
0.1.0 2022 年 10 月 24 日

#235 in 值格式化

AGPL-3.0-only

23KB
156

leetspeak

leetspeak crate leetspeak documentation build status minimum rustc 1.64.0

leetspeak 是一个支持随机、非随机和自定义 leetspeak 翻译的英文到 leetspeak 的翻译库。翻译基于 wikipedia/leet#orthography。使用此库非常简单

use leetspeak::Level;

let text = "sphinx of black quartz, judge my vow";

// Random leetspeak translation
let random_translation = leetspeak::translate(text);

// Non-random leetspeak translation, levels 1-3
let nonrandom_translation = leetspeak::translate_with_level(text, &Level::One);
assert_eq!(nonrandom_translation, r#"5ph1nx 0f 814ck qu427z, jud93 my v0w"#);

//Custom leetspeak translation (case-insensitive). Characters not in the hashmap are not changed.
let mapping = std::collections::HashMap::from([
    ('a', String::from("4")),
    ('c', String::from("<")),
    ('e', String::from("")),
    ('m', String::from(r#"/\/\"#)),
    ('p', String::from("|*")),
    ('s', String::from("ehs")),
    ('w', String::from("vv")),
    ('z', String::from("7_")),
]);

let custom_translation = leetspeak::translate_custom(text, mapping, &false);
assert_eq!(custom_translation, r#"ehs|*hinx of bl4<k qu4rt7_, judg€ /\/\y vovv"#);

贡献

这是一个开源项目,欢迎贡献者!仓库位于 github.com: leetspeak,开发计划/进度在 github.com: leetspeak/projects 上有文档记录。如果这个库缺少您希望的功能,请随时 发起讨论 或开发功能并 创建拉取请求

依赖项

~0.6–1.1MB
~24K SLoC