diff options
author | Thomas Voss <mail@thomasvoss.com> | 2025-07-23 20:01:32 +0200 |
---|---|---|
committer | Thomas Voss <mail@thomasvoss.com> | 2025-07-23 20:01:32 +0200 |
commit | 1593a094e1e9cf3006a084883539533856e1b535 (patch) | |
tree | 493e016c3d07f8428bc1d8a7ffb4b69190f8816d /src/http.go | |
parent | 5f1bd49cfef5852bbd539754fb31e8adada29ef3 (diff) |
Use a semi-in-house translation system
Diffstat (limited to 'src/http.go')
-rw-r--r-- | src/http.go | 18 |
1 files changed, 10 insertions, 8 deletions
diff --git a/src/http.go b/src/http.go index 4a56430..097b8f8 100644 --- a/src/http.go +++ b/src/http.go @@ -10,12 +10,12 @@ import ( "net/http" "slices" "strconv" - "strings" . "git.thomasvoss.com/euro-cash.eu/pkg/try" "git.thomasvoss.com/euro-cash.eu/src/dbx" "git.thomasvoss.com/euro-cash.eu/src/email" + "git.thomasvoss.com/euro-cash.eu/src/i18n" ) type middleware = func(http.Handler) http.Handler @@ -87,19 +87,21 @@ func finalHandler(w http.ResponseWriter, r *http.Request) { } data := r.Context().Value("td").(*templateData) - t.Execute(w, data) + if err := t.Execute(w, data); err != nil { + log.Println(err) + } } func i18nHandler(next http.Handler) http.Handler { return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { - var p, pZero Printer + var p, pZero i18n.Printer if c, err := r.Cookie("locale"); err == nil { - p = printers[strings.ToLower(c.Value)] + p = i18n.Printers[c.Value] } td := r.Context().Value("td").(*templateData) - td.Printer = cmp.Or(p, defaultPrinter) + td.Printer = cmp.Or(p, i18n.DefaultPrinter) if p == pZero { http.SetCookie(w, &http.Cookie{ @@ -124,14 +126,14 @@ func countryHandler(next http.Handler) http.Handler { func mintageHandler(next http.Handler) http.Handler { return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { td := r.Context().Value("td").(*templateData) - td.Code = strings.ToLower(r.FormValue("code")) + td.Code = r.FormValue("code") if !slices.ContainsFunc(td.Countries, func(c country) bool { return c.Code == td.Code }) { td.Code = td.Countries[0].Code } - td.Type = strings.ToLower(r.FormValue("type")) + td.Type = r.FormValue("type") switch td.Type { case "circ", "nifc", "proof": default: @@ -152,7 +154,7 @@ func mintageHandler(next http.Handler) http.Handler { func setUserLanguage(w http.ResponseWriter, r *http.Request) { loc := r.FormValue("locale") - _, ok := printers[strings.ToLower(loc)] + _, ok := i18n.Printers[loc] if !ok { w.WriteHeader(http.StatusUnprocessableEntity) fmt.Fprintf(w, "Locale ā%sā is invalid or unsupported", loc) |