You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
32 lines
773 B
32 lines
773 B
package utils
|
|
|
|
import (
|
|
"pure/global"
|
|
"pure/model"
|
|
"time"
|
|
)
|
|
|
|
func InterTranslate(original, form, to string) string {
|
|
data := global.MG_Language.(map[string]model.Internationalization)
|
|
if data[original].En != "" {
|
|
return data[original].En
|
|
}
|
|
go func() {
|
|
var (
|
|
data model.Internationalization
|
|
)
|
|
ok, err := global.MG_REDIS.SetNX("internationalization-"+original, "used", 10*time.Second).Result()
|
|
if ok && err == nil {
|
|
global.MG_DB.Model(&model.Internationalization{}).Where("ch=?", original).Find(&data)
|
|
if data.ID == 0 {
|
|
data.Ch = original
|
|
global.MG_DB.Create(&data)
|
|
} else {
|
|
newData := global.MG_Language.(map[string]model.Internationalization)
|
|
newData[original] = data
|
|
global.MG_Language = newData
|
|
}
|
|
}
|
|
}()
|
|
return ""
|
|
}
|
|
|