locale_utility.go
522 Bytes
package webutility
import (
"encoding/json"
"io/ioutil"
)
var locales = map[string]map[string]string{}
func LoadLocale(loc, filePath string) error {
file, err := ioutil.ReadFile(filePath)
if err != nil {
return err
}
var data interface{}
err = json.Unmarshal(file, &data)
if err != nil {
return err
}
l := map[string]string{}
for k, v := range data.(map[string]interface{}) {
l[k] = v.(string)
}
locales[loc] = l
return nil
}
func Translate(loc, key string) string {
return locales[loc][key]
}