6 releases
| 0.2.1 | Sep 22, 2024 |
|---|---|
| 0.2.0 | Sep 21, 2024 |
| 0.1.3 | Sep 10, 2024 |
| 0.1.2 | Jun 3, 2024 |
| 0.1.1 | May 31, 2024 |
#588 in Internationalization (i18n)
255 downloads per month
41KB
296 lines
chinese-rand
Random generation of data structures in Chinese, using Rust
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, "六分之七");
#[cfg(feature = "gregorian")]
{
// Now setting the random seed just in order to
//predict the generated values
fastrand::seed(91);
let gregorianGenerator = generator.gregorian();
let delta_time = gregorianGenerator.delta_time(
gregorian::DeltaTimeParams {
formal: true
}
);
assert_eq!(
delta_time.to_chinese(Variant::Simplified),
"差六分五点"
);
}
Ok(())
}
Features
-
fastrand: enablesFastRandGenerator, based on fastrand. Enabled by default. -
digit-sequence: enables random generation of data types - likeDecimal- based on DigitSequence. -
currency: enables the random generation of the data types in thecurrencymodule. -
gregorian: enables the random generation of the data types in thegregorianmodule, which is dedicated to dates and times.Also enables:
digit-sequence.
Crates.io
https://crates.io/crates/chinese-rand
Documentation
License
Dependencies
~375KB