github.com/cloudfoundry/cli@v7.1.0+incompatible/util/configv3/locale.go (about)

     1  package configv3
     2  
     3  import "strings"
     4  
     5  const (
     6  	// DefaultLocale is the default CFConfig value for Locale.
     7  	DefaultLocale = ""
     8  )
     9  
    10  // Locale returns the locale/language the UI should be displayed in. This value
    11  // is based off of:
    12  //   1. The 'Locale' setting in the .cf/config.json
    13  //   2. The $LC_ALL environment variable if set
    14  //   3. The $LANG environment variable if set
    15  //   4. Defaults to DefaultLocale
    16  func (config *Config) Locale() string {
    17  	if config.ConfigFile.Locale != "" {
    18  		return config.ConfigFile.Locale
    19  	}
    20  
    21  	if config.ENV.LCAll != "" {
    22  		return config.convertLocale(config.ENV.LCAll)
    23  	}
    24  
    25  	if config.ENV.Lang != "" {
    26  		return config.convertLocale(config.ENV.Lang)
    27  	}
    28  
    29  	return DefaultLocale
    30  }
    31  
    32  func (config *Config) convertLocale(local string) string {
    33  	lang := strings.Split(local, ".")[0]
    34  	return strings.Replace(lang, "_", "-", -1)
    35  }