1
0
Fork 0
forked from External/ergo

Set default client language when creating them

This commit is contained in:
Daniel Oaks 2018-01-22 21:30:28 +10:00
parent 275227a461
commit 090095b2b9
3 changed files with 16 additions and 2 deletions

View file

@ -13,13 +13,15 @@ type LanguageManager struct {
sync.RWMutex
Info map[string]LangData
translations map[string]map[string]string
defaultLang string
}
// NewLanguageManager returns a new LanguageManager.
func NewLanguageManager(languageData map[string]LangData) *LanguageManager {
func NewLanguageManager(defaultLang string, languageData map[string]LangData) *LanguageManager {
lm := LanguageManager{
Info: make(map[string]LangData),
translations: make(map[string]map[string]string),
defaultLang: defaultLang,
}
// make fake "en" info
@ -38,6 +40,17 @@ func NewLanguageManager(languageData map[string]LangData) *LanguageManager {
return &lm
}
// Default returns the default languages.
func (lm *LanguageManager) Default() []string {
lm.RLock()
defer lm.RUnlock()
if lm.defaultLang == "" {
return []string{}
}
return []string{lm.defaultLang}
}
// Count returns how many languages we have.
func (lm *LanguageManager) Count() int {
lm.RLock()