code_process.go 1.64 KB
Newer Older
wangp's avatar
wangp committed
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85
package base

import (
	"github.com/gin-gonic/gin"
	"github.com/gogf/gf/i18n/gi18n"
	"strconv"
)

/*
	国际化处理
*/

var (
	t *gi18n.Manager
)

// InternationalizedMsg 国际化msg
func InternationalizedMsg(ctx *gin.Context, code int) string {

	t = gi18n.New()

	languageType := ctx.Request.Header.Get("language")

	// 设置默认语言类型
	if languageType == "" {
		languageType = "zh-CN"
	}
	// 设置语言类型
	t.SetLanguage(languageType)
	// 传入错误码
	stringCode := strconv.Itoa(code)
	// 拿到对应国家的错误信息
	translateMsg := t.Translate(ctx, stringCode)

	return translateMsg
}

// InternationalizedMsgByLanguageType 国际化msg
func InternationalizedMsgByLanguageType(languageType string, code int) string {

	t = gi18n.New()

	// 设置默认语言类型
	if languageType == "" {
		languageType = "zh-CN"
	}
	// 设置语言类型
	t.SetLanguage(languageType)
	// 传入错误码
	stringCode := strconv.Itoa(code)
	// 拿到对应国家的错误信息
	translateMsg := t.Translate(nil, stringCode)

	return translateMsg
}

func GetLanguageType(c *gin.Context) string {
	languageType := c.Request.Header.Get("language")

	if languageType == "" {
		languageType = "zh-CN"
	}
	return languageType
}

// BuriedPointMsg 国际化msg
func BuriedPointMsg(code int) string {

	t = gi18n.New()

	//languageType := ctx.Request.Header.Get("language")

	// 设置默认语言类型
	//if languageType == "" {
	languageType := "bp"
	//}
	// 设置语言类型
	t.SetLanguage(languageType)
	// 传入错误码
	stringCode := strconv.Itoa(code)
	// 拿到对应国家的错误信息
	translateMsg := t.Translate(nil, stringCode)

	return translateMsg
}