Skip to content

Commit 6d1754d

Browse files
Merge pull request #9715 from avoidik/fix-translation-code
less verbose language selector
2 parents e59847d + 1b63265 commit 6d1754d

File tree

3 files changed

+14
-26
lines changed

3 files changed

+14
-26
lines changed

pkg/minikube/out/out_test.go

+2-3
Original file line numberDiff line numberDiff line change
@@ -29,9 +29,8 @@ import (
2929

3030
func TestOutT(t *testing.T) {
3131
// Set the system locale to Arabic and define a dummy translation file.
32-
if err := translate.SetPreferredLanguage("ar"); err != nil {
33-
t.Fatalf("SetPreferredLanguage: %v", err)
34-
}
32+
translate.SetPreferredLanguage("ar")
33+
3534
translate.Translations = map[string]interface{}{
3635
"Installing Kubernetes version {{.version}} ...": "... {{.version}} تثبيت Kubernetes الإصدار",
3736
}

pkg/minikube/translate/translate.go

+10-17
Original file line numberDiff line numberDiff line change
@@ -62,18 +62,10 @@ func T(s string) string {
6262
func DetermineLocale() {
6363
locale, err := jibber_jabber.DetectIETF()
6464
if err != nil {
65-
klog.Infof("Getting system locale failed: %v", err)
65+
klog.V(1).Infof("Getting system locale failed: %v", err)
6666
locale = ""
6767
}
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)
7769

7870
// Load translations for preferred language into memory.
7971
p := preferredLanguage.String()
@@ -86,18 +78,18 @@ func DetermineLocale() {
8678
translationFile := path.Join("translations", fmt.Sprintf("%s.json", p))
8779
t, err = Asset(translationFile)
8880
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)
9082
return
9183
}
9284
} 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)
9486
return
9587
}
9688
}
9789

9890
err = json.Unmarshal(t, &Translations)
9991
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)
10193
}
10294

10395
}
@@ -110,21 +102,22 @@ func setPreferredLanguageTag(l language.Tag) {
110102
}
111103

112104
// SetPreferredLanguage configures which language future messages should use, based on a LANG string.
113-
func SetPreferredLanguage(s string) error {
105+
func SetPreferredLanguage(s string) {
114106
// "C" is commonly used to denote a neutral POSIX locale. See http://pubs.opengroup.org/onlinepubs/009695399/basedefs/xbd_chap07.html#tag_07_02
115107
if s == "" || s == "C" {
116108
setPreferredLanguageTag(defaultLanguage)
117-
return nil
109+
return
118110
}
119111
// Handles "de_DE" or "de_DE.utf8"
120112
// 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
121114
parts := strings.Split(s, ".")
122115
l, err := language.Parse(parts[0])
123116
if err != nil {
124-
return err
117+
setPreferredLanguageTag(defaultLanguage)
118+
return
125119
}
126120
setPreferredLanguageTag(l)
127-
return nil
128121
}
129122

130123
// GetPreferredLanguage returns the preferred language tag.

pkg/minikube/translate/translate_test.go

+2-6
Original file line numberDiff line numberDiff line change
@@ -31,16 +31,12 @@ func TestSetPreferredLanguage(t *testing.T) {
3131
{"C", language.AmericanEnglish},
3232
{"zh", language.Chinese},
3333
{"fr_FR.utf8", language.French},
34+
{"zzyy.utf8", language.AmericanEnglish},
3435
}
3536
for _, tc := range tests {
3637
t.Run(tc.input, func(t *testing.T) {
3738
// Set something so that we can assert change.
38-
if err := SetPreferredLanguage("is"); err != nil {
39-
t.Errorf("unexpected error: %q", err)
40-
}
41-
if err := SetPreferredLanguage(tc.input); err != nil {
42-
t.Errorf("unexpected error: %q", err)
43-
}
39+
SetPreferredLanguage(tc.input)
4440

4541
want, _ := tc.want.Base()
4642
got, _ := GetPreferredLanguage().Base()

0 commit comments

Comments
 (0)