code: func NewLanguage(lang string, cfg config.Provider) *Language {
  	// Note that language specific params will be overridden later.
  	// We should improve that, but we need to make a copy:
  	params := make(map[string]interface{})
  	for k, v := range cfg.GetStringMap("params") {
  		params[k] = v
  	}
  	maps.ToLower(params)
  
  	defaultContentDir := cfg.GetString("contentDir")
  	if defaultContentDir == "" {
  		panic("contentDir not set")
  	}
  
  	l := &Language{Lang: lang, ContentDir: defaultContentDir, Cfg: cfg, params: params, settings: make(map[string]interface{})}
  	return l
  }
docs: // NewLanguage creates a new language.