//! Example showing localized progress bars use icu_locale::locale; use l10n_embed_derive::localize; use l10n_embed_interaction::{InteractionEnvironment, InteractionError, ProgressBar}; #[localize("examples/progress/*.ftl")] enum ProgressMessage { LongProgress, ShortProgress, Hello, } fn main() -> Result<(), InteractionError> { let environment = InteractionEnvironment::new(locale!("en-US"), true); let long_progress = ProgressBar::new(&environment, ProgressMessage::LongProgress, 200); let short_progress = ProgressBar::new(&environment, ProgressMessage::ShortProgress, 100); for _ in 0..100 { long_progress.increment(1); short_progress.increment(1); std::thread::sleep(std::time::Duration::from_millis(10)); } short_progress.finish(); environment.emit_message(ProgressMessage::Hello)?; for _ in 0..100 { long_progress.increment(1); std::thread::sleep(std::time::Duration::from_millis(10)); } Ok(()) }