gitee.com/chunanyong/dm@v1.8.12/i18n/zj.go (about) 1 /* 2 * Copyright (c) 2000-2018, 达梦数据库有限公司. 3 * All rights reserved. 4 */ 5 6 package i18n 7 8 import ( 9 "encoding/json" 10 "golang.org/x/text/language" 11 "golang.org/x/text/message" 12 ) 13 14 type msg struct { 15 Id string `json:"id"` 16 Translation string `json:"translation,omitempty"` 17 } 18 19 type i18n struct { 20 Language string `json:"language"` 21 Messages []msg `json:"messages"` 22 } 23 24 func InitConfig(jsonStr string) { 25 26 var i18n i18n 27 json.Unmarshal([]byte(jsonStr), &i18n) 28 msaArry := i18n.Messages 29 tag := language.MustParse(i18n.Language) 30 for _, e := range msaArry { 31 message.SetString(tag, e.Id, e.Translation) 32 } 33 } 34 35 func Get(key string, locale int) string { 36 var p *message.Printer 37 38 switch locale { 39 case 0: 40 p = message.NewPrinter(language.SimplifiedChinese) 41 case 1: 42 p = message.NewPrinter(language.AmericanEnglish) 43 case 2: 44 p = message.NewPrinter(language.TraditionalChinese) 45 } 46 47 return p.Sprintf(key) 48 }