Skip to content

Commit db315c3

Browse files
Merge pull request #77 from taozhou-glean/tao-add-get-language
feat: Add language getter for Locale
2 parents 4829902 + 5b7d0bd commit db315c3

File tree

2 files changed

+38
-0
lines changed

2 files changed

+38
-0
lines changed

locale.go

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -192,6 +192,14 @@ func (l *Locale) SetDomain(dom string) {
192192
l.Unlock()
193193
}
194194

195+
// GetLanguage is the lang getter for Locale configuration
196+
func (l *Locale) GetLanguage() string {
197+
l.RLock()
198+
lang := l.lang
199+
l.RUnlock()
200+
return lang
201+
}
202+
195203
// Get uses a domain "default" to return the corresponding Translation of a given string.
196204
// Supports optional parameters (vars... interface{}) to be inserted on the formatted string using the fmt.Printf syntax.
197205
func (l *Locale) Get(str string, vars ...interface{}) string {

locale_test.go

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -226,6 +226,12 @@ msgstr "More Translation"
226226
// Create Locale with full language code
227227
l := NewLocale("/tmp", "en_US")
228228

229+
// Test language
230+
language := l.GetLanguage()
231+
if language != "en_US" {
232+
t.Errorf("Expected 'en_US' but got '%s'", language)
233+
}
234+
229235
// Force nil domain storage
230236
l.Domains = nil
231237

@@ -293,6 +299,12 @@ msgstr "More Translation"
293299
// Create Locale with full language code
294300
l = NewLocale("/tmp", "golem")
295301

302+
// Test language
303+
language = l.GetLanguage()
304+
if language != "golem" {
305+
t.Errorf("Expected 'golem' but got '%s'", language)
306+
}
307+
296308
// Force nil domain storage
297309
l.Domains = nil
298310

@@ -323,6 +335,12 @@ msgstr "More Translation"
323335
// Create Locale with full language code
324336
l = NewLocale("fixtures/", "fr_FR")
325337

338+
// Test language
339+
language = l.GetLanguage()
340+
if language != "fr_FR" {
341+
t.Errorf("Expected 'fr_FR' but got '%s'", language)
342+
}
343+
326344
// Force nil domain storage
327345
l.Domains = nil
328346

@@ -353,6 +371,12 @@ msgstr "More Translation"
353371
// Create Locale with full language code
354372
l = NewLocale("fixtures/", "de_DE")
355373

374+
// Test language
375+
language = l.GetLanguage()
376+
if language != "de_DE" {
377+
t.Errorf("Expected 'de_DE' but got '%s'", language)
378+
}
379+
356380
// Force nil domain storage
357381
l.Domains = nil
358382

@@ -383,6 +407,12 @@ msgstr "More Translation"
383407
// Create Locale with full language code
384408
l = NewLocale("fixtures/", "de_AT")
385409

410+
// Test language
411+
language = l.GetLanguage()
412+
if language != "de_AT" {
413+
t.Errorf("Expected 'de_AT' but got '%s'", language)
414+
}
415+
386416
// Force nil domain storage
387417
l.Domains = nil
388418

0 commit comments

Comments
 (0)