Kaynağa Gözat

Set default client language when creating them

tags/v0.11.0-alpha
Daniel Oaks 6 yıl önce
ebeveyn
işleme
090095b2b9
3 değiştirilmiş dosya ile 16 ekleme ve 2 silme
  1. 1
    0
      irc/client.go
  2. 14
    1
      irc/languages.go
  3. 1
    1
      irc/server.go

+ 1
- 0
irc/client.go Dosyayı Görüntüle

@@ -102,6 +102,7 @@ func NewClient(server *Server, conn net.Conn, isTLS bool) *Client {
102 102
 		nickCasefolded: "*",
103 103
 		nickMaskString: "*", // * is used until actual nick is given
104 104
 	}
105
+	client.languages = server.languages.Default()
105 106
 
106 107
 	client.recomputeMaxlens()
107 108
 	if isTLS {

+ 14
- 1
irc/languages.go Dosyayı Görüntüle

@@ -13,13 +13,15 @@ type LanguageManager struct {
13 13
 	sync.RWMutex
14 14
 	Info         map[string]LangData
15 15
 	translations map[string]map[string]string
16
+	defaultLang  string
16 17
 }
17 18
 
18 19
 // NewLanguageManager returns a new LanguageManager.
19
-func NewLanguageManager(languageData map[string]LangData) *LanguageManager {
20
+func NewLanguageManager(defaultLang string, languageData map[string]LangData) *LanguageManager {
20 21
 	lm := LanguageManager{
21 22
 		Info:         make(map[string]LangData),
22 23
 		translations: make(map[string]map[string]string),
24
+		defaultLang:  defaultLang,
23 25
 	}
24 26
 
25 27
 	// make fake "en" info
@@ -38,6 +40,17 @@ func NewLanguageManager(languageData map[string]LangData) *LanguageManager {
38 40
 	return &lm
39 41
 }
40 42
 
43
+// Default returns the default languages.
44
+func (lm *LanguageManager) Default() []string {
45
+	lm.RLock()
46
+	defer lm.RUnlock()
47
+
48
+	if lm.defaultLang == "" {
49
+		return []string{}
50
+	}
51
+	return []string{lm.defaultLang}
52
+}
53
+
41 54
 // Count returns how many languages we have.
42 55
 func (lm *LanguageManager) Count() int {
43 56
 	lm.RLock()

+ 1
- 1
irc/server.go Dosyayı Görüntüle

@@ -150,7 +150,7 @@ func NewServer(config *Config, logger *logger.Manager) (*Server, error) {
150 150
 		commands:            make(chan Command),
151 151
 		connectionLimiter:   connection_limits.NewLimiter(),
152 152
 		connectionThrottler: connection_limits.NewThrottler(),
153
-		languages:           NewLanguageManager(config.Languages.Data),
153
+		languages:           NewLanguageManager(config.Languages.Default, config.Languages.Data),
154 154
 		listeners:           make(map[string]*ListenerWrapper),
155 155
 		logger:              logger,
156 156
 		monitorManager:      NewMonitorManager(),

Loading…
İptal
Kaydet