github.com/PDOK/gokoala@v0.50.6/internal/engine/i18n.go (about)

     1  package engine
     2  
     3  import (
     4  	"github.com/BurntSushi/toml"
     5  	"github.com/PDOK/gokoala/config"
     6  	"github.com/nicksnyder/go-i18n/v2/i18n"
     7  	"golang.org/x/text/language"
     8  )
     9  
    10  func newLocalizers(availableLanguages []config.Language) map[language.Tag]i18n.Localizer {
    11  	localizers := make(map[language.Tag]i18n.Localizer)
    12  	// add localizer for each available language
    13  	for _, lang := range availableLanguages {
    14  		bundle := i18n.NewBundle(lang.Tag)
    15  		bundle.RegisterUnmarshalFunc("toml", toml.Unmarshal)
    16  		bundle.MustLoadMessageFile("assets/i18n/active." + lang.String() + ".toml")
    17  		localizers[lang.Tag] = *i18n.NewLocalizer(bundle, lang.String())
    18  	}
    19  	return localizers
    20  }