| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748 |
- /*
- * Copyright (c) 2000-2018, 达梦数据库有限公司.
- * All rights reserved.
- */
- package i18n
- import (
- "encoding/json"
- "golang.org/x/text/language"
- "golang.org/x/text/message"
- )
- type msg struct {
- Id string `json:"id"`
- Translation string `json:"translation,omitempty"`
- }
- type i18n struct {
- Language string `json:"language"`
- Messages []msg `json:"messages"`
- }
- func InitConfig(jsonStr string) {
- var i18n i18n
- json.Unmarshal([]byte(jsonStr), &i18n)
- msaArry := i18n.Messages
- tag := language.MustParse(i18n.Language)
- for _, e := range msaArry {
- message.SetString(tag, e.Id, e.Translation)
- }
- }
- func Get(key string, locale int) string {
- var p *message.Printer
- switch locale {
- case 0:
- p = message.NewPrinter(language.SimplifiedChinese)
- case 1:
- p = message.NewPrinter(language.AmericanEnglish)
- case 2:
- p = message.NewPrinter(language.TraditionalChinese)
- }
- return p.Sprintf(key)
- }
|