diff --git a/honk-0.9.6/web.go.orig b/honk-0.9.6/web.go index 600f28b..cadca17 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 " + default: + templinfo["ServerMessage"] = "saved honks" + } templinfo["PageName"] = "saved" honks = getsavedhonks(userid, 0) default: @@ -744,6 +772,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) } @@ -755,7 +785,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) } @@ -1120,8 +1155,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, "") @@ -2192,11 +2228,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) @@ -2229,6 +2276,12 @@ func webhydra(w http.ResponseWriter, r *http.Request) { `, login.GetCSRF("submithonker", r), xid) msg := templates.Sprintf(`honks by honker: %s%s`, xid, xid, miniform) templinfo["ServerMessage"] = msg + switch templinfo["Lang"]{ + case "fr": + templinfo["ServerMessage"] = "klaxons enregistrés" + default: + templinfo["ServerMessage"] = "saved honks" + } default: http.NotFound(w, r) } @@ -2454,6 +2507,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)