i18n
Internationalization in Resuma Flow — load locale strings server-side in #[load].
Recommended crates
fluent/fluent-bundle— Mozilla Fluent (.ftl files)rust-i18n— compile-time JSON/YAML catalogs
Locale loader
#[load]
async fn i18n(req: &FlowRequest) -> Messages {
let lang = req.query_param("lang")
.or_else(|| req.header("accept-language").map(|s| s.split(',').next().unwrap_or("en")))
.unwrap_or("en");
Messages::load(lang).await
}
pub fn page(_req: FlowRequest) -> View {
let t = use_i18n_load();
view! {
<h1>{t.get("home.title")}</h1>
<p>{t.get("home.lead")}</p>
}
}URL strategy
/en/docs, /es/docs via Flow file routes or ?lang=es query param with #[load] cache keys per locale.