diff --git a/web.go b/web.go index 11adf5b..d15fbac 100644 --- a/web.go +++ b/web.go @@ -85,6 +85,9 @@ func getInfo(r *http.Request) map[string]interface{} { templinfo["IconName"] = iconName templinfo["UserInfo"] = u templinfo["UserSep"] = userSep + templinfo["Lang"] = getLangCookie(r) + templinfo["i18n"] = setLangStr(getLangCookie(r)) + if u != nil { var combos []string combocache.Get(u.UserID, &combos) @@ -99,12 +102,17 @@ func homepage(w http.ResponseWriter, r *http.Request) { var honks []*Honk var userid int64 = -1 - templinfo["ServerMessage"] = serverMsg + templinfo["ServerMessage"] = serverMsg if u == nil || r.URL.Path == "/front" { switch r.URL.Path { case "/events": honks = geteventhonks(userid) - templinfo["ServerMessage"] = "some recent and upcoming events" + switch templinfo["Lang"] { + case "fr": + templinfo["ServerMessage"] = "quelques évenements récents et à venir" + default: + templinfo["ServerMessage"] = "some recent and upcoming events" + } default: templinfo["ShowRSS"] = true honks = getpublichonks() @@ -113,17 +121,32 @@ func homepage(w http.ResponseWriter, r *http.Request) { userid = u.UserID switch r.URL.Path { case "/atme": - templinfo["ServerMessage"] = "at me!" + switch templinfo["Lang"] { + case "fr": + templinfo["ServerMessage"] = "pour moi!" + default: + templinfo["ServerMessage"] = "at me!" + } templinfo["PageName"] = "atme" honks = gethonksforme(userid, 0) honks = osmosis(honks, userid, false) case "/longago": - templinfo["ServerMessage"] = "long ago and far away!" + switch templinfo["Lang"] { + case "fr": + templinfo["ServerMessage"] = "il y a longtemps" + default: + templinfo["ServerMessage"] = "long ago and far away!" + } templinfo["PageName"] = "longago" honks = gethonksfromlongago(userid, 0) honks = osmosis(honks, userid, false) case "/events": - templinfo["ServerMessage"] = "some recent and upcoming events" + switch templinfo["Lang"] { + case "fr": + templinfo["ServerMessage"] = "quelques événements récents et à venir" + default: + templinfo["ServerMessage"] = "some recent and upcoming events" + } templinfo["PageName"] = "events" honks = geteventhonks(userid) honks = osmosis(honks, userid, true) @@ -132,7 +155,12 @@ func homepage(w http.ResponseWriter, r *http.Request) { honks = gethonksforuserfirstclass(userid, 0) honks = osmosis(honks, userid, true) case "/saved": - templinfo["ServerMessage"] = "saved honks" + switch templinfo["Lang"] { + case "fr": + templinfo["ServerMessage"] = "klaxons enregistrés" + default: + templinfo["ServerMessage"] = "saved honks" + } templinfo["PageName"] = "saved" honks = getsavedhonks(userid, 0) default: @@ -733,6 +761,8 @@ func showhonker(w http.ResponseWriter, r *http.Request) { templinfo["PageArg"] = name templinfo["ServerMessage"] = msg templinfo["HonkCSRF"] = login.GetCSRF("honkhonk", r) + templinfo["Lang"] = getLangCookie(r) + honkpage(w, u, honks, templinfo) } @@ -744,7 +774,12 @@ func showcombo(w http.ResponseWriter, r *http.Request) { templinfo := getInfo(r) templinfo["PageName"] = "combo" templinfo["PageArg"] = name - templinfo["ServerMessage"] = "honks by combo: " + name + switch templinfo["Lang"] { + case "fr": + templinfo["ServerMessage"] = "klaxons par groupes: " + name + default: + templinfo["ServerMessage"] = "honks by combo: " + name + } templinfo["HonkCSRF"] = login.GetCSRF("honkhonk", r) honkpage(w, u, honks, templinfo) } @@ -1109,8 +1144,9 @@ func saveuser(w http.ResponseWriter, r *http.Request) { options.MapLink = "" } options.Reaction = r.FormValue("reaction") - - sendupdate := false + setLangCookie(w, r) + + sendupdate := false ava := re_avatar.FindString(whatabout) if ava != "" { whatabout = re_avatar.ReplaceAllString(whatabout, "") @@ -2179,11 +2215,22 @@ func webhydra(w http.ResponseWriter, r *http.Request) { case "atme": honks = gethonksforme(userid, wanted) honks = osmosis(honks, userid, false) - templinfo["ServerMessage"] = "at me!" + switch templinfo["Lang"] { + case "fr": + templinfo["ServerMessage"] = "pour moi!" + default: + templinfo["ServerMessage"] = "at me!" + } case "longago": honks = gethonksfromlongago(userid, wanted) honks = osmosis(honks, userid, false) - templinfo["ServerMessage"] = "from long ago" + + switch templinfo["Lang"] { + case "fr": + templinfo["ServerMessage"] = "il y a longtemps" + default: + templinfo["ServerMessage"] = "from long ago" + } case "home": honks = gethonksforuser(userid, wanted) honks = osmosis(honks, userid, true) @@ -2191,26 +2238,53 @@ func webhydra(w http.ResponseWriter, r *http.Request) { case "first": honks = gethonksforuserfirstclass(userid, wanted) honks = osmosis(honks, userid, true) - templinfo["ServerMessage"] = "first class only" + + switch templinfo["Lang"] { + case "fr": + templinfo["ServerMessage"] = "première classe seulement" + default: + templinfo["ServerMessage"] = "first class only" + } case "saved": honks = getsavedhonks(userid, wanted) templinfo["PageName"] = "saved" - templinfo["ServerMessage"] = "saved honks" + switch templinfo["Lang"] { + case "fr": + templinfo["ServerMessage"] = "klaxons enregistrés" + default: + templinfo["ServerMessage"] = "saved honks" + } case "combo": c := r.FormValue("c") honks = gethonksbycombo(userid, c, wanted) honks = osmosis(honks, userid, false) - templinfo["ServerMessage"] = "honks by combo: " + c + switch templinfo["Lang"] { + case "fr": + templinfo["ServerMessage"] = "klaxons par groupe: " + c + default: + templinfo["ServerMessage"] = "honks by combo: " + c + } case "convoy": c := r.FormValue("c") honks = gethonksbyconvoy(userid, c, wanted) honks = osmosis(honks, userid, false) - templinfo["ServerMessage"] = "honks in convoy: " + c + switch templinfo["Lang"] { + case "fr": + templinfo["ServerMessage"] = "klaxons dans le convoi: " + c + default: + templinfo["ServerMessage"] = "honks in convoy: " + c + } case "honker": xid := r.FormValue("xid") honks = gethonksbyxonker(userid, xid, wanted) - msg := templates.Sprintf(`honks by honker: %s`, xid, xid) - templinfo["ServerMessage"] = msg + switch templinfo["Lang"] { + case "fr": + msg := templates.Sprintf(`klaxons par le klaxonneur: %s`, xid, xid) + templinfo["ServerMessage"] = msg + default: + msg := templates.Sprintf(`honks by honker: %s`, xid, xid) + templinfo["ServerMessage"] = msg + } default: http.NotFound(w, r) } @@ -2436,6 +2510,7 @@ func serve() { getters.HandleFunc("/server", serveractor) posters.HandleFunc("/server/inbox", serverinbox) posters.HandleFunc("/inbox", serverinbox) + posters.HandleFunc("/langcookie", setLangCookie) getters.HandleFunc("/style.css", serveasset) getters.HandleFunc("/local.css", serveasset)