summaryrefslogtreecommitdiffstats
path: root/utils/i18n.go
diff options
context:
space:
mode:
Diffstat (limited to 'utils/i18n.go')
-rw-r--r--utils/i18n.go81
1 files changed, 5 insertions, 76 deletions
diff --git a/utils/i18n.go b/utils/i18n.go
index e02fee558..47796da8d 100644
--- a/utils/i18n.go
+++ b/utils/i18n.go
@@ -12,10 +12,6 @@ import (
"github.com/nicksnyder/go-i18n/i18n"
)
-const (
- SESSION_LOCALE = "MMLOCALE"
-)
-
var T i18n.TranslateFunc
var locales map[string]string = make(map[string]string)
@@ -71,80 +67,13 @@ func SetTranslations(locale string) i18n.TranslateFunc {
return translations
}
-// func GetTranslations(w http.ResponseWriter, r *http.Request) i18n.TranslateFunc {
-// translations, _ := getTranslationsAndLocale(w, r)
-// return translations
-// }
-
-// func GetTranslationsAndLocale(w http.ResponseWriter, r *http.Request) (i18n.TranslateFunc, string) {
-// return getTranslationsAndLocale(w, r)
-// }
-
-func SetLocaleCookie(w http.ResponseWriter, lang string, sessionCacheInMinutes int) {
- maxAge := (sessionCacheInMinutes * 60)
- cookie := &http.Cookie{
- Name: SESSION_LOCALE,
- Value: lang,
- Path: "/",
- MaxAge: maxAge,
- }
-
- http.SetCookie(w, cookie)
-}
-
-// var keyRegexp = regexp.MustCompile(`:[[:word:]]+`)
-// func MaybeExpandNamedText(text string, args ...interface{}) string {
-// var (
-// arg = args[0]
-// argval = reflect.ValueOf(arg)
-// )
-// if argval.Kind() == reflect.Ptr {
-// argval = argval.Elem()
-// }
-
-// if argval.Kind() == reflect.Map && argval.Type().Key().Kind() == reflect.String {
-// return expandNamedText(text, func(key string) reflect.Value {
-// return argval.MapIndex(reflect.ValueOf(key))
-// })
-// }
-// if argval.Kind() != reflect.Struct {
-// return text
-// }
-
-// return expandNamedText(text, argval.FieldByName)
-// }
-
-// func expandNamedText(text string, keyGetter func(key string) reflect.Value) string {
-// return keyRegexp.ReplaceAllStringFunc(text, func(key string) string {
-// val := keyGetter(key[1:])
-// if !val.IsValid() {
-// return key
-// }
-// newVar, _ := val.Interface().(string)
-// return newVar
-// })
-// }
-
func GetTranslationsAndLocale(w http.ResponseWriter, r *http.Request) (i18n.TranslateFunc, string) {
- var translations i18n.TranslateFunc
- var _ error
- localeCookie := ""
- if cookie, err := r.Cookie(SESSION_LOCALE); err == nil {
- localeCookie = cookie.Value
- if locales[localeCookie] != "" {
- translations, _ = i18n.Tfunc(localeCookie)
- return translations, localeCookie
- }
- }
-
- localeCookie = strings.Split(strings.Split(r.Header.Get("Accept-Language"), ",")[0], "-")[0]
- if locales[localeCookie] != "" {
- translations, _ = i18n.Tfunc(localeCookie)
- SetLocaleCookie(w, localeCookie, 10)
- return translations, localeCookie
+ headerLocale = strings.Split(strings.Split(r.Header.Get("Accept-Language"), ",")[0], "-")[0]
+ if locales[headerLocale] != "" {
+ translations, _ := i18n.Tfunc(locale)
+ return translations, headerLocale
}
- translations, _ = i18n.Tfunc(model.DEFAULT_LOCALE)
- SetLocaleCookie(w, model.DEFAULT_LOCALE, 10)
+ translations, _ := i18n.Tfunc(model.DEFAULT_LOCALE)
return translations, model.DEFAULT_LOCALE
}