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  }