code: func (c *Ctx) AcceptedLanguages(lowercase bool) []string {
  
  	var accepted string
  
  	if accepted = c.request.Header.Get(AcceptedLanguage); accepted == blank {
  		return []string{}
  	}
  
  	options := strings.Split(accepted, ",")
  	l := len(options)
  
  	language := make([]string, l)
  
  	if lowercase {
  
  		for i := 0; i < l; i++ {
  			locale := strings.SplitN(options[i], ";", 2)
  			language[i] = strings.ToLower(strings.Trim(locale[0], " "))
  		}
  	} else {
  
  		for i := 0; i < l; i++ {
  			locale := strings.SplitN(options[i], ";", 2)
  			language[i] = strings.Trim(locale[0], " ")
  		}
  	}
  
  	return language
  }
docs: // AcceptedLanguages returns an array of accepted languages denoted by
  // the Accept-Language header sent by the browser
  // NOTE: some stupid browsers send in locales lowercase when all the rest send it properly