use ctor::ctor;
use rust_l10n::{detect_language, f, force_language, register_translations, reset_language, t};
#[ctor]
fn init_translations() {
register_translations! {
ja: {
"Hello" => "こんにちは",
"Welcome to {}" => "{}へようこそ",
"Error: {}" => "エラー: {}",
"File not found" => "ファイルが見つかりません",
"Success" => "成功",
},
es: {
"Hello" => "Hola",
"Welcome to {}" => "Bienvenido a {}",
"Error: {}" => "Error: {}",
"File not found" => "Archivo no encontrado",
"Success" => "Éxito",
}
}
}
fn main() {
println!("=== rust-l10n Demo ===\n");
println!("Detected language: {}\n", detect_language());
println!("Default (from environment):");
println!(" {}", t!("Hello"));
println!(" {}", f!("Welcome to {}", "Rust"));
println!(" {}\n", t!("Success"));
force_language("ja");
println!("Japanese (forced):");
println!(" {}", t!("Hello"));
println!(" {}", f!("Welcome to {}", "Rust"));
println!(" {}", t!("File not found"));
println!(" {}\n", f!("Error: {}", "接続失敗"));
force_language("es");
println!("Spanish (forced):");
println!(" {}", t!("Hello"));
println!(" {}", f!("Welcome to {}", "Rust"));
println!(" {}\n", t!("Success"));
reset_language();
println!("Back to auto-detection:");
println!(" {}", t!("Hello"));
}