A searchable Chinese / English dictionary with helpful utilities.
Querying the dictionary ```rust extern crate chinese_dictionary;
use chinese_dictionary::query;
// Querying the dictionary returns an Option<Vec<&WordEntry>>
// Read more about the WordEntry struct below
let text = "to run";
let results = query(text).unwrap();
assert_eq!("执行", results[0].simplified);
```
Classifying a string of text ```rust extern crate chinese_dictionary;
use chinese_dictionary::{ClassificationResult, classify};
// Read more about the ClassificationResult enum below assert_eq!(ClassificationResult::PY, classify("nihao")); ```
Convert between Traditional and Simplified Chinese characters ```rust extern crate chinese_dictionary;
use chinesedictionary::{simplifiedtotraditional, traditionalto_simplified};
asserteq!("简体字", traditionaltosimplified("簡體字")); asserteq!("繁體字", simplifiedtotraditional("繁体字")); ```
Segment a string of characters ```rust extern crate chinese_dictionary;
use chinese_dictionary::{tokenize};
assert_eq!(vec!["今天", "天气", "不错"], tokenize("今天天气不错")); ```
WordEntry
struct```rust extern crate chinese_dictionary;
use chinese_dictionary::{MeasureWord, WordEntry};
let examplemeasureword = MeasureWord { traditional: "exampletraditional".tostring(), simplified: "examplesimplified".tostring(), pinyinmarks: "examplepinyinmarks".tostring(), pinyinnumbers: "examplepinyinnumbers".tostring(), };
let example = WordEntry { traditional: "繁體字".tostring(), simplified: "繁体字".tostring(), pinyinmarks: "fán tǐ zì".tostring(), pinyinnumbers: "fan2 ti3 zi4".tostring(), english: vec!["traditional Chinese character".tostring()], tonemarks: vec![2 as u8, 3 as u8, 4 as u8], hash: 000000 as u64, measurewords: vec![examplemeasureword], hsk: 6 as u8, wordid: 11111111 as u32, }; ```
ClassificationResult
enumThe possible values for the ClassificationResult
enum are:
- PY
: Represents Pinyin
- EN
: Represents English
- ZH
: Represents Chinese
- UN
: Represents an uncertain classification result
This software is licensed under the MIT License.
This project uses data from the CC-CEDICT, licensed under the Creative Commons Attribute-Share Alike 4.0 License. This data has been formatted to work with this project. The .dictionary
files within the data/
directory are licensed under the Creative Commons Attribute-Share Alike 4.0 License.