jb/src/set_lang.ml
2025-01-03 20:49:15 +01:00

28 lines
691 B
OCaml

open Drame
open Lang
let set_session request lang =
Session.set request Lang.session_param_name (Fmt.str "%a" Lang.pp lang)
let to_value lang request =
set_session request lang;
let redirect =
match Drame.Request.query request "redirect" with
| None -> Sitemap.home
| Some r -> r
in
let content =
txt request ~en:"I'm speaking english now!"
~fr:"Je parle française maintenant !"
in
let page =
Template.render request
~h1:{ en = "Language choice"; fr = "Choix de la langue" }
content
in
Error (Status.Found redirect, page)
let to_french request = to_value Lang.French request
let to_english request = to_value Lang.English request