diff --git a/web.go b/web.go
index 11adf5b..7c0c184 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,7 +102,7 @@ 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":
@@ -113,17 +116,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 +150,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 +756,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 +769,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 +1139,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 +2210,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 +2233,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 +2505,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)