#random #chinese #generator #fastrand #localization #logograms

chinese-rand

Random generation of data structures in Chinese, using Rust

3 releases

0.1.2 Jun 3, 2024
0.1.1 May 31, 2024
0.1.0 May 22, 2024

#20 in #chinese

Download history 115/week @ 2024-05-20 137/week @ 2024-05-27 167/week @ 2024-06-03

419 downloads per month

MIT license

39KB
275 lines

chinese-rand

Random generation of data structures in Chinese, using Rust

CI Crates.io Version

This crate is designed to instantiate random instances of the data structures implementing the ChineseFormat trait, made available by chinese_format.

The core concept is the ChineseFormatGenerator struct, which can be instantiated by passing an object implementing the RawGenerator trait:

use chinese_format::{ChineseFormat, Fraction, Variant};
use chinese_rand::*;

fn main() -> GenericResult<()> {
    let generator = ChineseFormatGenerator::new(FastRandGenerator::new());

    // Now setting the random seed just in order to
    //predict the generated values
    fastrand::seed(90);

    let fraction: Fraction = generator.fraction(1..=10, 1..=10)?;

    let chinese = fraction.to_chinese(Variant::Simplified);

    assert_eq!(chinese, "六分之七");

    Ok(())
}

Features

  • fastrand: enables FastRandGenerator, based on fastrand. Enabled by default.

  • digit-sequence: enables random generation of data types - like Decimal - based on DigitSequence.

  • currency: enables the random generation of the data types in the currency module.

  • gregorian: enables the random generation of the data types in the gregorian module, which is dedicated to dates and times.

    Also enables: digit-sequence.

Crates.io

https://crates.io/crates/chinese-rand

Documentation

https://docs.rs/chinese-rand

License

MIT

Dependencies

~385KB