67 lines
1.5 KiB
Go
67 lines
1.5 KiB
Go
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 ""
|
|
}
|
|
}
|