From d6997741798406a3228afac37ef2bd1b9eca5c01 Mon Sep 17 00:00:00 2001 From: Yang Luo Date: Tue, 2 May 2023 01:30:32 +0800 Subject: [PATCH] Improve i18n.Translate() --- i18n/util.go | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/i18n/util.go b/i18n/util.go index 4e738232..3ecc60c1 100644 --- a/i18n/util.go +++ b/i18n/util.go @@ -74,13 +74,12 @@ func applyData(data1 *I18nData, data2 *I18nData) { } func Translate(lang string, error string) string { - parts := strings.SplitN(error, ":", 2) - if !strings.Contains(error, ":") || len(parts) != 2 { + tokens := strings.SplitN(error, ":", 2) + if !strings.Contains(error, ":") || len(tokens) != 2 { return "Translate Error: " + error } - if langMap[lang] != nil { - return langMap[lang][parts[0]][parts[1]] - } else { + + if langMap[lang] == nil { file, _ := f.ReadFile("locales/" + lang + "/data.json") data := I18nData{} err := util.JsonToStruct(string(file), &data) @@ -88,6 +87,11 @@ func Translate(lang string, error string) string { panic(err) } langMap[lang] = data - return langMap[lang][parts[0]][parts[1]] } + + res := langMap[lang][tokens[0]][tokens[1]] + if res == "" { + res = tokens[1] + } + return res }