summaryrefslogtreecommitdiffstats
path: root/utils/i18n.go
diff options
context:
space:
mode:
author=Corey Hulen <corey@hulen.com>2016-01-22 10:33:41 -0600
committer=Corey Hulen <corey@hulen.com>2016-01-22 10:33:41 -0600
commit34b461c1b291e701f3a396a9daa622bd4f27fc11 (patch)
treeb161df725183527494a18d420f378647934cd89e /utils/i18n.go
parentea6774b2d92712bf4e39eeaf3bcd0a272bb1493a (diff)
downloadchat-34b461c1b291e701f3a396a9daa622bd4f27fc11.tar.gz
chat-34b461c1b291e701f3a396a9daa622bd4f27fc11.tar.bz2
chat-34b461c1b291e701f3a396a9daa622bd4f27fc11.zip
PLT-7 adding loc header
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
}