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  }