@@ -62,18 +62,10 @@ func T(s string) string {
62
62
func DetermineLocale () {
63
63
locale , err := jibber_jabber .DetectIETF ()
64
64
if err != nil {
65
- klog .Infof ("Getting system locale failed: %v" , err )
65
+ klog .V ( 1 ). Infof ("Getting system locale failed: %v" , err )
66
66
locale = ""
67
67
}
68
- err = SetPreferredLanguage (locale )
69
- if err != nil {
70
- klog .Infof ("Setting locale failed: %v" , err )
71
- preferredLanguage = defaultLanguage
72
- }
73
-
74
- if preferredLanguage == defaultLanguage {
75
- return
76
- }
68
+ SetPreferredLanguage (locale )
77
69
78
70
// Load translations for preferred language into memory.
79
71
p := preferredLanguage .String ()
@@ -86,18 +78,18 @@ func DetermineLocale() {
86
78
translationFile := path .Join ("translations" , fmt .Sprintf ("%s.json" , p ))
87
79
t , err = Asset (translationFile )
88
80
if err != nil {
89
- klog .Infof ("Failed to load translation file for %s: %v" , p , err )
81
+ klog .V ( 1 ). Infof ("Failed to load translation file for %s: %v" , p , err )
90
82
return
91
83
}
92
84
} else {
93
- klog .Infof ("Failed to load translation file for %s: %v" , preferredLanguage .String (), err )
85
+ klog .V ( 1 ). Infof ("Failed to load translation file for %s: %v" , preferredLanguage .String (), err )
94
86
return
95
87
}
96
88
}
97
89
98
90
err = json .Unmarshal (t , & Translations )
99
91
if err != nil {
100
- klog .Infof ("Failed to populate translation map: %v" , err )
92
+ klog .V ( 1 ). Infof ("Failed to populate translation map: %v" , err )
101
93
}
102
94
103
95
}
@@ -110,21 +102,22 @@ func setPreferredLanguageTag(l language.Tag) {
110
102
}
111
103
112
104
// SetPreferredLanguage configures which language future messages should use, based on a LANG string.
113
- func SetPreferredLanguage (s string ) error {
105
+ func SetPreferredLanguage (s string ) {
114
106
// "C" is commonly used to denote a neutral POSIX locale. See http://pubs.opengroup.org/onlinepubs/009695399/basedefs/xbd_chap07.html#tag_07_02
115
107
if s == "" || s == "C" {
116
108
setPreferredLanguageTag (defaultLanguage )
117
- return nil
109
+ return
118
110
}
119
111
// Handles "de_DE" or "de_DE.utf8"
120
112
// We don't process encodings, since Rob Pike invented utf8 and we're mostly stuck with it.
113
+ // Fallback to the default language if not detected
121
114
parts := strings .Split (s , "." )
122
115
l , err := language .Parse (parts [0 ])
123
116
if err != nil {
124
- return err
117
+ setPreferredLanguageTag (defaultLanguage )
118
+ return
125
119
}
126
120
setPreferredLanguageTag (l )
127
- return nil
128
121
}
129
122
130
123
// GetPreferredLanguage returns the preferred language tag.
0 commit comments