Ejemplo n.º 1
0
// 设置语言
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()
}
Ejemplo n.º 2
0
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()
}
Ejemplo n.º 3
0
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()
}