i18n-rs 1.0.0

A Rust library for internationalization (i18n) support
Documentation
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(())
}