mod printer;
pub use printer::Printer;
use crate::error::AppError;
#[cfg(feature = "cli")]
pub fn print_startup_error(app_name: &str, error: &AppError) {
eprintln!("[{app_name}] {}: {error}", startup_error_label());
}
#[cfg(feature = "cli")]
pub fn print_startup_message(app_name: &str, message_en: &str, message_zh: &str) {
let message = localized_startup_text(message_en, message_zh);
eprintln!("[{app_name}] {}: {message}", startup_error_label());
}
#[cfg(feature = "cli")]
fn startup_error_label() -> &'static str {
localized_startup_text("error", "错误")
}
#[cfg(feature = "cli")]
fn localized_startup_text<'a>(message_en: &'a str, message_zh: &'a str) -> &'a str {
match crate::cli::resolve_runtime_language(None, None).code() {
"zh-CN" => message_zh,
_ => message_en,
}
}