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

#34 in Internationalization (i18n)

Download history 1/week @ 2018-10-10 3/week @ 2018-10-17 14/week @ 2018-10-24 10/week @ 2018-10-31 122/week @ 2018-11-07 241/week @ 2018-11-14 267/week @ 2018-11-21 243/week @ 2018-11-28 287/week @ 2018-12-05 272/week @ 2018-12-12 190/week @ 2018-12-19 340/week @ 2018-12-26 136/week @ 2019-01-02

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