refactor(10.2-01): nest framework packages under modules
- Move remaining beach packages and embedded admin assets\n- Rewrite framework, example, build, and gate paths
This commit is contained in:
24
modules/cabana/lang.go
Normal file
24
modules/cabana/lang.go
Normal file
@@ -0,0 +1,24 @@
|
||||
package cabana
|
||||
|
||||
import (
|
||||
"net/http"
|
||||
)
|
||||
|
||||
// adminLangPrefix is the only namespace the public bundle serves (D-20).
|
||||
const adminLangPrefix = "backend::lang."
|
||||
|
||||
// langBundle serves GET {prefix}/api/v1/lang: every backend::lang key as CLDR
|
||||
// forms for the request locale, with the fallback locale's keys underneath.
|
||||
// It is public (the login screen needs it) and never includes another
|
||||
// namespace.
|
||||
func (s *service) langBundle(w http.ResponseWriter, r *http.Request) {
|
||||
tr := s.translator()
|
||||
locale := schemaLocale(r.Context(), tr)
|
||||
data := map[string]map[string]string{}
|
||||
if tr != nil {
|
||||
locale = tr.Resolved(locale, adminLangPrefix)
|
||||
data = tr.Bundle(locale, adminLangPrefix)
|
||||
}
|
||||
w.Header().Set("Cache-Control", "no-cache")
|
||||
WriteData(w, http.StatusOK, data, map[string]any{"locale": locale})
|
||||
}
|
||||
Reference in New Issue
Block a user