use readsight::ReadSight;
fn main() -> Result<(), Box<dyn std::error::Error>> {
let samples: &[(&str, &str)] = &[
(
"en-us",
"The quick brown fox jumps over the lazy dog. It was a sunny day.",
),
(
"de-1996",
"Ein schneller brauner Fuchs springt über den faulen Hund.",
),
("es", "El veloz zorro marrón salta sobre el perro perezoso."),
(
"it",
"La volpe marrone salta sopra il cane pigro. Era una bella giornata.",
),
(
"ru",
"Быстрая коричневая лиса прыгает через ленивую собаку.",
),
("pl", "Szybki brązowy lis przeskakuje nad leniwym psem."),
("ar", "الثعلب البني السريع يقفز فوق الكلب الكسول."),
];
println!(
"{} languages available",
ReadSight::supported_languages(None).len()
);
println!();
for (code, text) in samples {
let rs = ReadSight::new(code)?;
let stats = rs.analyze(text)?;
println!(
"[{}] {} — words={} sentences={} syllables={}",
code,
rs.language().name,
stats.word_count,
stats.sentence_count,
stats.syllable_count
);
for formula in rs.supported_formulas().into_iter().take(3) {
let r = rs.score(&formula, text)?;
println!(
" {:<28} {:>7} {}",
r.formula_name, r.score, r.interpretation
);
}
println!();
}
Ok(())
}