// 设置语言 func SetLang() { // 设定语言类型 langs := "en-US|zh-CN|ja-JP|zh-TW|ko-KR" // 对语言进行循环 for _, lang := range strings.Split(langs, "|") { // 去除首尾空格 lang = strings.TrimSpace(lang) // 设置文件路径 files := []string{"conf/locale_" + lang + ".ini"} if fh, err := os.Open(files[0]); err == nil { // 打开正确则关闭 fh.Close() } else { // 打开失败则报错 files = nil beego.Error(err.Error()) } if err := i18n.SetMessage(lang, "conf/locale_"+lang+".ini", files...); err != nil { // 载入语言文件失败则报错并退出 beego.Error("Fail to set message file: " + err.Error()) os.Exit(2) } } // 列出所有语言文件 Langs = i18n.ListLangs() }
func settingLocales() { // load locales with locale_LANG.ini files langs := "en-US|zh-CN" for _, lang := range strings.Split(langs, "|") { lang = strings.TrimSpace(lang) files := []string{"conf/" + "locale_" + lang + ".ini"} if fh, err := os.Open(files[0]); err == nil { fh.Close() } else { files = nil } if err := i18n.SetMessage(lang, "conf/global/"+"locale_"+lang+".ini", files...); err != nil { beego.Error("Fail to set message file: " + err.Error()) os.Exit(2) } } Langs = i18n.ListLangs() }
func settingLocales() { // autoload locales with locale_LANG.ini files dirs, _ := ioutil.ReadDir("conf") for _, info := range dirs { if !info.IsDir() { name := info.Name() if filepath.HasPrefix(name, "locale_") { if filepath.Ext(name) == ".ini" { lang := name[7 : len(name)-4] if len(lang) > 0 { if err := i18n.SetMessage(lang, "conf/"+name); err != nil { panic("Fail to set message file: " + err.Error()) } continue } } beego.Error("locale ", name, " not loaded") } } } Langs = i18n.ListLangs() }