9 unstable releases (4 breaking)

0.4.0 Sep 1, 2018
0.3.0 Apr 30, 2018
0.2.0 Oct 5, 2017
0.1.0 Sep 26, 2017
0.0.2 Aug 30, 2015

#3 in Localization (L10n)

Download history 58/week @ 2018-08-06 48/week @ 2018-08-13 5/week @ 2018-08-20 8/week @ 2018-08-27 17/week @ 2018-09-03 6/week @ 2018-09-10 6/week @ 2018-09-17 32/week @ 2018-10-01 8/week @ 2018-10-08 2/week @ 2018-10-15 16/week @ 2018-10-22

114 downloads per month

MIT license

2.5MB
42K SLoC

rust-pinyin

Build Status Coverage Status Crates.io Version Doc

汉语拼音转换工具 Rust 版

Installation

Add this to your Cargo.toml:

[dependencies]
pinyin = "0.4"

and this to your crate root:

extern crate pinyin;

Documentation

API documentation can be found here: https://docs.rs/pinyin/

Usage

extern crate pinyin;

pub fn main() {
    let hans = "中国人";
    let mut args = pinyin::Args::new();

    // 默认输出 [["zhong"] ["guo"] ["ren"]]
    println!("{:?}",  pinyin::pinyin(hans, &args));
    // ["zhong", "guo", "ren"]
    println!("{:?}",  pinyin::lazy_pinyin(hans, &args));

    // 包含声调 [["zhōng"], ["guó"], ["rén"]]
    args.style = pinyin::Style::Tone;
    println!("{:?}",  pinyin::pinyin(hans, &args));

    // 声调用数字表示 [["zho1ng"] ["guo2"] ["re2n"]]
    args.style = pinyin::Style::Tone2;
    println!("{:?}",  pinyin::pinyin(hans, &args));

    // 开启多音字模式
    args = pinyin::Args::new();
    args.heteronym = true;
    // [["zhong", "zhong"] ["guo"] ["ren"]]
    println!("{:?}",  pinyin::pinyin(hans, &args));

    // [["zho1ng", "zho4ng"] ["guo2"] ["re2n"]]
    args.style = pinyin::Style::Tone2;
    println!("{:?}",  pinyin::pinyin(hans, &args));
}

Build

$ make build

Test

$ make test

Related Projects

No runtime deps