package config var ( defaultLang = NewLang("lang") ) func SetDefaultLang(l *Lang) { defaultLang = l } type Lang struct { baseDir string // lang file base dir lang string // current language words map[string]string // single lang words supported map[string]int // supported langs } func NewLang(dir string) *Lang { return &Lang{ baseDir: dir, lang: "en", words: make(map[string]string), supported: map[string]int{"en": 1}, } } func (self *Lang) Register(lang string) { self.supported[lang] = 1 } func (self *Lang) ChLang(newLang string) { // check self.lang = newLang // reload } func (self *Lang) Get(k string) string { if r, ok := self.words[k]; ok { return r } //log return "" } func (self *Lang) reload() { } func (self *Lang) check() { } func (self *Lang) scan() { }