decred.org/dcrdex@v1.0.5/client/webserver/locales/locales.go (about) 1 package locales 2 3 import ( 4 "fmt" 5 6 "decred.org/dcrdex/client/intl" 7 "golang.org/x/text/language" 8 ) 9 10 var ( 11 Locales map[string]map[string]*intl.Translation 12 ) 13 14 // RegisterTranslations registers translations with the init package for 15 // translator worksheet preparation. 16 func RegisterTranslations() { 17 const callerID = "html" 18 for lang, ts := range Locales { 19 r := intl.NewRegistrar(callerID, lang, len(ts)) 20 for translationID, t := range ts { 21 r.Register(translationID, t) 22 } 23 } 24 } 25 26 func init() { 27 Locales = map[string]map[string]*intl.Translation{ 28 "en-US": EnUS, 29 "pt-BR": PtBr, 30 "zh-CN": ZhCN, 31 "pl-PL": PlPL, 32 "de-DE": DeDE, 33 "ar": Ar, 34 } 35 36 for localeName := range Locales { 37 _, err := language.Parse(localeName) 38 if err != nil { 39 panic(fmt.Sprintf("failed to parse locale name %v: %v", localeName, err)) 40 } 41 } 42 }