diff --git a/server/http_config_metadata_handler.go b/server/http_config_metadata_handler.go index a58887001..fe3ce2684 100644 --- a/server/http_config_metadata_handler.go +++ b/server/http_config_metadata_handler.go @@ -9,6 +9,16 @@ import ( "github.com/gorilla/mux" ) +var supportedLanguages = []string{"en", "de"} + +func getLang(r *http.Request) string { + lang := r.URL.Query().Get("lang") + if !slices.Contains(supportedLanguages, lang) { + lang = supportedLanguages[0] + } + return lang +} + // templatesHandler returns the list of templates by class func templatesHandler(w http.ResponseWriter, r *http.Request) { vars := mux.Vars(r) @@ -19,7 +29,7 @@ func templatesHandler(w http.ResponseWriter, r *http.Request) { return } - lang := r.URL.Query().Get("lang") + lang := getLang(r) templates.EncoderLanguage(lang) if name := r.URL.Query().Get("name"); name != "" { @@ -60,7 +70,7 @@ func productsHandler(w http.ResponseWriter, r *http.Request) { } tmpl := templates.ByClass(class) - lang := r.URL.Query().Get("lang") + lang := getLang(r) usage := r.URL.Query().Get("usage") res := make(products, 0)