package main import ( reflect "reflect" ) type dict struct { hostname string languageEn string searchStr string newSentence string mentions string newMention string thanksForMention string backToPage string } var EN = dict{ hostname: "en.arns.lt", languageEn: "English", searchStr: "Input searching tag, created date or word in description", newSentence: "New sentence", mentions: "Mentions", newMention: "New gemini mention", thanksForMention: "Thanks for the mention", backToPage: "Back to page", } var SGS = dict{ hostname: "en.arns.lt", languageEn: "Samogitian", searchStr: "Ivesk ėiškuoma žīma, sokūrėma data arba žuodi ėš aprašīma", newSentence: "Naujė ėšmintės", mentions: "Pamėnavuojėmā", newMention: "Naus gemini mėnavuojėms", thanksForMention: "Diekou ož pamėnavuojėma", backToPage: "Atgal i poslapi", } func Dict() dict { dictMap := map[string]dict{ "en": EN, "sgs": SGS, } return dictMap[defaultLang] } func T(key string) string { dict := map[string]string{} d := Dict() r := reflect.ValueOf(&d).Elem() rt := r.Type() for i := 0; i < rt.NumField(); i++ { field := rt.Field(i) rv := reflect.ValueOf(&d) value := reflect.Indirect(rv).FieldByName(field.Name) dict[field.Name] = value.String() } if value, ok := dict[key]; ok { return value } else { return "" } }