Internationalisation

Runique template language — 9 languages available.

● ● ●
use runique::prelude::*;

// In main() — before starting the server
set_lang(Lang::Fr);    // French
set_lang(Lang::En);    // English (default)
set_lang(Lang::De);    // German
set_lang(Lang::Es);    // Spanish
set_lang(Lang::It);    // Italian
set_lang(Lang::Pt);    // Portuguese
set_lang(Lang::Ja);    // Japanese
set_lang(Lang::Zh);    // Chinese
set_lang(Lang::Ru);    // Russian
Lang::Fr  — French
Lang::En  — English    (default)
Lang::De  — German
Lang::Es  — Spanish
Lang::It  — Italian
Lang::Pt  — Portuguese
Lang::Ja  — Japanese
Lang::Zh  — Chinese
Lang::Ru  — Russian

// Auto-detection from browser locale
let lang = Lang::from("fr-FR");  // → Lang::Fr
let lang = Lang::from("en-US");  // → Lang::En
// Framework messages (form errors, admin, CLI) follow set_lang().
// Your own texts: translate in the handler, then pass them to the template.
use runique::utils::trad::{t, tf};

let required = t("forms.required");          // "This field is required" (En)
let too_short = tf("forms.too_short", &[8]); // the key's {} replaced by 8

context_update!(request => {
    "required_msg" => &required,
    "too_short_msg" => &too_short,
});