use i18n_rs::Translator;
fn main() -> Result<(), Box<dyn std::error::Error>> {
let json = r#"{
"en": {
"greeting": {
"welcome": "Welcome!",
"farewell": "See you later!"
}
},
"es": {
"greeting": {
"welcome": "¡Bienvenido!"
}
}
}"#;
let translator = Translator::builder()
.fallback_language("en")
.load_from_str(json)?;
println!(
"Spanish welcome: {}",
translator
.translate("es", "greeting.welcome")
.unwrap_or("missing")
);
println!(
"Spanish farewell (fallback): {}",
translator
.translate_with_fallback("es", "greeting.farewell")
.unwrap_or("missing")
);
Ok(())
}